2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

モナーの *やさしい* Delphi質問スレ Ver.10

1 :Delモナー:02/12/03 10:56
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
 (    ) .| Delモナーは時に私であり、時には別の人。
 | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
 (__)_)  \_________________________

前スレ モナーの *やさしい* Delphi質問スレ Ver.9
http://pc3.2ch.net/test/read.cgi/tech/1033668645/


2 :Delモナー:02/12/03 10:56
■過去スレ

モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/test/read.cgi/tech/1027873869/

モナーの *やさしい* Delphi質問スレ Ver.7
http://pc.2ch.net/tech/kako/1021/10212/1021262086.html

モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/tech/kako/1019/10191/1019134412.html

モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/tech/kako/1017/10178/1017803412.html

モナーの *やさしい* Delphi質問スレ Ver4
http://pc.2ch.net/tech/kako/1016/10164/1016467137.html

モナーの *やさしい* Delphi質問スレ Ver3
http://pc.2ch.net/tech/kako/1014/10144/1014474727.html

モナーの *やさしい* Delphi質問スレ Ver2
http://pc.2ch.net/tech/kako/1011/10116/1011649179.html

モナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/tech/kako/1003/10031/1003113413.html

3 :デフォルトの名無しさん:02/12/03 10:59
モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/test/read.cgi/tech/1027873869/

モナーの *やさしい* Delphi質問スレ Ver.7
http://pc.2ch.net/tech/kako/1021/10212/1021262086.html

モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/tech/kako/1019/10191/1019134412.html

モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/tech/kako/1017/10178/1017803412.html

モナーの *やさしい* Delphi質問スレ Ver4
http://pc.2ch.net/tech/kako/1016/10164/1016467137.html

モナーの *やさしい* Delphi質問スレ Ver3
http://pc.2ch.net/tech/kako/1014/10144/1014474727.html

モナーの *やさしい* Delphi質問スレ Ver2
http://pc.2ch.net/tech/kako/1011/10116/1011649179.html

モナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/tech/kako/1003/10031/1003113413.html

4 :デフォルトの名無しさん:02/12/03 11:05
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 < `∀´`><。
 (    )        Dolpheiはウリ発祥ニダー
 | | |  |
 (__)_)  \_________________________

5 :デフォルトの名無しさん:02/12/03 11:05
2 と 3、二重カキコですか?

6 :デフォルトの名無しさん:02/12/03 11:14
>1
( ´∀`)乙!

7 :デフォルトの名無しさん:02/12/03 11:50
このスレは冗談で作られた偽スレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1037146781/l50
Delphi相談室その8

8 :デフォルトの名無しさん:02/12/03 11:50
このスレは冗談で作られた偽スレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1037146781/l50
Delphi相談室その8

9 :デフォルトの名無しさん:02/12/03 11:53
モナーの *やさしい* Delphi質問スレが一番
( ´∀`)マターリしてて好き!

10 :デフォルトの名無しさん:02/12/03 14:39
( ´∀`)age!

11 :協力:02/12/03 14:40
■過去スレ

モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/test/read.cgi/tech/1027873869/

モナーの *やさしい* Delphi質問スレ Ver.7
http://pc.2ch.net/tech/kako/1021/10212/1021262086.html

モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/tech/kako/1019/10191/1019134412.html

モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/tech/kako/1017/10178/1017803412.html

モナーの *やさしい* Delphi質問スレ Ver4
http://pc.2ch.net/tech/kako/1016/10164/1016467137.html

モナーの *やさしい* Delphi質問スレ Ver3
http://pc.2ch.net/tech/kako/1014/10144/1014474727.html

モナーの *やさしい* Delphi質問スレ Ver2
http://pc.2ch.net/tech/kako/1011/10116/1011649179.html

モナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/tech/kako/1003/10031/1003113413.html


12 :デフォルトの名無しさん:02/12/03 14:41
このスレは冗談で作られた偽スレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1037146781/l50
Delphi相談室その8

13 :デフォルトの名無しさん:02/12/03 14:45
仲間内でも荒れるんだ... 悲しい奴らだなぁ

14 :1へ捧ぐ:02/12/03 14:46
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%E2%A5%CA%A1%BC%A4%CE%2A%A4%E4%A4%B5%A4%B7%A4%A4%2ADelphi%BC%C1%CC%E4%A5%B9%A5%EC%5D%5D

15 :デフォルトの名無しさん:02/12/03 16:22
よっぽど嫌な事があったんだろうな。

16 :148です:02/12/03 16:46
まあねぇ.


17 :デフォルトの名無しさん:02/12/03 17:12
>「148です」
荒らすなら、徹底的にやれよ。DelWiki 消しまくるとかさ。

18 :デフォルトの名無しさん:02/12/03 17:24
ごめんなさい
>>17 4ばんめのDolpheiはラテン語でしょうか

19 :デフォルトの名無しさん:02/12/03 17:28
質問なんですが、Delphiって何て読めば委員でしょうか?

20 :デフォルトの名無しさん:02/12/03 17:36
http://www.borland.co.jp/news/delphi7j.html
「Borland(R) DelphiTM 7 Studio(ボーランド・デルファイ・7・スタジオ)」


21 :19:02/12/03 17:49
>>20
ありがとうございます。すっきりしました。

22 :デフォルトの名無しさん:02/12/03 18:27
ネイティブはきっとダルフィって発音するんだよ。

23 :デフォルトの名無しさん:02/12/03 18:31
このスレは冗談で作られた偽スレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1037146781/l50
Delphi相談室その8

24 :デフォルトの名無しさん:02/12/03 18:34
tech:プログラム技術[スレッド削除]
に依頼でていませんが、何か間違えているんじゃないですか?

25 :デフォルトの名無しさん:02/12/03 19:02
ビット演算で四則演算をするときはどうすれば良いのでしょうか?
シフトで2のn乗の割り算掛け算は分かるのですがソレしかやり方がわかりません。
足し算、引き算、2以外による掛け算割り算の法方を教えていただけないですか。

26 :デフォルトの名無しさん:02/12/03 19:17
このスレは冗談で作られた偽スレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1037146781/l50
Delphi相談室その8

27 :デフォルトの名無しさん:02/12/03 19:26
「ビット演算で足し算、引き算」
ってところで何か間違えているような...


28 :デフォルトの名無しさん:02/12/03 19:27
削除依頼は出されていませんし、削除人も内容をチェックされているので
くだらん嵐は無視していきましょう。

29 :デフォルトの名無しさん:02/12/03 19:32
>>27
半加算器とか全加算器とかしらない?

30 :26:02/12/03 19:34
はい、何か間違えているっぽいです。
足し算、引き算はできないんですね。
じゃあ2以外による掛け算割り算も不可能ということでよろしいですか?

31 :デフォルトの名無しさん:02/12/03 19:34
ものすごくよく知っているけど(TTL で組んでいた世代だし)
ここは Delphi スレだよ。


32 :デフォルトの名無しさん:02/12/03 19:36
>>31
>ここは Delphi スレだよ。
でも↑が「できない」理由にはならないと思われ。


33 :デフォルトの名無しさん:02/12/03 19:36
var Ashitanotenki: TKisyoutyou;

Ahitanotenki := Rando(TKisyoutyou);

このようなプログラムを作りましたが、周りの人から
百叩きにあいます。なぜなんでしょう。


34 :デフォルトの名無しさん:02/12/03 19:36
Delphi で、ってこと?
それとも
一般的なアルゴリズムを知りたいの?

も少し自分の手持ちの知識をだしてくれな。

なんか、これも嵐っぽいな。

35 :デフォルトの名無しさん:02/12/03 19:36
>>25 Delphiとなんの関係が?
ttp://www.asp.sie.dendai.ac.jp/ed/ea-k-1.html

36 :デフォルトの名無しさん:02/12/03 19:37
>>32
できるできないのはなしと、
「彼」が何を知りたいのかは別の話でしょ?

いちおー話の内容はスレタイトルにあわせませんか?

37 :デフォルトの名無しさん:02/12/03 19:38
>>35
やっぱり関係ないじゃない。

38 :デフォルトの名無しさん:02/12/03 19:38
>>33
ネタならせめてスペルぐらい確認しようね。

39 :デフォルトの名無しさん:02/12/03 19:39
>>33
周りの人に理由を尋ねたらどうでしょうか
私は「周りの人」ではないので百叩きの理由はわかりません。

40 :26:02/12/03 19:41
DELPHIを使っているのでココに書き込んでしまいましたが。
確かに質問の内容とDELPHIに関係は無いですな。
スマソ。

41 :デフォルトの名無しさん:02/12/03 19:42
>>40
君が何を知りたいのか非常に興味がある。

42 :デフォルトの名無しさん:02/12/03 19:43
ハードウェアで構築する話だと、どこだろう。
すくなくとも「プログラマ」板ではないな。

アセンブラで何かをしたい。という話なら
http://pc3.2ch.net/test/read.cgi/tech/1016991911/l50
が引き取ってくれるかな?

アセンブラの話をしたいなら、「ビットで和をとるにはどうすれば」なんて質問は
しないように、予習をしてから聞くと良い。

43 :26:02/12/03 19:49
>>34
DELPHIでってことです。
ビット演算の方が処理が速いいと聞いたもので気になったのですが、
実際速度面でメリットはありますか?

44 :デフォルトの名無しさん:02/12/03 19:52
>>43
コンパイラに任せておくのが吉。

45 :デフォルトの名無しさん:02/12/03 19:54
そうやって最初から説明してくれれば遠回りしないですむのに..

「ビット演算の方が処理が速い」処理もある。ってだけ。Delphi に限らず。

足し算引き算は、正数の場合それ自体がビット演算だから基本的にそれ以外の演算方法は無い。

掛け算は、2の累乗の場合にはビットシフトで表現できるからそちらを使うと早く処理できるケースがある。
割り算を掛け算の逆演算と見ると、2の負数の累乗を考えることで特定の数の場合、ビットシフトで計算できる。
掛割算とも、特定の数値の時のみ有効であることを忘れないように。

以上、Delphi とは直接関係ないことなので、もっとよく知りたければ CPU の説明書を
熟読してください。ある程度の自習はよろしく。



46 :デフォルトの名無しさん:02/12/03 19:55
>>26
何も言わずに、アセンブラのスレッドで聞いてみなさい。
その方が多くの知識がつく。

47 :33:02/12/03 19:58
>38,39
ごめんなさい。
「気象衛星ひまあり」のすれっどは
どこでしょうか。

48 :26じゃなくて25だったでござる:02/12/03 20:04
>>45
そういうことでしたか。自分の知りたかったことは大体分かりました。
ありがとう。

49 :デフォルトの名無しさん:02/12/03 20:04
つまんねーんだよ
http://pc3.2ch.net/test/read.cgi/tech/1007743159/165-167

50 :デフォルトの名無しさん:02/12/03 20:05
>>47
ここではないですね。

51 :デフォルトの名無しさん:02/12/03 20:06
さて。粘着ちゃんも一段落したかな?
せいぜいがんばってね。

52 :デフォルトの名無しさん:02/12/03 20:08
>>49
よくそんなの探してきたなw

53 :デフォルトの名無しさん:02/12/03 20:13
>26じゃなくて25だったでござる
よーするにジサクジエンってことね。

54 :デフォルトの名無しさん:02/12/03 20:15
var daigishi: TJimintou;

daigishi:= Random(TJimintou);

このようなプログラムを作りましたが、周りの人から
よろこばれます。なぜなんでしょう。


55 :デフォルトの名無しさん:02/12/03 20:16
つまんないよ > 54=26

56 :25:02/12/03 20:19
>>53
いや普通に間違えただけなんだが・・・まぁいいや。

57 :デフォルトの名無しさん:02/12/03 20:21
わざわざ名前欄を 25 にしてあげるか?

          ご く ろ う さ ん

58 :デフォルトの名無しさん:02/12/03 20:30
var ataribaken: TJra;

if ataribaken in TJra then
printf(おめでとう)
else
printf(たこ);


このようなプログラムを作りましたが、ちっとも
私はおもしろくありません。なぜなんでしょう。


59 :デフォルトの名無しさん:02/12/03 20:31
あなたが馬鹿だから。

60 :デフォルトの名無しさん:02/12/03 20:35
やはり
鹿肉&馬肉はおいしいですよね。

61 :デフォルトの名無しさん:02/12/03 20:41
がんばって続けてね。> 58 そのたさん。

62 :デフォルトの名無しさん:02/12/03 21:04
バイナリエディタのソースキボン

63 :デフォルトの名無しさん:02/12/03 21:11
APATCHに詳しいプログラマーの皆さん
http://corn.2ch.net/test/read.cgi/mass/1038676761/l50
にきて助けてはいただけませんか?
2ちゃんねらーと反2ちゃんねらーの決戦の時が来たのです。
皆様にぜひ知識を貸していただきたいのです

64 :デフォルトの名無しさん:02/12/03 21:12
>>63
>APATCHに詳しいプログラマーの皆さん
絶対にいないとだけ断言できる。

65 :デフォルトの名無しさん:02/12/03 21:15
repeat
私 := 宝くじを買う。
until 私 = 当たる;

このプログラムがいつまでも終わらないのです。
助けてください。

66 :63:02/12/03 21:15
Apacheでした!
ごめんなさい
手伝ってください!!

67 :デフォルトの名無しさん:02/12/03 21:16
>>66
まぁ、どっちにしろ死ね。

68 :デフォルトの名無しさん:02/12/03 21:20
>>63がご迷惑をおかけいたしました。
おわびいたします。

69 :デフォルトの名無しさん:02/12/03 21:25
for i := 1 to n do
私 := 先物取引;

私はn:=0とおもっているのにに世間はnの値は不定といっている
ざーます。これおかしくありません。

70 :デフォルトの名無しさん:02/12/03 21:35
あんたの頭の方がよっぽどおかしい

71 :デフォルトの名無しさん:02/12/03 22:51


 ネ タ は そ こ ま で


次の質問どうぞ。


72 :デフォルトの名無しさん:02/12/05 05:43
ネタってなんですか?

73 :デフォルトの名無しさん:02/12/05 10:27
canvas.widthに40000を入れるとエラーになるのですが、
35000だと大丈夫ってことは、その間に限界があるってことですか?
  もしそうだとしたら、その値より大きな値をいれること
 はどうしてもできないのですか?

74 :デフォルトの名無しさん:02/12/05 10:33
これがネタですか? CanvasにWidthなんてないよ。

75 :デフォルトの名無しさん:02/12/05 11:49
プログラム歴 今から始めようと思う
Delphiを始めようと思うんですけど、やっぱり書店などで
Delphiの本を買った方が覚えるの早いですかね?

76 :デフォルトの名無しさん:02/12/05 11:51
「Delphiを始めよう」ってところで先行きに不安を感じるが...

好きにできるコンピュータを持っているのなら、まず D6 Personal をインストールしちゃえば?
.NET でも何でもいいけど。


77 :デフォルトの名無しさん:02/12/05 11:56
もうインストール終わってちょっと触ってるところです。
別に本格的にアプリを作るんじゃなくて、趣味の範囲で出来るように
なればいいな、と思ったのでDelphiを選んだわけですが、、、ダメ?

78 :デフォルトの名無しさん:02/12/05 12:04
いいんじゃないの? >> 77
何が駄目かどうかは自分で決めることだし。


79 :デフォルトの名無しさん:02/12/05 12:08
良い本ねぇ...
お金があるなら、D6 Personal では無く Borland の製品を買って付属のマニュアルを
読む。ってのが最初かな。
あまり無いなら、図書館か古本屋で、バージョンは気にしなくてもよいから適当に解説書を
買って読む。

読み終わるころには、次に何を聞きたいか分かってくると思う。

80 :デフォルトの名無しさん:02/12/05 12:08
で、やっぱり参考書は買うべき?

81 :デフォルトの名無しさん:02/12/05 12:13
無くても出来る。情報は、恐らくほとんどWEBでも入手できる。
俺も自分に必要なツールを作るだけの趣味プログラマだが、本は一冊も持ってない。

が、DelphiはMSのVisualStudioに比べればドキュメントが弱い。

82 :デフォルトの名無しさん:02/12/05 12:14
手元にあったほうが、落ち着くんじゃない?
参考書はあくまでも参考にしかならないわけだし。

79 の提案でよいと思う。

83 :デフォルトの名無しさん:02/12/05 12:17
>>82
そうですか、では古本屋行って解説書探してきます。
もし、無かったときの場合に聞きたいんですけど
解説書の相場は3000円ぐらいかな?

84 :デフォルトの名無しさん:02/12/05 12:46
近頃は解説書買わないから分からないよ... >> 83
amazon とか bk1 で検索して見れ。

85 :デフォルトの名無しさん:02/12/05 13:40
>>「Delphiを始めよう」ってところで先行きに不安を感じるが...
もしかしてもうデルファイの寿命が近づいてきているということでしょうか?
ちと不安

86 :デフォルトの名無しさん:02/12/05 13:44
いや、「Windows 始めます」とか「Word 始めました」ってのと似た、ちょっと変な、
しかし初心者にありがちの表記が気になったもんで...

あなたが習得する間は大丈夫でしょうよ。

87 :デフォルトの名無しさん:02/12/05 15:01
>>85
どんな言語でも習得するのは無駄にはならないと思われ。
最初の1つはひぃひぃ言うだろうけど、
次のはずいぶんラクになるはずだ。
Delphiが廃れることはあるだろうけれど、手元にあるパッケージが
いきなり消滅するわけじゃないからね。

まぁ、勉強すること自体が苦痛だっていうんなら論外なわけだが。


88 :デフォルトの名無しさん:02/12/05 15:04
>まぁ、勉強すること自体が苦痛だっていうんなら論外なわけだが。
スレ違いw

89 :デフォルトの名無しさん:02/12/05 15:06
禿同!

> どんな言語でも

うんそうだね。Delphi は現状のウィンドウズ開発環境中でも特にすすめたい

90 :デフォルトの名無しさん:02/12/05 15:59
>>87
もうそっとしておいてあげなさいな。
誰だって、いやな勉強、嫌いな科目はあっただろ?

91 :デフォルトの名無しさん:02/12/05 16:40
Delphiで、外部アプリケーションを起動する方法を教えてください。
Acrobatを起動し、PDFを見れるようにプログラムに組み込みたいのですが。
お願いします。


92 :makoto♂:02/12/05 16:47
ホームページビルダー体験版を永久的に使う方法
ないですか?
あったらおしえてくださいましぇ
レジストリいじるんですか?
もしもレジストリのいじり方知ってる人もいればうれしいです。
レジストリって適当にいじっちゃうと
「ただの箱」
なっちゃうし

93 :makoto♂:02/12/05 16:48
ホームページビルダー体験版を永久的に使う方法
ないですか?
あったらおしえてくださいましぇ
レジストリいじるんですか?
もしもレジストリのいじり方知ってる人もいればうれしいです。
レジストリって適当にいじっちゃうと
「ただの箱」
なっちゃうし(爆笑


94 :makoto♂:02/12/05 16:50
ホームページビルダー体験版を永久的に使う方法
ないですか?
あったらおしえてくださいましぇ
レジストリいじるんですか?
もしもレジストリのいじり方知ってる人もいればうれしいです。
レジストリって適当にいじっちゃうと
「ただの箱」
なっちゃうし(大爆笑

95 :バグ作成マン:02/12/05 17:36
>>91
*.PDFファイルがAcrobat Readerに関連付けられていると仮定して、
usesで ShellAPIを宣言して

ShellExecute(Handle, 'open', 'c:\honyarara.pdf',
nil, 'c:\', SW_SHOW);

第一引数:フォームのハンドル
第二引数:'open'でファイルを開く。'print'なら印刷
第三引数:開くファイル名(PCharでくくる必要があるかも)
第四引数:実行ファイルのパラメータ(詳しくは忘れた)
第五引数:作業フォルダ名
第六引数:SW_SHOWでアプリケーションのウィンドウを標準の大きさで
実行。最小化とか最大化してアプリを起動する引数もあるけど、忘れた。
Delのエディタで候補が出て来るはずだから試してみて。

第三、第五パラメータは実際のファイル/フォルダ名を指定する必要がある。
Win32APIの仕様で、終端文字列にNullを付加する必要があるので、
本当ならば PChar('c:\honyarara.pdf') と書く必要があるかもしれない
(正確には忘れちまった)。特に決め打ちじゃなく変数にするならば必要。
第五パラメータはなくても動作するかもしれない。

わしも試してないところがあるので、一部不正確だがいろいろ試行錯誤
してみぃ。

あなたには以下の書籍を勧める。
秀和システム「Delphi3.1リファレンスガイド」小出俊夫 著
ISBN4-87966-785-4 C3055
ちとふるいが、現バージョンでも十分実用になります。
いま販売しているかどうかはわからん。ごめん


96 :91:02/12/05 18:07
>>95

ここまで丁寧に教えていただけてありがとうございます。
しかも、お勧め書籍まで・・・。

色々調べてがんばってみます。
ありがとうございました。


97 :デフォルトの名無しさん:02/12/05 18:10
> 本当ならば PChar('c:\honyarara.pdf') と書く必要があるかもしれない

大丈夫。文字列リテラルは PChar 互換です。

98 :デフォルトの名無しさん:02/12/05 18:12
>ホームページビルダー体験版を永久的に使う方法

期限きたら、OSごと再インストールしたらいいんでないの


99 :デフォルトの名無しさん:02/12/05 18:49
>>92
お前にはPCなんか要らん。
ただの箱で十分。

100 :デフォルトの名無しさん:02/12/05 21:13
Treeviewの質問です


 親B
   子B
 親C
   子C

があって、クリックしたのNodeを知りたいのですが、
if Node.Lebel=1で親なのは分かります。
クリックしたのが、親Bか親Cが分かるにはどうしたらいいですか?




101 :100:02/12/05 21:14
>>100 追加
名前は変わるので、Node.textではダメです。

102 :デフォルトの名無しさん:02/12/05 21:24
>>100
Selected プロパティは,ツリービュー内の選択されているノードを返します。
property Selected: TTreeNode;
・・・TTreeViewのヘルプより

Parent プロパティはツリーノードの親ノードを識別します。
property Parent: TTreeNode;
・・・TTreeNodeのヘルプより

103 :デフォルトの名無しさん:02/12/06 00:17
TObject,TComponent等のTっていったいなによ?
ENantokaは、Exception
IKantokaは、Interfaceだとは思うんですが。

104 :デフォルトの名無しさん:02/12/06 00:18
>>103
Table

105 :デフォルトの名無しさん:02/12/06 00:21
Typeだよ。

106 :デフォルトの名無しさん:02/12/06 00:40
>>103
たけしのT

107 :デフォルトの名無しさん:02/12/06 00:42
>>106
君は、いい人だね。

108 :デフォルトの名無しさん:02/12/06 01:02
非常にどうでもいいがTシャツを「てーしゃつ」と言うウチの祖父は許しがたい。

109 :デフォルトの名無しさん:02/12/06 01:06
>>108
そのうちお前も孫からLとRの発音について文句を言われるぞ。

110 :デフォルトの名無しさん:02/12/06 01:07
る と ぅるっ

111 :えーと…:02/12/06 01:38
なんすか、このスレ。マジレスきぼんぬ。

112 :デフォルトの名無しさん:02/12/06 02:20
>>111
TypeのTです。
ちなみにFNantokaのFはFieldです。

113 :(´・ω・`):02/12/06 04:23
あの〜ちょと質問させていただきますが・・・。

webサーバ上に置いたMP3ファイルをストリーミングで再生させる
だけのソフト(もしくはコンポーネント)を作りたいんですが、
ローカルファイルを再生させるように簡単にできないものですかね。

urlを指定して再生するだけでいいんですが、なるべく外部のコンポー
ネント等を使わない方法で。mediaplayerとかだけで出来ないものでし
しょうか?
どなかた教えてくらさい。

114 :デフォルトの名無しさん:02/12/06 06:14
「簡単に」ってのが「コードを書かずに」ってことなら、MediaPlayer を使ったらどう?

自分でつくりたいってなら、
http://www.sams.co.jp/kei/mp3plyr/manual/manual.htm
と Indy 組み合わせれば、作れるでしょう。



115 :デフォルトの名無しさん:02/12/06 06:21
「ストリーミング」が目的なのかな?

TMP3Player なら、TStream からの再生をサポートしているので実現可能かと。
ソースもあるし。

MediaPlayer を外部から操作する話は、MS の資料をあさるとでてくるんじゃないかな?



116 :デフォルトの名無しさん:02/12/06 06:38
パソコンにインストールされてるMediaPlayer のバージョンによって
ファイル名にurlを入れられたんじゃないのかな?

自分で試してみて結果教えて
http://www.google.co.jp/search?q=mciSendString&lr=lang_ja


117 :デフォルトの名無しさん:02/12/06 23:33
(´-`)。o ○ (113の質問、どっかで見たことあるなぁ…)

118 :デフォルトの名無しさん:02/12/07 17:33
PageControl上で右クリックすると、ページの新規作成でページが追加できますが、
あれと同じ事をコードでやるにはどうすればいいのでしょうか?

119 :デフォルトの名無しさん:02/12/07 17:35
>>118
初戦はコンテナなので新しいページCreateするとか隠してたのを表示するとか。

120 :118:02/12/07 18:06
>>119

ありがとうございます。
ちょっとやってみます。

121 :113(´・ω・`):02/12/07 23:51
>>114>>115>>116
レスありがとうございますた。以前mediaplayerでどうしてもできなかった
はずなんですが、ファイル名に直接URL入れたらできますた・・;
環境が変わっているからか何なのか理由が分かりませんが・・・。

自分で作るのも試み見ましたがへタレな自分にはまだむずい・・。
TMP3Playerも使ってみましたが、動作が完全ではないようで、
ストリーミングが使えませんでした。

とりあえずMediaPlayerを使うことにしました。
どうもありがとうございました。大変参考になりました。

122 :デフォルトの名無しさん:02/12/09 14:17
すいませんが教えて下さい。

TData=record
a,b,c:integer;
end;



Data:array[0..10000] of TData;

こんな感じの配列の時、dataのcだけを手続きなり、関数なりに渡すには
どのようにすればいいのでしょうか?


123 :122:02/12/09 14:28
↑まとめて渡すという意味です。

124 :デフォルトの名無しさん:02/12/09 14:32
Data[index].c

125 :124:02/12/09 14:40
まとめてなら、cのみの新たな動的配列を作って、それを関数等に渡します。

126 :122:02/12/09 14:54
var
A:array of integer;

setlength(A,10000);

としてCの内容をAに入れる。

procedure Shori(Arr: array of Integer);
に Shori(A); として渡す。

↑こんなんでおかしくないですか?


127 :デフォルトの名無しさん:02/12/09 15:48
type
 DIntArray = array of Integer;

procedure Proc1;
var
 a: DIntArray;
 i: Integer;
begin
 SetLength(a, High(Data) + 1);
 for i := 0 to High(Data) do
  a[i] := Data[i].c;
 Proc2(a);
end;

procedure Proc2(const a: DIntArray);
begin
end;

128 :デフォルトの名無しさん:02/12/10 11:49
すいません、教えてください。
Delphi5 - BDE - ODBC - Oracle8i
という環境でTQueryでSelect文をopenすると
"レコードバッファ内のBLOBハンドルが無効です"というエラーが出てしまいます。
かなり懸命に調べたのですが、どうやら取ってくる文字列のサイズが256バイトを越えると発生するようで
(そのテーブルにVARCHAR2(480) というカラムがあります)、
BDE Administratorで"BLOB SIZE" と"BLOB TO CATCHE"をデカすればいいと判りました。

しかしBLOB SIZE=1000 ,BLOB TO CATCH=65000 としても状況は変わりません。
"BLOB SIZE" と"BLOB TO CATCHE"はデータベースのエリアスと環境設定タブのOracle ODBCの両方にあったので
どちらもデカくしたのですが・・・

Delphiは2年前にちょろっとやった言語なのに2人しかいない実装班を引き継がされて、しかも誰もわからないのです。
前任者もそんなエラーは出たこと無いししらない、と対応をイヤがるし・・・よかったら助けてください。

129 :デフォルトの名無しさん:02/12/10 12:06
>>128
Ent版にしてdbExpressを使えば全て解決(w・・・いやマジで

130 :デフォルトの名無しさん:02/12/10 12:30
あぁ。ODBC かぁ。
無理/無茶だなぁ...


131 :デフォルトの名無しさん:02/12/10 12:32
SQL-Link / SQL Express または Oracle 接続用コンポーネントを探して
くっつけたほうが幸せになれると思うよ。



132 :128:02/12/10 13:11
>>129-131
返答ありがとうございます。
それは調べていく過程でなんとなくわかったのですが・・・
しかし既にリリースされて使用されているという状況ではもはやそこまでの変更はできないのです。

そして、私は既存のプログラムなら修正できるのですが、
新規にOracle接続部分を作る技術/時間もありません・・・
仮にひょひょいと作れたとしても特に数十本ある既存プログラムへの検証時間が無いのです。。。。

同じようなBLOBエラーはよく発生するようなので、ODBC以外でも同じ現象に合った方、なんでもいいのでヒントを頂けると幸いです。
>>128のBDEの設定ではないのでしょうか・・・?

133 :デフォルトの名無しさん:02/12/10 13:21
>>132
金をかけてよいのなら、2ch で聞かずに Borland のサポートに持っていったら?


134 :デフォルトの名無しさん:02/12/10 13:25
あと。
いちおう、Delphi 5 の RTL と BDE が最新のものかどうか確認を。

D7 ENterprise Trial を落として、最新の BDE で動くかどうか確認するのもいいかもね。
D7 にはまだ BDE がついているぞ。

135 :デフォルトの名無しさん:02/12/10 13:33
無駄にアゲないでね。

Google で拾ったねただと

http://groups.google.co.jp/groups?hl=ja&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=5869d650e72f9b26&seekm=37C669B8.33621566%40atrix.com.pl

これなんか、どんぴしゃなんだけどね。
http://groups.google.co.jp/groups?hl=ja&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=91536c3646e6b602&seekm=37D07D7F.D992D042%40cs.byu.edu



136 :128:02/12/10 14:11
>>133 134
情報ありがとうございます。

金はもう掛けれません。赤字プロジェクトなんで。
しかもDB接続に関しては仕様がFIXされてるはずなので、クライアントにも出させられません。

BDEは最新にしてみました。RTLについてはD5の修正パッチを当ててみました。
でもダメでした。

>>135
確かにドンピシャですね。
しかしリンク先のスレッドにあるBLOB TO Catch の変更は>>128で書いたとおり実施済みなのです・・・
---
自分が調べた範囲だと、BDE はOracleからデータを取得する場合、VERCHAR でも256バイト以上のデータはBLOB型(メモ型)に変換して扱うようです。
・BLOB 型の使用可能なサイズについてはBDE Administrator エリアスの"BLOB SIZE"で設定
・BLOB 型を持つレコードを取り扱える(フェッチできる) 数については"BLOB TO CATCH"で設定
のはずなのですが、この2つを十二分なほど大きく取っても"レコードバッファ内のBLOBハンドルが無効です"と出てしまうのです。
なぜだ・・・
Borland Delphi Q&A: http://www.borland.co.jp/qanda/delphi/d0003091.html

137 :128:02/12/10 14:13
あ、ごめんなさいあげるのはナシですか?

138 :デフォルトの名無しさん:02/12/10 16:13
  .,,
   \ヽ--___
    \   丶---ヽ___
     .゙\ ク      ~~>     クソスレに認定されました
      \   ソ   /
       .\     ノ
         \  /
          .\/
           .\
            \
             .\
              ,,\
              .″ ゙》
            __., イ,, 》li,_
          ill! i;l;lllllz,lll;lllllll;lllllly
          .:llllllll;llllllllllll;;ll;||llllllllll}
          .il||l|lllllllllllllll|《lllll|lly《アlz     .、  zz,、
          ._ノレ;llllllll|;llllllliilllllllllllllllllllllyuyll;ミミ″ .''゙゙∨
         」lllllllllllllllllllllllllllllllllllllllllll   ゙巛,厶yyv》llll!
        {lllllllll厂lllllllll|》lllllllllllllllly、   ,illllllllllllllllli;;ll|y         .、.,,_
        《;|《llllll;lllli;llllllll;|lllllllllllllllllll|lli. .zllllllll;《lll|《lllllllllllllllizy,lllz.  _yyyyr|》
,u,,_       .rlllllllllllllllllllllllllllllll厂リllllリlll!,」llllll「リll;lllllll;;llllllllllllllllllll;||lllllllllllllll;lllllllll
l;lll;l;yu.,,lllz:.;..:villlllllllllllllllllll|》llllllll| uilllll|illlllノ|ll|゙」zyllllll;ll|;lllllllllll;l|リllllllllllll;llllllllllllllllllll
lll|!illlllllllll|ll|i;llllllllllllllllllllllllllllilllllllllllllllllllllllllllllll|lllll|,|lllllllllllllll|》;ll《|「.vuilllll|《liiilll|フ《llllllll
lllllllllllllllllllllllll|《lllllllllll;;llllllllllllllll;llllllllllllllllllllll|)|《;lllllllllllllllllllllllllllllllll;lll;lllll;》([;llllllllllllllllllll

139 :デフォルトの名無しさん:02/12/10 16:24
アゲられると荒らされるんよ。2ch 初心者?

>VERCHAR でも256バイト以上のデータはBLOB型

http://www.borland.co.jp/delphi/UPD2RDME.TXT


====================
4.2 動作上の変更点
------------------
BDE/SQL Link は現在,長さが 255 を超える CHAR 列を疑似 BLOB として
解釈します。

オブジェクト型(ADT または VARRAY)のメンバーとして長さが 255 を超
える CHAR,VARCHAR,および VARCHAR2 列は,現在は疑似 BLOB として解
釈されます。
====================

のことだね。

http://groups.google.co.jp/groups?hl=ja&lr=&ie=UTF-8&inlang=ja&frame=right&th=e762f63c796da5b2&seekm=3AFA76A7.4EDB04A5%40techprt.co.uk
これを見るに、

BLOB SIZE を 64 以上に。
BLOBS TO CATCH の数値が大きすぎるような。

あと、エリアスを作り直して、パラメータ変更後、再起動。
ってところかな?


140 :128:02/12/10 17:20
>>139
返答ありがとうございます。

BDE で既存のエリアスを変更するのではなく、
一度BDE 環境設定タブのODBC にある「Oracle ODBC Driver」"BLOB SIZE" = 64 " BLOB TO CATCH" =500
にしてから既存エリアスを削除/再作成、PC再起動をすると、
デフォルトでODBC のBLOB 設定("BLOB SIZE" = 64 " BLOB TO CATCH" =500) が反映されたエリアスが作成されました。
これは!?と期待したのですが、やはりアプリを動かすと同様のBLOB エラーが・・・

残念。

>アゲられると荒らされるんよ。2ch 初心者?
そうですか、すぐ荒らされるのですね。
2chはよく見るのですが、プログラム技術板はあまり見なかったので・・・

141 :デフォルトの名無しさん:02/12/10 17:21
>アゲられると荒らされるんよ。2ch 初心者?

こんなこと書くからageられるんよ。以下同文。

142 :デフォルトの名無しさん:02/12/10 18:33
ageるのは最初の質問とか用のあるときだけにして
続きはsage進行

143 :デフォルトの名無しさん:02/12/10 19:42
>>141
ほいほい。せいぜいがんばって > アゲ嵐初心者君よ。

144 :デフォルトの名無しさん:02/12/11 22:10
Delphiってどういった経緯があって、大文字小文字認識しねーの?
おせーてダーリン♥

145 :デフォルトの名無しさん:02/12/11 22:33
大文字小文字を区別する言語の方が珍しかった (Pascal誕生当時)

146 :デフォルトの名無しさん:02/12/11 22:36
>>144
Pascalからの伝統だニャ・・・歴史の重みニャのだ

逆に、C系が大文字小文字を区別するのはUNIXも含めた伝統だニャ
でもファイル名の大文字小文字を区別しニャいDOS/Windowsの世界では
あまり必然性のニャい仕様ニャのだニャ

147 :デフォルトの名無しさん:02/12/12 00:27
Del7 付属の Kylix (pascal版)使って商用ソフト作れますか?
GPL にしないとダメ?


148 :デフォルトの名無しさん:02/12/12 00:33
坊乱怒に聞けよ

149 :デフォルトの名無しさん:02/12/12 00:33
>>147
それらしい文書を隅から隅までズズ、ズイーと読んでからまた来い。

150 :デフォルトの名無しさん:02/12/12 02:33
>>147
ライセンス関係はライセンス所有者に確認を取るのが基本。
2ch の匿名情報を信じるのであれば、何を信じても同じ。つーか責任取れないだろ?

151 :デフォルトの名無しさん:02/12/12 05:26
>>146
ほほう!ためになったよ

152 :デフォルトの名無しさん:02/12/12 12:44
FormCreateに、いろいろ書くと起動が遅くなるが、
FormShowだと問題ない、というふうに思っているのですが
なにか間違ってます?


153 :デフォルトの名無しさん:02/12/12 13:08
>>152
やっぱり遅くなるぞ。

154 :デフォルトの名無しさん:02/12/12 14:19
質問デシ。
チューチューマウスみたく親に関係なくMessageBoxが表示された際に動作
するアプリを作りたいのですが、あれは一体どんなメッセージを取得?or
フックすればいいのでしょうか?

155 :デフォルトの名無しさん:02/12/12 14:24
OS の DefDialogProc の横取りじゃなかったカナ?

156 :デフォルトの名無しさん:02/12/12 14:50
配列でHigh関数Low関数を使うみたいな感じで
TListではどのようにするのですか?

var
List:TList



List[high(list.count)]

とやると21億くらいになっちゃうし・・・・。

157 :デフォルトの名無しさん:02/12/12 15:10
count

158 :デフォルトの名無しさん:02/12/12 15:12
あぁ、Count は分かっているのか。
TList は 0 .. Count - 1 まで。Low は固定。
High( list.count ) だと、Count の型である Integer 型の上限値が取れてしまうよ。

159 :デフォルトの名無しさん:02/12/12 16:16
Delphi5のscktsrvr.exeよりかしこいソケットアプリって無いですか?

またDelphi6ではこのプログラムはVerupしているのでしょうか

160 :デフォルトの名無しさん:02/12/12 16:18
>>159
http://pc3.2ch.net/test/read.cgi/tech/1035676809/n585


161 :156:02/12/12 16:29
>>158

早速ありがとうございます。
そんなに簡単だったとは・・・・。ずいぶん悩みましたが解決しました。
ありがとうございました。

162 :デフォルトの名無しさん:02/12/12 16:35
>>159
サンプルに何を求めてるんだと。

163 :デフォルトの名無しさん:02/12/12 16:50
DelWikiにライセンス周りのFAQが必要棚。

164 :デフォルトの名無しさん:02/12/12 17:20
>>162
Demos & Examples の下に有るわけではないので、サンプルアプリではないすよ。

165 :デフォルトの名無しさん:02/12/12 17:23
>>159 は sato さん?須磨さん?

Dual CPU ってことない?

166 :デフォルトの名無しさん:02/12/12 17:31
Editをクリックするとビープ音が鳴っちゃいますけど
鳴らないようにするにはどうすればいいですか?

167 :デフォルトの名無しさん:02/12/12 17:34
クリックじゃなかった。Enter押したらでした。すいません。

168 :デフォルトの名無しさん:02/12/12 17:55
ttp://www.borland.co.jp/qanda/delphi/d0003345.html

169 :デフォルトの名無しさん:02/12/12 18:02
フォームの最小化と最大化のボタンを非表示にする方法がわかりません。

(最大化と最小化時のフォームサイズを固定にする方法はわかったのですが・・・)

170 :169:02/12/12 18:03
どなたか知っている方がおりましたら、よろしくお願いします。

171 :デフォルトの名無しさん:02/12/12 18:05
TForm.BorderIcons

172 :デフォルトの名無しさん:02/12/12 18:06
>>169
ボダアイコン

173 :169:02/12/12 18:10
ありがとうございました!
さっそく調べて試してみたいと思います。

174 :デフォルトの名無しさん:02/12/12 19:02
普通にメモ帳もどき作ったんですけど、サイズは500kbを超えるんですけど何でなんでしょう?
メモ帳実際50kbしかないのに。delphiでつくるとこれが普通なんですか?
それとも作り方が悪いの?

175 :デフォルトの名無しさん:02/12/12 19:06
ListBoxで各アイテムごとに、フォントの色を変えたいのですが
カラープロパティを変えると全てのアイテムの色が変わってしまったりで
うまくいきません。どなたか教えてください。

176 :デフォルトの名無しさん:02/12/12 19:07
>>174
普通。そういうものだと割り切ることが大切。
サイズ問題は、Delphi1の頃から言われ続けてきたことだ。
気にしないのがよっすぃ〜。

177 :デフォルトの名無しさん:02/12/12 19:08
>>174

VCL使うとそんなもん。

小さくしたけりゃAPIたたけ。

178 :デフォルトの名無しさん:02/12/12 19:10
>>175
オーナードローを使って自前で項目を描画する。
OnDrawItemあたり参照。

179 :174:02/12/12 19:14
>>176,>>177
そうなんですか。納得しました。
ありがとう

180 :165:02/12/12 21:32
須磨です。ばれました。
dualcpuです。dualだとまずいのですか?scktsrvr.exeって。
DELPHI5に付属のやつですが。

181 :デフォルトの名無しさん:02/12/12 21:35
DELPHI6 PERSONALでMemoコンポーネントの文字列を
URLエンコードしたいのですが

plaza11.mbn.or.jp/~pz/delphi/vcl.html
↑ ここにあるTPzConvを使ってURLエンコードすると
改行や「&」などが正しく変換されません・・

どうしたらちゃんと「改行」が「%OD%OA」に、「&」が「%26」
変換されるように出来るでしょうか。 もし解る方がいらっ
しゃいましたらご教授宜しくお願い致します。m(__;)m

182 :159:02/12/12 21:35
須磨です。間違えました。159です。

183 :デフォルトの名無しさん:02/12/12 21:52
https://211.10.75.189/k-sfa/index.jsp
このページ、i-mode N503iで表示されません。
P504i では表示されるのですが、
表示させる方法をお分かりの人がいたら、教えてください。
サーバー構成は、Apache+SSL(Apache1.3.27 OpenSSL0.9.6g) です。

184 :デフォルトの名無しさん:02/12/12 22:11
>>181
これとかどうかな?
InternetCanonicalizeURL

185 :181:02/12/12 22:34
>>184

Memoコンポーネントの改行を変換してくれないと
いけないのでこれではダメなのではないでしょうか..(汗
でもレスありがとうございました〜

186 :デフォルトの名無しさん:02/12/12 22:56
と思ったけど、
InternetCanonicalizeURL じゃだめだった。ごめんね。

187 :デフォルトの名無しさん:02/12/12 23:51
コンソールアプリケーション練習したいんですけど
結果が早すぎて見えないんです。すぐに終了してウインドウが
閉じてしまうんですけどキー入力するまでウインドウ閉じない
ようにするにはどうしたらいいですかね?
Delphiと直接関係ない質問の気がしますがよろしくおねがいします。

188 :デフォルトの名無しさん:02/12/13 00:01
>>187
最後に、Readln(s); を入れておく。


189 :デフォルトの名無しさん:02/12/13 00:04
>>188
そういうことしない限り無理なんですかね?やっぱり
とりあえずありがとう。

190 :デフォルトの名無しさん:02/12/13 00:33
void addone(void){
static int x=0;
x=x+1;
return ;
}
みたいなことをdelphiでしたいんですけどできないですか?
staticって無いですよね?

191 :>>190:02/12/13 00:49
・クラスにする
Txx = class
fX: Integer;
procedure addone;
end;
procedure Txx.addone;
begin
fX:=fX+1;
end;
・ユニット内変数
var addone_x: Integer;
procedure addone;
begin
addone_x:=addone_x+1;
end;
・トリック
procedure addone;
{$J+}const x: Integer = 0;{$J-}
begin
x:=x+1;
end;


192 :デフォルトの名無しさん:02/12/13 00:49
implementation節の変数が、まあ代わりみたいなもんです。
スコープを超える寿命の変数が存在しないのは明快と言えなくもない。

どうしてもスコープを同じにしたいなら、constで宣言して、
型付き定数への代入を許可するオプションを付けてコンパイル。

193 :デフォルトの名無しさん:02/12/13 05:30
>>159 あたり
D6 初期版だと、スレッド周りにバグが有って Dual CPU だと確実に吹き飛ぶ。
けど D5 なんだっけ?別の話しかなぁ?

私のところでは、社内データ管理システムとして Midas/ソケットサーバーの組み合わせで
半年以上ノンストップで動かしていた経験があります。同時 50 人くらいで、一つのデータパケットの
大きさは 10K から 1M 程度までさまざま。

ソケットサーバーが止まってしまう。という環境でデバッグしてみるのが早いと思いますが。
まずは、ScktSrvr.exe に対してタスクマネージャで CPU の割り当てを一つにして
具合を見てみては?

あと、あたりまえですが、ソケットサーバーを使わずに動かした場合に、止まらずに動きますか?
クライアントとサーバーソフトを同一マシンにおき、ソケット接続ではなく COM 接続にして
試してみたら?(DCOM では無く)

194 :デフォルトの名無しさん:02/12/13 05:31
>>159 あたり
D6 初期版だと、スレッド周りにバグが有って Dual CPU だと確実に吹き飛ぶ。
けど D5 なんだっけ?別の話しかなぁ?

私のところでは、社内データ管理システムとして Midas/ソケットサーバーの組み合わせで
半年以上ノンストップで動かしていた経験があります。同時 50 人くらいで、一つのデータパケットの
大きさは 10K から 1M 程度までさまざま。

ソケットサーバーが止まってしまう。という環境でデバッグしてみるのが早いと思いますが。
まずは、ScktSrvr.exe に対してタスクマネージャで CPU の割り当てを一つにして
具合を見てみては?

あと、あたりまえですが、ソケットサーバーを使わずに動かした場合に、止まらずに動きますか?
クライアントとサーバーソフトを同一マシンにおき、ソケット接続ではなく COM 接続にして
試してみたら?(DCOM では無く)


195 :デフォルトの名無しさん:02/12/13 05:36
... なんか、2ch の調子が悪いというか、反応が遅い ..

196 :デフォルトの名無しさん:02/12/13 08:22
Abone使い?

197 :デフォルトの名無しさん:02/12/13 12:47
>190
 コンパイラオプション {$J+} で、型付き定数使えばいいんじゃないか?

procedure addone;
var
 const x:Integer = 0;
begin
x := x + 1;
end;

で。

198 :デフォルトの名無しさん:02/12/13 13:06
パーソナルでグラフ使う場合は
ペイントボックスあたりに描画するとかシェープを利用したりするしか無いのでしょうか?
フリーでコンポーネントがあれば良いのですが無いですよねぇ。

199 :デフォルトの名無しさん:02/12/13 13:10
>>198
探す前からそう言っているのならお前はアホだ。

200 :デフォルトの名無しさん:02/12/13 13:18
いや探しても見つからないから聞いてるの(^_^;

201 :デフォルトの名無しさん:02/12/13 13:19
>>200
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=delphi+%E3%82%B0%E3%83%A9%E3%83%95+%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88

4番目とか。

202 :デフォルトの名無しさん:02/12/13 13:26
中古のPro6を買うというのもありかも・

203 :デフォルトの名無しさん:02/12/13 20:45
 真剣にDelphiを勉強したいと思います。
今、いろいろなHPを参考にしてサンプルプログラムを組んで理解を深めています。
もうそろそろ本がほしいと思っていますがいい本を3冊ほど推薦していただけないでしょうか。

204 :デフォルトの名無しさん:02/12/13 20:45
>>203
ない。

205 :デフォルトの名無しさん:02/12/13 20:50
>>203
ない。
フサスレも覗いてみればわかるが、バイブルまでまともな本は一冊も無いのがdelの現状

206 :デフォルトの名無しさん:02/12/13 20:53
>>203
正直、ヘルプとAPIガイドが最大のごちそう。がんばれ。

207 :デフォルトの名無しさん:02/12/13 21:03
質問があります。
WinInetを使ってインターネットアプリケーションを書いているのですが、
WinInetで取得したHTMLをTWebBrowserに表示するのに、
TWebBrowser.OleObject.document.writeを考えていたのですが、
これはJavaScriptなので、JavaScriptが無効になっている環境では動作しません。
JavaScriptを使わずに、取得したHTMLをTWebBrowserに表示する方法ってありますか?


208 :デフォルトの名無しさん:02/12/13 21:04
>>207
テンポラリファイルにしてそれ読むとか。

209 :デフォルトの名無しさん:02/12/13 21:09
delphiで、
            ....
for(int i = 0; i < 10; i+=2) {
 // loop
}
みたいに、 ループ変数を任意回インクリメントしたいんだけど、

var
 i: Integer;
begin
 for i := 0 to 10 do
 begin
  // loop
 end;
end;

では、1しかインクリメントされませんし、loopのブロック内で
Inc(i);とか書くと、コンパイルエラーになります。
for文ではできないのでしょうか?

210 :デフォルトの名無しさん:02/12/13 21:14
>>209
まぁ、こんな感じじゃないの?

for i := 0 to EndValue div 2 do
begin

a := i * 2;


end;

211 :デフォルトの名無しさん:02/12/13 21:15
>>207
こういう方法もあるよ。
http://members.jcom.home.ne.jp/monazilla/document/directwrite.html

>>209
forでは無理
俺はこうしてる。
i := 0;
while i < 10 do
begin
//処理
Inc(i, 2);
end;

212 :デフォルトの名無しさん:02/12/13 21:29
D7アカデミックパック買っちゃいますた。



213 :デフォルトの名無しさん:02/12/13 21:50
D7ってPersonalでも銭取るんだ・・・。

214 :207:02/12/13 22:02
>>211
ありがとうございました。
おかげで解決しました。


215 :デフォルトの名無しさん:02/12/13 22:02
D6だけ取らなかったが正解。
マニュアル付有償版もあったと思うが。

216 :203:02/12/13 22:47
 うーん、定番がないんですかー。
えと、APIガイドというのはなにを指しているのでしょうか?
ぐぐったんですが、これというのがわかりませぬ。

217 :デフォルトの名無しさん:02/12/13 22:48
>>216
ディスクに入ってるwin32.hlp

218 :203:02/12/13 23:02
>>217
ありがとん、見つかったよ。
・・・あ゛、これ英語のままなんだね・・・。
みなさんこれ読んで頑張ってるんですか???
ううう、これは手厳しいですなぁ。
なんとか読みまする。

219 :デフォルトの名無しさん:02/12/13 23:03
>>218
C++Builderには日本語版があったり。
でも、両者読み比べても同じこと書いてあるなと高校生の俺は思った。

220 :203:02/12/13 23:08
 情報さんくすこ。
ただ、少しでも理解しやすいほうがありがたいので日本語版がいいと
十年前高校生だった漏れは思った。

221 :デフォルトの名無しさん:02/12/14 03:05
ttp://www.microsoft.com/japan/developer/library/
APIに関する日本語情報はここがいいよ。
何がどこにあるか探すのに最初は苦労するけど。


222 :デフォルトの名無しさん:02/12/14 03:54
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdownload/platformsdk/sdkupdate/psdk-full.htm
からPlatform SDKをダウンロードしておくと結構便利だけど、
今はファイル入れ替え時期で落とせないみたい。

223 :デフォルトの名無しさん:02/12/14 08:56
下記のような書き方がコンパイル通るんですが、これって正しいのですか?
長年使ってて初めて気づいたんですが、引数の省略可能って仕様だったのですか?
Delphi6 UpdatePack2です。



224 :デフォルトの名無しさん:02/12/14 08:56
program test;

{$APPTYPE CONSOLE}

uses
 SysUtils,
 Unit1 in 'Unit1.pas';
var
 ATest: TTest;
begin
 ATest := TTest.Create(10);
 try
  ATest.Test(23);
 finally
  ATest.Free;
 end;

 Writeln(Eoln);
end.


225 :デフォルトの名無しさん:02/12/14 08:56
unit Unit1;

interface

type
 TTest = class
 public
  constructor Create(AValue: Integer);
  procedure Test(AValue: Integer);
 end;

implementation

constructor TTest.Create;
begin
 Writeln('Create');
end;

procedure TTest.Test;
begin
 Writeln('Test');
end;

end.



226 :デフォルトの名無しさん:02/12/14 09:18
ヘルプに書いてありますた。
> 定義宣言のヘッダーには,クラス宣言で指定したパラメータリストを
> 再度指定してもかまいませんが,その場合は,パラメータの順序,
> 型,および名前をクラス宣言での指定と完全に同じにしなければなりません。
引数は指定しなくてもかまわないのかー。しらなかったー。

constructor TTest.Create;
begin
 Writeln(AValue);
end;

なんて出来るし…。気持ち悪(´д`;)

227 :デフォルトの名無しさん:02/12/14 09:29
これがコンパイル通って、
unit Unit1;
interface
type
TBaseTest = class
public
constructor Create(AValue: Integer); virtual;
end;
TTest = class(TBaseTest)
public
constructor Create(AValue: Integer); override;
end;
implementation

constructor TBaseTest.Create(AValue: Integer);
begin
Writeln('TBaseTest.Create(AValue) ', AValue);
end;

constructor TTest.Create;
begin
 inherited;
 Writeln('TTest.Create(AValue) ', AValue);
end;

--実行結果
TBaseTest.Create(AValue) 10
TTest.Create(AValue) 10

228 :デフォルトの名無しさん:02/12/14 09:30
これはコンパイル通らないんですね(´д`;)
unit Unit1;
interface
type
 TBaseTest = class
 public
  constructor Create(AValue: Integer); overload; virtual;
  constructor Create; overload; virtual;
 end;

 TTest = class(TBaseTest)
 public
  constructor Create(AValue: Integer); override;
 end;
implementation
constructor TBaseTest.Create(AValue: Integer);
begin
 Writeln('TBaseTest.Create(AValue) ', AValue);
end;

constructor TBaseTest.Create;
begin
 Writeln('TBaseTest.Create');
end;

constructor TTest.Create;
begin
 inherited;
 Writeln('TTest.Create(AValue) ', AValue);
end;

229 :620:02/12/14 10:37
キャストについて質問なのですが、
var
 Buffer:array[0..2] of Char;
 s:String;
begin
 Buffer[0]='A';
 Buffer[1]='B';
 Buffer[2]='C';

 s:=Buffer;       @
 または
 s:=String(Buffer);   A

end;

この場合、@やAのようにsへ代入するのは正しいのでしょうか?
それとも、ちゃんとBufferの最後にヌル文字を追加してから代入しなければいけないのでしょうか?




230 :デフォルトの名無しさん:02/12/14 10:41
>>229
もちろんNULLいります。

231 :デフォルトの名無しさん:02/12/14 10:44
>218
APIヘルプの日本語版なら、CDの中に入ってるよ。
Info->Extras->JPHELP->API32WH.HLP
古いので不便なところもあるけど。


232 :229:02/12/14 11:07
>>230
そうですか。
疑問に思った理由は「Delphi4プログラミングバイブル」のp979に

strRead:=strRead + string(Buffer);

(strRead はString型、Bufferは添え字0から始まるChar型の配列)

というコードがあるのですが、このBufferも最後のヌルをつけていません。
厳密に正しいのかどうか、気になったので。


233 :デフォルトの名無しさん:02/12/14 11:10
>>232
調べてないけどObjectPascalがメモリ確保時に配列を0で初期化しているなら動いてしまう。
でも、それに頼りすぎるのはあまりよくないと思われるので$0はつけるべきかと。

234 :229:02/12/14 11:28
ちゃんと書かなかったから悪いのですが、Buffer(Char型の配列)は最初の添え字から最後の添え字まで全部文字データで埋まっています。
つまり、配列のために確保したメモリの中にはヌルの部分がないんです。
なのに string(Buffer)とキャストするのは正しいかどうかちょっと気になりました。


235 :デフォルトの名無しさん:02/12/14 11:31
>>234
配列の長さが取得できない以上、各種文字列変換関数で死にます。

236 :デフォルトの名無しさん:02/12/14 11:36
High(Buffer)
Length(Buffer)


237 :デフォルトの名無しさん:02/12/14 11:38
>>236
じゃあ。安心だね♪

まぁ、激しく非推奨。

238 :デフォルトの名無しさん:02/12/14 11:42
>>232
正しい筈です。配列のサイズが上限として、途中に#0があるまでのサイズになります。
system . _LStrFromArray を読むとよいでしょう



239 :デフォルトの名無しさん:02/12/14 11:48
「デバッグ版DCUを使う」でじっくり納得いくまで確認しる!!

240 :デフォルトの名無しさん:02/12/14 11:49
>>230 × ヌル文字=#0 は配列の場合不要です。
>>233 × メモリ確保時は不定です。しかし配列の場合 #0は不要です
>>235 × Cと違ってDelphiは配列のサイズ情報は関数でも渡されます

241 :デフォルトの名無しさん:02/12/14 12:07
>>240
思い出した。確か余計な空白まで取り込んじゃう困ったちゃんな仕様だ。

242 :デフォルトの名無しさん:02/12/14 12:32
>>241 ? >>238が書いてる通り 代入されると途中にヌルを見つける迄のサイズになる筈

243 :デフォルトの名無しさん:02/12/14 12:37
まとめ
1、String := PChar ; //ヌル迄の文字に自動調整
2、String :=array of Char ; //配列サイズかヌル迄の文字に自動調整
3、PChar := string ; //stringには終端にヌル文字が隠れている。
4、array of Char:=String ;×代入互換性無し




244 :デフォルトの名無しさん:02/12/14 12:38
>>242
>>233 × メモリ確保時は不定です。しかし配列の場合 #0は不要です


245 :デフォルトの名無しさん:02/12/14 13:02
×メモリ確保時は不定です。しかし配列の場合 #0は不要です
○関数のローカル変数は基本的にメモリ確保時は不定,自動的に値0で埋められる事はない。
 それとは別に、CHAR配列の要素全てに文字が入っているなら最後に#0でターミネートしなくとも良い
 CHAR配列の途中で文字列を終りたいなら #0でターミネートすれば良い。


246 :デフォルトの名無しさん:02/12/14 16:17
フォーカスを移さずして他のアプリケーションにテキストを
送りたいのですがいい方法ありませんか?

247 :デフォルトの名無しさん:02/12/14 16:19
>>246
パイプ WIndowsメッセージ Socket OLE etcetc

248 :デフォルトの名無しさん:02/12/14 17:14
検索ダイアログにいれた文字列をMemo1の中から検索して選択するプログラム
としてdelphiのヘルプに載っていたんですけど、下の関数の
SkipChars:=SkipChars+(I*2)が何をしているのか全然わからないんですが
誰かおしえてくれませんか?
procedure TForm1.FindDialog1Find(Sender: TObject);

var
I, J, PosReturn, SkipChars: Integer;
begin
for I := 0 to Memo1.Lines.Count do
begin
PosReturn := Pos(FindDialog1.FindText,Memo1.Lines[I]);
if PosReturn <> 0 then {検索文字列が一致}
begin
SkipChars := 0;
for J := 0 to I - 1 do
SkipChars := SkipChars + Length(Memo1.Lines[J]);
SkipChars := SkipChars + (I*2);

SkipChars := SkipChars + PosReturn - 1;
Memo1.SetFocus;
Memo1.SelStart := SkipChars;
Memo1.SelLength := Length(FindDialog1.FindText);
Break;
end;
end;

end;

249 :デフォルトの名無しさん:02/12/14 17:16
>>248
検索し終わったんでは?

250 :デフォルトの名無しさん:02/12/14 17:25
>>249
すいません。意味がわからないです。
どういうことですか?


251 :デフォルトの名無しさん:02/12/14 17:28
for文中の、SkipChars:=SKipChars+Length(Memo1.Lines[J]
で検索したい単語を含む文字列までの全文字数を数えて、
SkipChars+PosReturn-1でその単語の先頭までの文字数を
加えていますよね。これだけで検索できてしまう気がするのですが


252 :デフォルトの名無しさん:02/12/14 22:31
>>222
これ中身は英語版ですか?日本語版はありますか?


253 :デフォルトの名無しさん:02/12/14 22:37
>>252
毎回ググればよし。

254 :デフォルトの名無しさん:02/12/14 22:44
ググるってどういう意味ですか?Googleで検索してもわからなかったので教えてください!お願いします!

255 :デフォルトの名無しさん:02/12/14 23:39
>>254
シャアが乗るナギナタみたいのを持った赤いヤツだよ。

256 :デフォルトの名無しさん:02/12/14 23:41
>>255
甘いな。俺が言いたかったのはシーマ様が愛用してた方だよ。


257 :255:02/12/14 23:49
>>256
レスが速いな。連邦のMSは化け物か?

258 :デフォルトの名無しさん:02/12/14 23:54
>>257
言語の差がプログラム戦の決定的な差ではないことを教えてやろう。

end;

259 :function:02/12/15 00:11
ごめんよprocedure、僕にはまだ返すべき値があるんだ。。。。

260 :デフォルトの名無しさん:02/12/15 00:13
throwしたね!親クラスにもthrowされたこと無いのに!

261 :デフォルトの名無しさん:02/12/15 00:16
TreeView のスクロールバーを独自に描画することはできますか

262 :デフォルトの名無しさん:02/12/15 00:18
引数少ないよ!何やってんの!


263 :デフォルトの名無しさん:02/12/15 00:23
pchar「charとは違うのだよ!charとは!」

264 :デフォルトの名無しさん:02/12/15 00:31
ここはガンスレ・・・・?

265 :デフォルトの名無しさん:02/12/15 00:35
>>261
出来ます。


266 :デフォルトの名無しさん:02/12/15 00:57
口が酸っぱくなるほど「出来る?or出来ない?」は聞くなと言ったのに…。

267 :デフォルトの名無しさん:02/12/15 00:59
>>266
まぁ、質問がまとまってない証拠。暖かく、「答えた。さぁ帰れ。」と声援を送ってあげましょう。

268 :デフォルトの名無しさん:02/12/15 09:48
TreeView のスクロールバーを独自に描画する方法を教えてください

269 :デフォルトの名無しさん:02/12/15 20:43
> TreeView のスクロールバーを独自に描画する方法を教えてください

まず、何をしたいのかを教えてください。
それによって答えが違います。

270 : ◆1r.KyudaiQ :02/12/15 21:28
方程式x^3-3x-2=0を二分法で解いて、その収束の速さを調べるプログラムを作ってるんですが
正しい解が出ません。どこが悪いのか教えてください。
program Nibunhou;
{$APPTYPE CONSOLE}
uses
SysUtils;
const delta=9E-16;
function f(x:real):real;
begin f:=x*x*x-3*x-2;
end; //fの定義
function nibun(var lk,uk:real):real;
var m:real;
begin
m:=(lk+uk)/2;
if f(m)>0 then lk:=m;
if f(m)<0 then uk:=m;
end; //二分法の解法
var lk,uk,ans:real; count:integer;
begin
writeln('回数   lk      f(lk)     abs(ans-lk)');
count:=0; ans:=2; lk:=1; uk:=3;
writeln(count:3,' ',lk:16,' ',f(lk):16,' ',abs(ans-lk):16);
while (abs(f(lk))>delta) do begin
nibun(lk,uk); count:=count+1;
writeln(count:3,' ',lk:16,' ',f(lk):16,' ',abs(ans-lk):16);
end;
readln
end.

271 : ◆qZ/VDjzu96 :02/12/15 22:11
x = 2が方程式の解なのに、
初期値ですでに中点がぴったし解になってますね。
それで関数nibunのなかでは <と>しか条件がないから
ぴったり解だったときには条件がに当てはまらずにスルーされます。
んでいつまでも値が変わらないので延々と動き続けます。

それと、下のほうのwhileは abs(lk-uk) > delta だと思うのですが。


272 :270:02/12/15 22:31
>>271
uk:=3.0; を uk:=3.1に、
(abs(f(lk))>delta) を (abs(lk-uk)>delta) abs(lk-uk)に;
直してみたんですがどうも3.1に収束してたみたいなんです。
それで
if f(m)>0 then lk:=m;
if f(m)<0 then uk:=m;の条件見直してみたら
if f(m)<0 then lk:=m;
if f(m)>0 then uk:=m;
の間違いでした。これで何とか先に進めそうです。
どうもありがとうございました。

273 :268:02/12/15 22:46
>>269
TreeView に表示されるスクロールバーの描画メッセージを横取りして、
独自のスタイルでオーナードローしたいのです。

274 :デフォルトの名無しさん:02/12/15 23:05
「スクロールバーの描画メッセージ」というのはありません。
スクロールバーは、ユーザーからの入力専用UIです。そして
取り付けられているコントロールに WM_VSCROLL/WM_HSCROLL
メッセージを送ります。このメッセージを受けとってどのように
そのコントロールをスクロール/描画するのかは、そのコントロールの
ウィンドウ関数で制御します。

275 :268:02/12/15 23:44
>>274
なるほど・・・
すると、TCustomTreeView を継承して作成する場合は、
WM_NCCALCSIZE を受けて、ShowScrollBar API でデフォルトの
スクロールバーを消し、WM_PAINT あたりで独自スクロールバーを
描画するくらいしか方法はなさそうですね。

そうすると WM_VSCROLL/WM_HSCROLL が発行されないとおもうので、
なんか大変そうです・・・。

276 :デフォルトの名無しさん:02/12/15 23:47
>スクロールバーを消し、WM_PAINT あたりで独自スクロールバーを
>描画するくらいしか方法はなさそうですね。

スクロールバーコントロールを使う、ということも考えられます


277 :デフォルトの名無しさん:02/12/15 23:48
>スクロールバーを消し、WM_PAINT あたりで独自スクロールバーを
>描画するくらいしか方法はなさそうですね。

スクロールバーコントロールを使う、ということも考えられます


278 :デフォルトの名無しさん:02/12/15 23:49
二重カキコ、スマソ

279 :デフォルトの名無しさん:02/12/15 23:55
二重カキコ、スマソ

280 :デフォルトの名無しさん:02/12/15 23:58
でも、なんか、OwnerDraw や CustomDraw でカスタマイズするのに、
スクロールまで制御する必要があるなら、TCustomControl あたりから
派生して、一からつくった方が簡単そうに思われ

281 :デフォルトの名無しさん:02/12/16 00:17
どっかに一からつくったツリービューがあったなあ。
あれだ!Delphi7についてくるXPスタイルのやつを作ったところだ。


282 :デフォルトの名無しさん:02/12/16 00:37
>>276-279
ワラタ

283 :デフォルトの名無しさん:02/12/16 00:42
>>279
さっさとABONE ベータ6にしなさいな。

284 :デフォルトの名無しさん:02/12/16 02:12
テキストファイルをStringGridに読み込ませたいのですが、
1MBぐらいあるファイルを読み込ませようとすると、
フリーズしたを思ってしまうぐらいに時間がかかってしまいます。
それで色々検索してみて、遅延読み込みという方法があるのがわかりましたが、
そののサンプルが見つかりませんでした。
どなたか遅延読込について詳しく書かれているサイト等がありましたら教えてください。

285 :デフォルトの名無しさん:02/12/16 03:23
どう読み込ませたいのか書け


286 :デフォルトの名無しさん:02/12/16 04:31
TListViewをViesStyle:=vsReportで作成しています。
TListBoxのようにマウスでクリックすると行全体が選択されるようにしたいのですが可能でしょうか?
↓には「新しいTListViewならできる」と書いてあるのですが、やり方がわかりません。
http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-053.html

287 :デフォルトの名無しさん:02/12/16 04:41
古っ

RowSelect


288 :デフォルトの名無しさん:02/12/16 05:25
ハイル!デルファイ!
ハイル!デルファイ!
ハイル!デルファイ!

289 :デフォルトの名無しさん:02/12/16 06:43
出るファイは打たれる

290 :デフォルトの名無しさん:02/12/16 07:15
>>284
そんなものいくら探したって無いだろう。


291 :290:02/12/16 07:19
1MB程度のテキストなら
うちの450MHzCPUマシンでも2秒以内で処理できる


292 :デフォルトの名無しさん:02/12/16 07:53
StringGrid は様々なオブジェクトを内部生成しているせいか、読み込むサイズに比べて消費メモリが大きい。
(ようするにメモリが足りなきゃスワップが起きて遅い)
ColCount と RowCount を行を読むたびに1ずつ増やすと当然遅い。
(まとめて増やせということ)
後は SendMessage(Handle, WM_SETREDRAW, 0, 0) で書き込み時の書き換えを止めておけぐらいかな。

293 :デフォルトの名無しさん:02/12/16 11:16
最近delphiをはじめたのですが、
TdfsExtListView & TdfsEnhListView v3.70 と UIWebBrowser
このコンポーネントをD7Proで使いたいのですがコンパイルエラーで困っています。
これは使えないのでしょうか?
いろいろがんばってはいるんですけれどどうでしょ?



294 :デフォルトの名無しさん:02/12/16 15:07
>>293
http://www.torry.net/enhancedlistviews.htm
対応はまだDel6までみたいだニャ
ソースがあれば対応可能ニャんだけど・・・

Delのフリーコンポでもソースの付いてニャいのはあんまり嬉しくニャいよね
おいらは自分で作る派だニャ

295 :デフォルトの名無しさん:02/12/16 16:39
>>294
レスありがとうございます。
対応するまで待ちつうもう少しがんばってみます。
ただTdfsExtListView & TdfsEnhListView v3.70の方は
D6parsonalでもコンパイルできなかったんで、
自分のやり方が悪かったのかもしれません。

どうも ありがとう。

296 :巨大ハムスター:02/12/16 17:28
>>293-295
TdfsExtListView & TdfsEnhListView は、元ネタが
ttp:/www.delphifreestuff.com/
にあるけど、このHP閉じたみたいですね。
したがって、D7以降に対応した更新は期待できないと思います。
漏れもこのコンポ群好きで使っていたけれども、別のものにリプレース
し始めています。

よかったら、コンパイル時にどんなエラーが発生したかを記述して
いただければ何らかの回答が得られるかもしれません。
D5までしか持ってないので、どんぴしゃの答えが多分できない。
漏れの天敵のネコ>>294 か誰かが答えてくれるかもしれないし、ヒント
くらい書けるかもしれないです。


297 :デフォルトの名無しさん:02/12/16 17:51
OpenGLのGLUTのヘッダはどこにありますか?

クレクレ君でごめんなさい
OpenGL1.2のヘッダは見つかってポリゴンとかやっと出せたのですが
色々調べているうちにGLUTというものを使えば便利だと知りました
よろしくお願いします

298 :293:02/12/16 18:48
>>296
どうもありがとうございます。
もう少しやってみて、まとめてからうpさせていただきます。

そのときはヨロシクお願いします。

299 :ねこま:02/12/16 19:06
TdfsListView は,出た当時は良かったのですが,
今となっては普通の TListView を OwnerData で使うのと変わらないです.
むしろこっちのほうが楽です.


300 :デフォルトの名無しさん:02/12/16 21:56
すみません。
いつもUnit1がでかくなっちゃうんですが・・・
8000行超えちゃいました。どうしましょ。

(´Д`;)ヾ
  ∨)
  ((

301 :284:02/12/16 21:57
>>285
先にちょろっと読み込んでセルに書き込み、
残りをバックグラウンドで継ぎ足していくように読み込んでいきたいのです。

>>291
そんなに早いのですか。
今の読み込む際の処理が悪すぎるのかな?

>>292
詳しく書いていただいてありがとうございます。
書かれた事を参考にしながら頑張ってみたいと思います。

302 :デフォルトの名無しさん:02/12/16 22:00
>>300
オブジェクト指向プログラミングをするようにしろ。

303 :ビギナー300:02/12/16 22:02
Unit2でForm1.hogeってやるんでしょうか?

(´Д`;)ヾ
  ∨)
  ((

304 :デフォルトの名無しさん:02/12/16 22:06
>>302
アフォ? Delphiはオブジェクト指向対応なんだから
Delphiで作ればオブジェクト指向になるだろ。

305 :デフォルトの名無しさん:02/12/16 22:07
>>304
ネタだと言ってホスイ

306 :デフォルトの名無しさん:02/12/16 22:09
ネタでした

307 :304:02/12/16 22:13
>>305
なんでネタになるんだよ。

>>306
氏ね。

308 :デフォルトの名無しさん:02/12/16 22:21
>>307
じゃあ君はアホ丸出しだ。

program afodesuka;

begin
writeln('am I OO?');
end.

で、どこがオブジェクト指向?

309 :デフォルトの名無しさん:02/12/16 22:22
>>303
Unit1でSomeClass.Hogeとか(SomeClassはUnit2で定義)
>>307
・・・

310 :デフォルトの名無しさん:02/12/16 22:24
>>308
始めの文字は大文字ですよ(w

311 :デフォルトの名無しさん:02/12/16 22:31
>>310
必死だな

312 :304:02/12/16 22:37
>>308
そんなめったに無い例を出してOOじゃないなんて結論付けるのを
詭弁というんですよ。

313 :デフォルトの名無しさん:02/12/16 22:39
>>312
厨房の無理な論理とか言うリストにあったな。そのまんまなセリフ。

314 :デフォルトの名無しさん:02/12/16 22:40
>>312
>Delphiで作ればオブジェクト指向になるだろ。
一切の例外はないと言っているようにしか見えないが。

>OOじゃないなんて結論付けるのを
言ってない。あなたの言っていることは間違いだと言うことを証明したまで。

315 :デフォルトの名無しさん:02/12/16 22:45
>>312
8000行を超えるプログラムなら
その中の機能をいくつかのクラスに分類できるだろうから
それらのクラスをそれぞれ独立したUnitに書けばいい
といのが302の言い分だと思われ

意図的にこうしないでただDelphiを使うだけでは
こういった書き方にならないということでしょ

316 :ビギナー300:02/12/16 22:46
あのーそんなのどうでもいいんですが・・・
>>309じゃ分かりません。やさしく教えてください。

(´Д`;)ヾ
  ∨)
  ((

317 :デフォルトの名無しさん:02/12/16 22:48
>>316
315に書いたよん

318 :デフォルトの名無しさん:02/12/16 22:48
>>315
>アフォ? Delphiはオブジェクト指向対応なんだから
>Delphiで作ればオブジェクト指向になるだろ。

あなたが感じている意図は一切無いと思われ。
Javaとかなら一理あるがDelphiでそれ言う奴はアホだろう。


319 :デフォルトの名無しさん:02/12/16 22:52

http://petitmomo.com/mm/

ここがちょっぴりエッチ系のめぐが運営している出会いサイトです。
もしよかったら使ってみて、、、
ヨロシクです。

めぐ(^o^)-☆


320 :デフォルトの名無しさん:02/12/16 22:55
>>318
>アフォ? Delphiはオブジェクト指向対応なんだから
>Delphiで作ればオブジェクト指向になるだろ
それは302じゃなくて304だよん

321 :ビギナー300 :02/12/16 23:45
漏れのことで喧嘩するのはやめてください・・
>>315
>その中の機能をいくつかのクラスに分類できるだろうから
>それらのクラスをそれぞれ独立したUnitに書けばいい
一連のスレ違いなやりとりを、
別スレに移すということでいいでしょうか。

(´Д`;)ヾ
  ∨)
  ((

322 :デフォルトの名無しさん:02/12/16 23:49
>>321
お主できるな

323 :デフォルトの名無しさん:02/12/17 01:09
8000行程度どうってことないだろ
30000行越えたら来い



324 :293:02/12/17 02:57
ExtlistView.pas
FColumnsFormatChangeLink: TChangeLink; (722) 未確定の識別子
   uses節にimglist.pasを加えるとOKになる
次に "DsgnIntf" を "DesignIntf,DesignEditors" に変更しておく

function TCustomExtListView.GetStateImages: {$IFDEF DFS_COMPILER_4_UP} TCustomImageList; {$ELSE} TImageList; {$ENDIF}
begin
Result := inherited StateImages; //エラー2700行目あたり
end;
[エラー] ExtListView.pas(2701): 'TImageList' と 'TCustomImageList' には互換性がありません
[致命的エラー] EnhListView.pas(565): 'ExtListView' ユニットはコンパイルできませんでした

FnhlistView.pas
{$IFDEF DFS_COMPILER_5_UP}
State := TOwnerDrawState(LongRec(itemState).Lo);
{$ELSE}
State := TOwnerDrawState(WordRec(LongRec(itemState).Lo).Lo);//エラー(1452行目あたり)

正しくないキャスト
-=
function TCustomEnhListView.GetSmallImages:
{$IFDEF DFS_COMPILER_4_UP} TCustomImageList {$ELSE} TImageList {$ENDIF};
begin
Result := inherited SmallImages;
end;
[エラー] EnhListView.pas(2303): 'TImageList' と 'TCustomImageList' には互換性がありません
-=
この3つ以外は出来たのですがこれがわかりませんでした。
どうかコンパイルできますようお願いします。

325 :ねこま:02/12/17 03:46
DFS.INC が古いだけと違うんですか?


326 :デフォルトの名無しさん:02/12/17 05:36
作成元がつぶれちゃっているんなら、ソースだしちゃいなよ。
D7 用に書き換えて返してあげるよ。

修正点をまとめてネタにもできるし。

327 :デフォルトの名無しさん:02/12/17 05:44
ゴソゴソ...

dfs.txt 2000/7/9
dfs.inc 2000/6/22
ってのを見つけてきたけど、これが手持ちのものかい > 324

328 :327:02/12/17 05:51
んー、見つけたのは ver 3.71 だな。
最新は 3.72 のようで。

大差ないと思うから 3.71 でやってみるかい?

329 :293:02/12/17 06:03
どうも皆さんお騒がせしてすみません

>>325
elv.txt 2001/6/27
dfs.inc 20001/6/27
いろいろ出回っているTdfsExtListView & TdfsEnhListViewの中では
一番新しいのを使っていると思います。。

>>326
いまのソースはこれです。
TdfsExtListView & TdfsEnhListView v3.72
http://www.torry.net/vcl/lvtv/enhancedlistviews/extlistv.zip

遅くなりすみませんでした。
なんに使うかとか別に決まってないんですけれど、
Delphi関連の過去ログ見ていると結構いいと書き込みを見つけたのが最初でした。
ちょっと最近は意地になってきててわざわざD7proまで買ってしまったんですけど、
かなーりもったいなかったです。


330 :デフォルトの名無しさん:02/12/17 06:07
ソースは extlistv.zip で検索すれば見つかる


331 :293:02/12/17 06:28
>>327
探してもらってありがとうございます。
もうコンパイルできればOKでし。

332 :デフォルトの名無しさん:02/12/17 10:29
type StringArray = array of string
のようなものを定義してあるユニットってないですか?
array of stringを返す関数を作る場合、普通何型を使うのでしょう?


333 :327:02/12/17 10:34
>>325
>325 :ねこま :02/12/17 03:46
>DFS.INC が古いだけと違うんですか?

DFS.INC に D7 用の定義が無いだけでした。

334 :デフォルトの名無しさん:02/12/17 10:37
>>332
型は自分で定義するものだと思うが?

type StringArray = array of string;

で定義した StringArray を使って

function foo : StringArray;

で動くでしょ?



335 :デフォルトの名無しさん:02/12/17 10:47
>>332
TStringsを引数にして、それに入れて戻るというのをよく書く。

336 :327:02/12/17 10:48
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1017673221&rm=100
に変更後のファイルをアップしました。



337 :デルファイの名無しさん:02/12/17 13:57
>>332
>>334
types.pas

338 :デフォルトの名無しさん:02/12/17 14:52
6perにはtypes.dcuしかないのでなにがなんだかわからないよ。
せめてtypes.intつけて欲しい・・・

339 :デフォルトの名無しさん:02/12/17 15:21
>>338 いや、だから型は自分で定義するんだってば。
システム組込型以外は自分でどんどん型定義。
アルゴリズム + データ構造 がプログラム。

340 :デフォルトの名無しさん:02/12/17 15:33
プログラム=オブジェクツ

341 :293:02/12/17 16:03
>>336
今帰ってきたんですが、
あんまり早いんでびっくりしています。
これからまた出かけるので夜、帰ってきたら
落としてきてコンパイルします。
どうもありがとうございます。

342 :327:02/12/17 16:18
>どうもありがとうございます。
お礼はいいっすよ。
その代わりに、たいした変更では無いから何が変わったのか理解して自分の物にしてください。


343 :デフォルトの名無しさん:02/12/17 18:29
一番メジャーなタスクトレイ常駐コンポーネントはどれですか?

344 :デフォルトの名無しさん:02/12/17 20:49
TIntegerDynArrayをヘルプで見ると・・・

345 :デフォルトの名無しさん:02/12/17 21:12
>>343
それくらい書けよ。ダセぇ。

346 :デフォルトの名無しさん:02/12/17 21:38
>>343
C#には標準でついてるよ。つかついてない処理系ってダセぇ。

347 :デフォルトの名無しさん:02/12/17 21:39
>>345
これだから車輪の再発明をする奴は(略

348 :デフォルトの名無しさん:02/12/17 21:56
>>347
そのセリフ吐く奴に限って車輪すら作れない。

349 :デフォルトの名無しさん:02/12/17 22:00
低レベルなWin32APIの知識なんてあと半年で風化するよ。
覚えるだけ無駄無駄。

350 :デフォルトの名無しさん:02/12/17 22:02
>>349
.NETはあくまでネイティブコード非依存のマルチWindowsなバイナリを実現するためであって
ドライバや速度を必要とするアプリケーションはそのままネイティブなAPIをたたき続けることになる。

VBはまぁ、お荷物だったからな。

で、それが今現在お前がNotifyiconを使えないのと何の関係があるんだ?


351 :デフォルトの名無しさん:02/12/17 22:14
>>348
例えそうだとしても車輪の再発明をする奴は(略 なのは変わらない。

352 :デフォルトの名無しさん:02/12/17 22:21
さっき、友人に自作の簡単なタグ挿入型エディタを送ってあげたら、

必要なDLLファイルRTL60.BPLが見つかりません

と怒られてしまったそうです。
そういえば、実行ファイルが不自然に小さい…
恐らくコンパイル時に漏れてるのだと思われますが…

開発した環境以外でも、ランタイム無しで動作させるには
どうしたらいいのでしょうか?

353 :デフォルトの名無しさん:02/12/17 22:22
プロジェクトオプションのパッケージのチェックをはずす

354 :Delフサギコ ◆A6VzDeLphI :02/12/17 22:23
   ______    __________
 /:\.____\ /
 |: ̄\.ミ∩゚Д゚ミ\< TTaskTrayもいいですが
 |:   |: ̄ ̄ U ̄:| \_TTrayIconはもっといいです。

>>352さん
動作しません。D6Personal入れるといいかも。

355 :デフォルトの名無しさん:02/12/17 22:23
>>351
もちろん君が車輪すら作れない事実も変わらない。

356 :デフォルトの名無しさん:02/12/17 22:24
>>352
ランタイムも一緒に配布すればいいだけだろ。

357 :デフォルトの名無しさん:02/12/17 22:26
>>355
一人の事実と全員の事実の大きさの違いを認識しろよ(藁
まっ俺が車輪が作れない事実なんて無いのだがな(激藁

358 :デフォルトの名無しさん:02/12/17 22:35
>>357
ま、口で言うのは簡単だ。

359 :デフォルトの名無しさん:02/12/17 22:38
>>358
口で言って事実ってことにしようとしているのは>>348ですよ(藁藁

360 :デフォルトの名無しさん:02/12/17 22:39
こんなQ&Aレヴェルのネタで何を盛り上がってるんだか・・・
http://www.borland.co.jp/qanda/delphi/d0009410.html

作るのは簡単だが作り込むのは面倒だから出来合いのを探す。
という結論を導けない奴はDelphiは向かないだろ。

361 :Delフサギコ ◆A6VzDeLphI :02/12/17 22:41
   _____     __________
 /:\._____\  /
 |: ̄\ ミ,,゚Д゚ミ  < だからTrayIconを使えと言うに…
 |:   :|: ̄U U ̄:|  \_________


362 :デフォルトの名無しさん:02/12/17 22:44
Q&A核暇あったらコンポ追加しろよ>某

363 :デフォルトの名無しさん:02/12/17 22:44
>>358
へ〜。インターネット上の掲示板で口以外の手段が取れるのかねぇ。
手を出してみろよ。足をだしてみろよ。何も出来ないから
「ま、口で言うのは簡単だ。 」って言ったのか?
そうだね。口で言うのは簡単だね。自分で証明しているもんね。

364 :デフォルトの名無しさん:02/12/17 22:45
>>361
なんか暴走して本来の目的忘れてるみたいだぞw


365 :デフォルトの名無しさん:02/12/17 22:45
だから自分で作れと言うとるのに・・・
何かを使えという奴は全員車輪も作れないグズだ。

366 :デフォルトの名無しさん:02/12/17 22:46
>>353
ありがとうございます。できますた。

>>356
結果としては同じなのですけどねw
配るファイルはできるだけすくなくしたいです。

367 :デフォルトの名無しさん:02/12/17 22:47
バカ晒しage

368 :デフォルトの名無しさん:02/12/17 22:48
>>366
>結果としては同じなのですけどねw

合計するとダイナミックリンクの方がディスク容量を消費する。
2つ目からはぐっと効率よくなるんだけどね。

369 :デフォルトの名無しさん:02/12/17 22:48
>>366
どうせ圧縮すんだろ?

370 :デフォルトの名無しさん:02/12/17 22:50
>365
だからVCL自分で作れと言うとるのに・・・
何かを使えという奴は全員車輪も作れないグズだ。

371 :デフォルトの名無しさん:02/12/17 22:51
>365
だからコンパイラ自分で作れと言うとるのに・・・
何かを使えという奴は全員車輪も作れないグズだ。

372 :デフォルトの名無しさん:02/12/17 22:52
>365
だからCPU自分で作れと言うとるのに・・・
何かを使えという奴は全員車輪も作れないグズだ。

373 :デフォルトの名無しさん:02/12/17 22:53
>>370
VCLはいいんだよ。Delphi入れたらすぐ使えるから。
捜すくらいなら作れと言うこと。

374 :デフォルトの名無しさん:02/12/17 22:55
>>373
引っ込み付かなくなったバカにマジレスカコワルイ。

375 :デフォルトの名無しさん:02/12/17 22:58
>>374
>>373が引っ込み付かなくなったバカだろ。しかもマジレスじゃなくバカレス。ほんとカコワルイ

376 :デフォルトの名無しさん:02/12/17 23:02
>>375
ジエンにマジレスカコワルイ

377 :デフォルトの名無しさん:02/12/17 23:04
>>376
なぜジエンとわかる。本人がジエンと告白しているのか
それとも他人のあてずっぽなのか?
どちらにしろカコワルイ

378 :デフォルトの名無しさん:02/12/17 23:08
本人です。全部ジエンでした。荒らしたかっただけなんです。
でも予想通り荒れました。くいはありません。
謝るつもりはあります。ごめんちゃい(*^_^*)ニコッ

379 :デフォルトの名無しさん:02/12/17 23:09
>>378
反省してるならよし。さっさとコンポーネント探しに行きな。

380 :デフォルトの名無しさん:02/12/17 23:11
>>378
誰が全部お前だ。勝手に自演にすんな。

>>379
誰が捜しに行くか。自分で作る。

381 :デフォルトの名無しさん:02/12/17 23:13
>>380
がんばれよ。Shell_NotifyIconだ。

382 :デフォルトの名無しさん:02/12/17 23:13
>>380
うるさい。せっかく俺が静めようとしているのに話を蒸し返すな。
だまってさっさとコンポーネント探しに行け。

383 :デフォルトの名無しさん:02/12/17 23:17
>>381
で、Shell_NotifiIconってなんですか?

384 :デフォルトの名無しさん:02/12/17 23:17
6Per撒いてから随分レベルが下がったな。
昔はこんなではなかったよ。

385 :デフォルトの名無しさん:02/12/17 23:20
>>383











        や っ ぱ り 車 輪 す ら 作 れ ね ぇ じ ゃ ね ぇ か (藁















386 :デフォルトの名無しさん:02/12/17 23:21
>>383
ヘルプ読め

387 :デフォルトの名無しさん:02/12/17 23:22
>>385
ジエンウザイ。さっさと氏ね。

388 :デフォルトの名無しさん:02/12/17 23:26
>>385
車輪厨ウザイ。車輪は作んなって言ってるだろうが。

389 : :02/12/17 23:27
まぁまぁ。マターリしる。「釣り」かもしれんが、マジならやめとけ>意地になってるヤツ
えばれるもんでないし。
「知らん!教えろ!」ってのはカコワルイ。

390 :デフォルトの名無しさん:02/12/17 23:27
>>388
Del厨ウザイ。C#使えって言ってるだろうが。

391 :デフォルトの名無しさん:02/12/17 23:27
>>385
どうでもいいから空白あけるな。邪魔だ。荒らしか?

392 :デフォルトの名無しさん:02/12/17 23:29
>>391
>「知らん!教えろ!」

まぁ。今更だもんな。

>一人の事実と全員の事実の大きさの違いを認識しろよ(藁
>まっ俺が車輪が作れない事実なんて無いのだがな(激藁


393 :デフォルトの名無しさん:02/12/17 23:30
どれがマジで釣りか知らんがTrayIconを使っとけ。
自分でわざわざ作ることは無い。
コンポーネント開発はDelphiの特徴だろ。

394 :デフォルトの名無しさん:02/12/17 23:30
>>395
>コンポーネント開発はDelphiの特徴だろ。
コンポーネントを自分の手で書いていくのもな。


395 :デフォルトの名無しさん:02/12/17 23:31
>>392
あんたは何が言いたいの?

396 :デフォルトの名無しさん:02/12/17 23:31
純正品以外の拾ったコード使うとアプリが汚染されるから
素人にはお勧めできない。

397 :デフォルトの名無しさん:02/12/17 23:32
>>394
すでにあるコンポーネントを自分の手で書くのは馬鹿みたいですよ。
車輪の再発明とも言いますが。

398 :デフォルトの名無しさん:02/12/17 23:34
>>396
ソース公開されてれば問題ないだろ。

399 :デフォルトの名無しさん:02/12/17 23:34
>>399
くどいなぁ。それに対する答えは変わらんよ。

さて、どうする?君が車輪すら作れないと言うことは周知の事実だ。

400 :デフォルトの名無しさん:02/12/17 23:34
>>398
同意。デザイン時にHDDの適当なファイル削除することだって可能だ。

401 :デフォルトの名無しさん:02/12/17 23:35
>>399
あんた誰かと誰かをごっちゃにしてないかい?
文章よく読んでる? 脊髄反射はいかんよ。

402 :デフォルトの名無しさん:02/12/17 23:36
>>398
交通事故で血液が足りなくなったからといって
赤の他人の血液を体内に注入するか?
普通しないだろ。

403 :デフォルトの名無しさん:02/12/17 23:38
>>404
で、××のホームページの○○さんは本当に信用できるんかいな?
掲示板全部自作自演かもしれんぞ?


404 : :02/12/17 23:42
>>403
何の話?

405 :デフォルトの名無しさん:02/12/17 23:42
ソース公開されて無いコンポーネントも
ソースが汚いコンポーネントも要らん。

406 :デフォルトの名無しさん:02/12/17 23:43
フリーコンポーネントなんぞいらん。

407 :デフォルトの名無しさん:02/12/17 23:44
さて、自作しろ厨は去ったかな(藁

408 :デフォルトの名無しさん:02/12/17 23:46
>>407
そんな事いうとまた荒らしに来るぞ。

409 :デフォルトの名無しさん:02/12/17 23:48
(>>407 = >>408) = true


410 :デフォルトの名無しさん:02/12/17 23:50
>>409
勝手に一緒にするなよ。お前自作しろ厨だろ。

411 :デフォルトの名無しさん:02/12/17 23:52
>>410
勝手に自作しろ厨にするなよ。お前自作しろ厨だろ。


412 :デフォルトの名無しさん:02/12/17 23:52
糞レベルスレ皿仕上げ

413 :デフォルトの名無しさん:02/12/17 23:53
>>411
勝手に自作しろ厨にするなよ。お前自作しろ厨だろ。

414 :デフォルトの名無しさん:02/12/17 23:54
Delphi6 Personalのアンインストールはどうやればいいですか?

415 :デフォルトの名無しさん:02/12/17 23:57
>>>414
MSのと違ってファイルを消すだけでOKです。

416 :デフォルトの名無しさん:02/12/18 00:12
どうやら、自作しろ厨は去ったようだな(藁

では次の質問どうぞ↓

417 :デフォルトの名無しさん:02/12/18 00:19
TTaskIconを試しにインストールしたら
Classes.pasで「推奨されません」だの「警告」だのがドドドっと出た
俺の環境だけかな・・・やっぱ人には頼るなということかな

418 :デフォルトの名無しさん:02/12/18 00:21
>>417
ほら。だから自作しろって言ったろ。

419 :デフォルトの名無しさん:02/12/18 00:25
ドドッドッ ドドッドッ ワンツースリーフォー♪
ドドッドッ ドドッドッ ファイブ シックス セブーン♪

420 :デフォルトの名無しさん:02/12/18 01:08
270は俺の知り合いです
どうもお騒がせしました(w

421 :417:02/12/18 01:28
Ent版だけの問題かもしれないけど、Delphiの再インストールで直ったよ

422 :デフォルトの名無しさん:02/12/18 01:32
どっどどどどっどどどどっどどどどどどどどどどっどどどどっどどどどっどどどどどどどどどどっ♪

423 :デフォルトの名無しさん:02/12/18 01:44
Delで、新規プロジェクトを作って、
デフォルトのFormにButtonを張り付けたとします。
すると、ソースは、
Form1 = class(TForm)
Button1: TButton;
private
 { Private }
public
 { Public }
end
てな感じになりますが、ここで、Button1のスコープって
なんなの?
Button1インスタンスも勝手に作ってくれるみたいだけど?

424 :デフォルトの名無しさん:02/12/18 01:55
>>423
privateの前の領域はDelphiの領分だから勝手に編集しないようにね
(触ることがあるのはイベントハンドラを消さずに
 コンポーネントを消してしまったような場合くらいかな)
あと、そこのスコープはpublicだよん

Formを右クリックして「エディタで表示」を選ぶと
Delphiのやってることが少し分かるよん

425 :デフォルトの名無しさん:02/12/18 03:03
>423
ヘルプの「Object Pascal言語ガイド」->「クラスメンバーの可視性」ってところを読め。



426 :デフォルトの名無しさん:02/12/18 03:36
>>424-425
ありがとうございました。
助かります。

427 :デフォルトの名無しさん:02/12/18 07:17
>>424
publicじゃなーい
publishedだ。可視性は一緒だけどさ。


428 :デフォルトの名無しさん:02/12/18 11:41
>>402
馬鹿かおまえ。赤の他人の血液を使うのが普通だろ?

429 :デフォルトの名無しさん:02/12/18 12:27
私はもるもんですが、なにか?

430 :デフォルトの名無しさん:02/12/18 15:03
>>428
>>402はエホバの証人なんだろう。

431 :デフォルトの名無しさん:02/12/18 18:15
彼らは神のご意志を行なうために神に献身した。
彼らは聖書が神の言葉であることを信じている。

432 :デフォルトの名無しさん:02/12/18 18:26
キリスト教徒というのは
方便も分からない石頭ぞろいですか?

433 :デフォルトの名無しさん:02/12/18 18:41
キタ━━━(゚∀゚)━━━!!!!!
>>432アフォ降臨

434 :デフォルトの名無しさん:02/12/18 18:47
キリスト教の世界

宇宙の中心は地球であーる!

すべての星は地球を中心に回っているのであーる!

学者「でも天体観測したら火星や木星の周りに衛星があるんですが・・・」

そこだけ特別の空間なのであーる!

学者「んなあほな・・・」

だまれ!死刑!

あぼーん

435 :デフォルトの名無しさん:02/12/18 18:50
WideStringとかunicodeを文字列メインにして組んでいる人はおられます?
VCLはまだ通常のstringだから、使わない方が無難ですかね・・・。


436 :デフォルトの名無しさん:02/12/18 18:52
>>435
特にその必然性を感じない。

437 :デフォルトの名無しさん:02/12/18 19:43
>>433
なんか書けバカ

438 :デフォルトの名無しさん:02/12/18 20:50
>>435
unicodeやinterfaceなどの新しい機能は
古い開発環境であるDelphiでは使わないほうが無難です。
煽り抜きで。

439 :デフォルトの名無しさん:02/12/18 21:12
はは、後に続く人は ”使わないほうが無難” なんて理由で止まらないようにね。



440 :Delフサギコ ◆A6VzDeLphI :02/12/18 21:15
    ,,,,,,,,,,,,,,,∧,,∧   /プニコは全然大丈夫でつよ。
  〜′,,,,,,,,,,ミ,,゚Д゚彡<  WideStringListクラスを
   UU"""" U  ⊃  \自分で作れるくらいに
                なってれば…

まず、しょっぱにLoadFromFileがなくて鬱になる事うけあい。

とりあえず、これつかっとけ。

Delphi:WideStringとUnicodeでファイルアクセス
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1034090664

M&I氏のUnicodeのファイルを読み込む
http://member.nifty.ne.jp/m-and-i/tips/unicode.htm
よりかは、いいTipsになってるはずぞよ。

ごめん、interfaceはあおりぬきで
使いにくいと思うんだ。Delphiでは....

441 :デフォルトの名無しさん:02/12/18 21:21
interfaceが何で使い難い? COM使う・作るなら使うべきだし
自作クラスライブラリにだって便利に使えるよ。

JAVAより低レベルだけど低レベルの分柔軟で実装が見えて使い易いと思うけど?

442 :Delフサギコ ◆A6VzDeLphI :02/12/18 22:26
じゃあ、便利な使い方をよくしらないだけかもしれません。

   ∧,,∧   でも、最近も前つくったSplit関数についての機能
  ,ミ ゚Д゚彡 動的文字列配列でも
  ミ  ∪   StringListでも共通で使えるように
 ミ〜,, ミ   する方法がわかんなくて、鬱だったです。
  ∪ ∪   

443 :デフォルトの名無しさん:02/12/18 22:28
>>440
うーん.. こんなのを Tips とか言われてもなぁ...
低レベルコードを全部自分で書くことは勉強のためには大事だけど、新しい環境の
ことも同等に気を配らないと、あっというまにおいていかれるよ...

Delphi だと結局 Windows API を読んでいるのだから
1200 Unicode UCS-2 Little-Endian (BMP of ISO 10646)
1201 Unicode UCS-2 Big-Endian
で変換かけちゃうのが簡単なんだが。


444 :デフォルトの名無しさん:02/12/18 22:41
また文字コードネタか・・・

445 :Delフサギコ ◆A6VzDeLphI :02/12/18 22:58

    ∧,,∧ <  DelでUnicodeファイルの読み書きに
    ミロ゜ ,彡    不自由してたから自作っただけですが、何か?
    U  ミ     文句あるなら、あなたの納得するTipsを晒せば?
    ミ  @    
     U''U    
    ̄ ̄ ̄ ̄
> Delphi だと結局 Windows API を読んでいるのだから
> 1200 Unicode UCS-2 Little-Endian (BMP of ISO 10646)
> 1201 Unicode UCS-2 Big-Endian
> で変換かけちゃうのが簡単なんだが。

まさかこれがTipsじゃないよね?

毎度毎度、文字コードとか文字列とか私がいうと
> あっというまにおいていかれるよ...
と、小バカにするヤシがいるね。

自作エディタクラスとか作った
経験上から言っているんだろうけど、
自分の高度な技術をひけらかしていても
誰でも使えるような使いやすいクラスは作れないと思うよ。
誰にでも使えるようなTipsが書けないのと同じく。

446 :デフォルトの名無しさん:02/12/19 00:51
>> すでにあるコンポーネントを自分の手で書くのは馬鹿みたいですよ。

こういうヤツは、30分で書ける簡単なコンポーネントの場合でも、
書く前に一生懸命世界中に「すでにある」かどうか探し回るんだろうね。

>>445

どんな場合でも、そういう一般論ばかり言って偉そうにするヤツがいる。
いちいち、かまうな。

447 :ねこま:02/12/19 01:50
>とりあえず、これつかっとけ。
なんか凄くえらそうに読めてしまうんだけどどうか?


448 :デルファイの名無しさん:02/12/19 03:41
割り込み失礼。
単にWideStringをファイルから読んでいるだけなので、
Tipsと言うよりストリームの使い方のサンプル程度の話とは思うのですが、
>>440の関数の仕様も自分的に微妙なもんで。
まあ、FileExistsで抜けるのでは無く例外出すべきとか、
TFileName = AnsiStringだからUnicodeファイル名で困るじゃん(wとか、
(CreateFileW API版FileOpenを作っておけば楽)
* 2 ではなく* SizeOf(WideChar)にするべきとか、
その程度のツッコミでしか無いんですけどね。

でも、435氏は、HowToでは無くて「いる?」とお仲間を探しているので
別にスキルで困ってるわけじゃなく、実際VCLと併用すると落とし穴が無いかとか
そういう話をしたかったように見受けられます。
(正直、詳しい話も出ないうちから即座にURL貼るのはどうかと思う)

ところで、DelphiでUnicodeなら、こんなのも。
http://www.delphi-unicode.net/

449 :デフォルトの名無しさん:02/12/19 03:49
>>447
あなたが2ちゃんに慣れてないだけです。
慣れるのが嫌なら帰ってください。

450 :デフォルトの名無しさん:02/12/19 03:58
>>446
> こういうヤツは、30分で書ける簡単なコンポーネントの場合でも、
> 書く前に一生懸命世界中に「すでにある」かどうか探し回るんだろうね。
こういうヤツは、30分で探せるコンポーネントの場合でも、
書かないで一生懸命10時間かけて作るんだろうね(藁

451 :450:02/12/19 04:01
× 書かないで一生懸命10時間かけて作るんだろうね(藁
○ 探さないで一生懸命10時間かけて作るんだろうね(藁藁藁



452 :デフォルトの名無しさん:02/12/19 04:53
>>450
字が読めないみたいだね。
「30分で書ける」← 意味をよく考えるように

453 :デフォルトの名無しさん:02/12/19 04:56
>>451
日本語にも不自由してるのか(藁

454 :デフォルトの名無しさん:02/12/19 05:03
>>450
見つからなかったときは、しぶしぶなれないコンポつくって、
車輪の再発明かどうか、心配で心配でたまらないんだろうね。

455 :デフォルトの名無しさん:02/12/19 05:14
>>448
>そういう話をしたかったように見受けられます。
> (正直、詳しい話も出ないうちから即座にURL貼るのはどうかと思う)

あのね、そういうふうには読めないね。VCL では Unicode と併用するのは
危険(=つかわないほうが無難)と言うふうに読めるでしょ。詳しい話が出る
保証なんかないでしょ。435 はスキルについて困っているようにも読めるよ。
435本人じゃないなら、あんたの思いこみ。

456 :デフォルトの名無しさん:02/12/19 05:41
>>452-454
お前ら本当の馬鹿だろ。 多分同一人物だと思うが。
>>450が何を言いたいのか全然分かっていないようだな。
自分の理解不足を他人のせいにする前に、もう少し日本語を勉強するように。

457 :デフォルトの名無しさん:02/12/19 05:59
>>456
お前、本当の馬鹿だろ。 多分そうだと思っていたが。

>>450が何を言いたいのか全然分かっていないようだな。

コード書かないでコンポーネントを10時間かけてつくる超能力のはなしだろ。

458 :デフォルトの名無しさん:02/12/19 06:46
粘着が二人いるようだな・・・

459 :デフォルトの名無しさん:02/12/19 07:03
TurboPascalの時代にちょろっと触っていた程度でDelphiは全く解らないので
思い切り外しているかもしれませんが…

>>229-245を読んでいて思ったのは初期のDelphiのstring型ってTurboPascalと
互換がある形式(length(string)でstring[0]が返される最大255byteの配列
みたいな感じの仕様)だった気がするのですが、いつからCみたいなNULLストッパー
が文字列の最後に付く形式になったのでしょう?

460 :デルファイの名無しさん:02/12/19 07:30
>>459
Delphi2から。

32bit化する際、文字列の最大長255文字制限を取り払うため
string型が(自動的に)動的にメモリを割り当てる型に変化しました。
その際、どうせだからついでに1バイト余計に確保してNULLを入れておけば
先頭アドレスをそのままAPIに渡せて便利♪
…ということを某の人が思いついたのでしょう。

461 :ねこま:02/12/19 08:05
えらそうに読めてしまった理由がわかったよ
角が立つから言わないけどね


462 :459:02/12/19 08:28
>460
なるほど…2からでしたか。
今のdelphiのソースをみるに、どうもPascalとは思えないような
ドラスティックな拡張がされていて、可読性などが損なわれてきている
ような感じがしてしまいます…。

463 :デフォルトの名無しさん:02/12/19 08:34
>>462
そう?確かにオプションはむちゃくちゃな量あるけれど、C++みたいに何でも記号でしかも文脈や位置によって意味が変わるってことはないよ。

知らない物が増えた−>可読性が落ちた(そらそうだ。意味わからないんだから。)

ってことじゃなくて?

464 :463:02/12/19 08:35
ああ、3.1と6.0Pユーザです。
アクションリストとかは見なかったことにしていますw
オーバーロードとか動的配列とか嬉しいけどね。

465 : :02/12/19 09:55
ある実数型(real,double)変数に代入使用とする値が、
それをオーバーフローさせるような値なら、何らかの処理を行うようにしたいのですが、
なにかいい関数、手続きなどは del で用意されていないのでしょうか?

ファイルを開く際の try〜 のようなものがあったらいいんですが。

466 :デフォルトの名無しさん:02/12/19 10:32
>>465
EOverflow ではダメなのかい?

467 :デフォルトの名無しさん:02/12/19 11:02
 Delphiをはじめてみようと思ってパーソナルをダウンロードしました。
早速、目覚まし時計を作っています。
コンボボックスで「時間」「分」を指定して時間になったらベルを鳴らすように
したいのですが今の時間とコンボボックスの数字を比較するためにはどうしたら
いいでしょうか? 時間と分にあたる関数宣言とString関数として取得した設定時間
を時間の関数に変換するところで悩んでいます。

468 :デフォルトの名無しさん:02/12/19 11:08
>>467
初歩のうちは人に聞くよりも試行錯誤した方がいいと思うよ
とりあえずDecodeTime、EncodeTimeのヘルプを見ることから始めましょう
(Delphiの関数は「Delphiヘルプ」-「VCL リファレンス」に詳しく書いてある)

469 :デフォルトの名無しさん:02/12/19 11:11
>>468 追記
調べるともっと便利な関数があることも分かると思うから
自分で見つけてね

470 :467:02/12/19 11:22
 ありがとうございます、早速調べてみます。
今、TDateTimePickerというビジュアルコンポーネントを見つけました。
これからは、ひととおり調べてみてから質問しますね。

471 :デフォルトの名無しさん:02/12/19 11:24
>>467
TDateTime という型は Double型と同じなので 比較演算が可能です

ただdouble型と同じなので、= 演算をやるとダメです。
少数点を切り捨てると日数に
少数点以下を24*60倍すれば分になりますからそれを整数型にして=するか

1秒単位に大小比較で指定した時間+5秒程度の範囲ならベルを鳴らす仕様にしてはと思います


472 :472:02/12/19 12:22
Delを起動すると、何もないフォームがある状態で起動されますが
既存のプロジェクトを編集するためにわざわざ
[ファイル]→[すべて閉じる]をしています。
普通に "*.dpr" をダブルクリックから実行すると、Delがハングアップするんです。
起動時に、純粋にDelだけを起動する実行オプションはないでしょうか?


473 :デフォルトの名無しさん:02/12/19 12:33
>>472
コマンドラインオプションは-?だよ。

474 :467:02/12/19 13:22
 ついにできました。
DecodeTimeで現在時刻を時と分に分解、Word型で宣言した変数にコンボボックスの
値を格納しておいてタイマーで監視&比較でオッケーでした。
このままだと目覚ましのサウンドの最初の部分が鳴り続けるので、フラグをたてて
指定時刻に一回鳴らし始めたらもう鳴らさないという処理も追加しました。
 実は私、プログラム組むのははじめてなので質問するのも緊張したのですが、
とてもいいヒントをもらいました。これからもお世話になります。


475 :デフォルトの名無しさん:02/12/19 13:22
>>472
全てのDPRが? それとも特定の? 特定のだったらよくある症状だから、一度不要ファイルを削除するといよ。

476 :デフォルトの名無しさん:02/12/19 13:42
今日からDelphiを勉強しはじめようと思っている者ですが、
なにかいい参考書はありますでしょうか?
ネット環境が自由にならないので、
オンラインで資料を探すことができないのです。


477 :472:02/12/19 13:47
>>473 >>475
レスありがとうございます。
何もない状態で起動するのは、 "delphi32.exe" /np できました。

>>475
特定の *.dpr だけです。
どれが不要ファイルなのかよく分からないのですが、うまくいったら報告します。


478 : :02/12/19 13:57
>>465です。
var
i, j: real;

begin
i:=0.01;
try
j := exp(1000 / i); // 0で割る
except
on EOverFlow do
begin
showmessage('j:オーバーフロー');
j := 10;
end;
end;

これでできました。>>466サンありがとうございました。

479 :デフォルトの名無しさん:02/12/19 13:58
>>476
フサギコさんがまとめてくれてるよ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1015084410&rm=100

漏れも「基礎Del」を初心者に買ってあげたことがある

480 :デフォルトの名無しさん:02/12/19 14:00
>>479 補足
基礎Delはいま「基礎からわかるDelph6」だと思った

481 :476:02/12/19 14:25
>>479さん
ありがとうございます!
会社帰りに本屋へダッシュします。

>>480さん
補足ありがとうございました。
最新がDelphi6ですものね。
参考にします。

482 :ななしへたぐらま ◆XcB18Bks.Y :02/12/19 14:47
>>460
末尾にNULL文字を入れるのはVBをまねたとか
どこかでみたような記憶がありますが,違ったかな.

自動割り当て,自動解放文字列というやり方自体も
BASICの真似なのですが,
文字列変数への代入の時に単純に文字列をコピーしない仕様などは
よくできていると思います.
 (…ってこれもBASICで先にやってたのかな?
  MicrosoftBASIC 7.0ではでかい文字列をコピーすると
  よくOut of String Spaceエラーになったものですが…)


483 :デフォルトの名無しさん:02/12/19 14:52
>>477
不要ファイルは
http://pc3.2ch.net/test/read.cgi/tech/1029120920/77


484 :472:02/12/19 15:11
>>483
どうもありがとうございます。
 *.~*
 *.dof
 *.dcu
のファイルがあったので消したけれども、やはりうまくいきませんでした。
本体を起動してから、[ファイル]→[開く]からでならできるので、
あきらめます。

485 :デフォルトの名無しさん:02/12/19 16:08
>>484 dsm が残ってない?

486 :デフォルトの名無しさん:02/12/19 16:35
Delphi7買ったらあとから送ってくれるというおまけCDはまだこないのですか?

487 :デフォルトの名無しさん:02/12/19 17:39
質問です。
MLのログに質問はあったのですが、回答が無かったので、それをそのまま掲載・・・

OpenDialogやSaveDialogのHistoryListのヘルプを見ると....
「現在は使いません」とか「Delphi の以前のバージョンとの互換性のために残
されています」と書かれていますが、現在では何を使えばいいのでしょうか?



488 :デフォルトの名無しさん:02/12/19 18:44
>>487

以前のバージョンでどう使われていたかしりませんが、自前で Add() する
なりすると、ちょっと試したところでは今でも使える。ただ、UIに反映され
ないのであまり意味はないが。

489 :ねこま:02/12/19 19:38
HistoryList プロパティは Delphi1 -> Delphi2 で無くなりました.
これは Windows95 の GUI に合わせた変更です.
代わりに [ファイル(F) | 開き直す(R)] の様な履歴メニューを使います.


490 :_:02/12/19 20:14
>>485 ありません。

491 :デフォルトの名無しさん:02/12/19 20:43
>>475
うちではWin98SEだとしばしば発生する。
プロジェクト読み込んでフォームが表示されるときにハング。
ファイルメニューから読み込むと問題なく開く。

Win XPの方ではおこったことないんだけどね。

リソースの問題かもしれんが。



492 :デフォルトの名無しさん:02/12/19 21:40
> HistoryList プロパティは Delphi1 -> Delphi2 で無くなりました.

なくなりませんよ。意味がなくなっただけです。

493 :デフォルトの名無しさん:02/12/19 22:30
「入門 Delphi 6.0 personal  - 無料版で始めるはじめてのプログラミング -」
http://www2.marukotv.jp/~w-wings/download/download.htm
http://www2.marukotv.jp/~w-wings/download/deltext003.lzh

494 :デフォルトの名無しさん:02/12/19 23:10
>>493
パスワード教えて。

495 :デフォルトの名無しさん:02/12/20 00:04
>>482
>末尾にNULL文字を入れるのはVBをまねたとか
>どこかでみたような記憶がありますが,違ったかな.

Cだと思われ。

496 :デフォルトの名無しさん:02/12/20 00:44
>>495
おぃおぃ・・・

497 :Delフサギコ ◆A6VzDeLphI :02/12/20 01:39
  .∧,,∧  俺がダメフサだから
 ミTДT彡 だからでつね。>>461さん
  (∩∩)
       M&I氏のページよりいいTipsが出来たから
       うれしかったの。

>>448さん
仕様が微妙なら、
「ここをこう変えてみました。
こうするのがXXと同じでVCLっぽくで、いいと思われ」
とか書いてソース晒してくださるとうれすぃっすね。
SizeOf(WideChar)は私単に忘れてました、
そっちのほうがきれいだと思いますよ。

>>464さん
アクションリストは正直見たほうがいい。
C#よりも勝るアーキテクチャだと思ってます。

498 :デフォルトの名無しさん:02/12/20 01:50
アクションリストの利点が分かりません。
なにがすごいのか教えてください。

499 :デフォルトの名無しさん:02/12/20 02:06
メニューとポップアップメニューとツールバーに
同じキャプションとイメージと機能を割り当てたい場合どうするよ?

C#は漬け和スレだろ。いずれつく。

500 :Delフサギコ ◆A6VzDeLphI :02/12/20 02:06
          _________
   ∧,,∧   / 
  ミ,,゚Д゚彡<  Toolbuttonとメニューが
   ミ つI)  \ 同じActionで管理できるですよ
 〜ミ  ミ.     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ 他にもUpdateイベントを定義することで
       状況に応じたコードを書くのが楽。

501 :デルファイの名無しさん:02/12/20 03:17
>>455
はあ…。さいですか。

>>497
別にこんなもので対抗してもしょーもないですし、
関数にせずともその場その場で書いてもいいような処理って気もしますが、
まあツッコミ入れた責任というか延長というか一応…
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1034090664&res=2&fi=no

ところで、話題に出てきてもいない他人のページのURL貼って、
自分のコードがそれよりいいぞ!と主張するのは、やっぱ何か言いたくなるような。

502 :デフォルトの名無しさん:02/12/20 09:54
>>501
>{メモ帳はUTF-8にもBOMを付けるが、UTF-8には何も付けないのが正しいので無視}
>UTF-8には何も付けないのが正しいので
昔はそうだったんだけど、今は UTF-8 化された BOM は仕様として含まれます。
Notepad の勝ち。

出典 : http://www.unicode.org/unicode/faq/utf_bom.html#29


503 :デフォルトの名無しさん:02/12/20 13:14
Delフサギコさんのファンです。

504 :デルファイの名無しさん:02/12/20 13:32
>>502
う、負けた。
知識が古かったか…指摘感謝。

505 :デフォルトの名無しさん:02/12/20 13:33
Delフサギコさんが不安です。

506 :デフォルトの名無しさん:02/12/20 14:30
>>504
Byte Order 問題が解決されたはずなのに BOM をつける MS - Notepad が悪いはずなのに、
便利だからデファクトスタンダードになっちゃった良い例。

まぁ MS のわがままさは十分知っているけどさ..

507 :506:02/12/20 14:32
UTF-8/BOM はつける必用はないけど、もし存在したときはエラーにせず読み飛ばせ。ということで。


508 :デフォルトの名無しさん:02/12/20 15:36
サンプルのMDIメモ帳をいじっているのですが、
メインメニューの「ウィンドウ」の項目に、
チャイルドがリストアップされる仕組みがわかりません。
というのも、ソースを見る限り、何もしていないようなのです。

なんといえばよいでしょう、、、
main.pasはチャイルドを作ったきり、変数を使い捨てているだけなんです。
どこにもメニューにリストアップされるような事が書いてないんです。

あれはどういう仕組みでしょうか?

509 :デフォルトの名無しさん:02/12/20 15:57
>>508
親フォームのWindowMenuプロパティに子ウィンドウリストを表示したい
メニューアイテムを指定するだけでOK。

510 :デフォルトの名無しさん:02/12/20 16:06
 目覚まし時計のプログラムに「指定時刻の5分前にWindowsを起動する」機能を
実装したいのですが、なにかよい方法はないでしょうか?
足がかりだけでもいただければ調べますのでよろしくお願いします。

511 :508:02/12/20 16:18
なるほど、あれはTCustomFormの標準機能なのですね。
見つけました。ありがとうございました。

512 :デフォルトの名無しさん:02/12/20 16:19
>>510
別の常時機能なPC用意してWAKE ON LAN


513 :510:02/12/20 16:25
>>512
確かに可能ですが、できればスタンドアロン環境で機能するように実装したいです。

514 :デフォルトの名無しさん:02/12/20 16:42
TSpeedButtonに48x24のビットマップ読み込んだんだけど
なぜか横幅が半分になっちゃったよ。
これってガイシュツ?


515 :デフォルトの名無しさん:02/12/20 16:53
>>513

 PC
 □--+シリアル/パラレル/USB etcetc
  |   |
  |  □マイコン
  |   |
  +---+
  電源スイッチケーブル。





516 :510:02/12/20 17:05
>>513
・・・・・ごめんなさい、私がわるぅございましたぁ。うえーーーん。

517 :デフォルトの名無しさん:02/12/20 17:09
スタンバイ状態でというなら、なんか方法があると思うが。
録画ソフトとかが実現してるはず。

518 :510:02/12/20 17:17
>>517
スタンバイ状態ですか、なるほど・・・。
イメージとしてはバイオスをプログラムでたたいて、起動時刻設定して
シャットダウン。で、スタートアップから実行というからくりを考えていました。
シャットダウンのコンポーネントは見つけていたのでバイオスをたたく部分だけ
実装できれば可能なのではと素人考えをしていたのです。
ただ、BIOSも種類がありますし、そもそもタイマー起動に対応していないBIOS
もあるみたいなので汎用性ということを考えると厳しいのかもしれませんね。


519 :デフォルトの名無しさん:02/12/20 20:36
Delphi5Pro なんですが Win2000 でアカンウト別の MyDocuments などにアクセスする方法はありませんか?

520 :デフォルトの名無しさん:02/12/20 21:15
>>519
あります。



521 :デフォルトの名無しさん:02/12/20 21:27
>>520
どうすればいいですか?

522 :デフォルトの名無しさん:02/12/20 21:33
Win32APIスレ逝け

523 :デフォルトの名無しさん:02/12/20 21:37
細菌は教えてやった所でお礼の一言もないからなぁ・・・


524 :デフォルトの名無しさん:02/12/20 21:48
>>501 のソースってどうよ?


525 :デフォルトの名無しさん:02/12/20 22:34
でそろそろ初心者が質問してよろしいですか?

526 :デフォルトの名無しさん:02/12/20 23:06
細菌は教えてやった所でお礼の一言もないからなぁ・・・

527 :デフォルトの名無しさん:02/12/20 23:34
もう冬休みの季節ですな・・・

528 :デフォルトの名無しさん:02/12/21 00:01
[ファイル|開きなおす]コンポってない?

529 :デフォルトの名無しさん:02/12/21 00:07
ない

530 :助けてください(TДT):02/12/21 00:09
Delphi6 PersonalをダウンロードしてきてWindows XP環境にインストールし
ました。早速使ってみたところ、何故かたまに実行ボタンを押したときに
完全にシステムがフリーズしてしまうことがあります。コンパイルはちゃん
と通っているようですが、フォームが完全に表示されず、タイトルバーが表示
された時点で固まってしまう状況です。とりあえず、Delphiを強制終了しよ
うとCtrl+Alt+Delでタスクマネージャを出しますが、そのウィンドウを
フォーカスしただけで、タスクマネージャまで「応答なし」になってしまい
ます。ログオフしてみようとスタートボタンをクリックすると、タスクバー
とスタートメニューまでフリーズしてしまい、最終的に電源強制切断以外
どうしようもなくなってしまいます。一体どうしてでしょうか?単に
Delphi 6 PersonalはXPに対応してないんでしょうか?

531 :デフォルトの名無しさん:02/12/21 00:12
>>530
http://www.borland.co.jp/delphi/devsupport/d6issues.html


532 :ありがとうございます(TДT):02/12/21 00:26
早速やってみました!これで直るでしょうか・・・。
(((((;゚Д゚))))ガクガクブルブル しながら今しばらく使い続けて
様子を見てみようと思います。では。

533 :デフォルトの名無しさん:02/12/21 00:32

http://petitmomo.com/mm/

ここがちょっぴりエッチ系のめぐが運営している出会いサイトです。
もしよかったら使ってみて、、、
ヨロシクです。

めぐ(^o^)-☆


534 :デフォルトの名無しさん:02/12/21 01:24
>>533
ここはDelphiのスレですよ。荒らしですか(w

535 :532 (TДT):02/12/21 01:37
既に530の問題が再発した模様です・・・。
ショボーン・・・。(´・ω・`)

536 :デフォルトの名無しさん:02/12/21 01:42
IME のあれか?

537 :デフォルトの名無しさん:02/12/21 02:18

ちっと疑問に思ったんだが、最近のDelphiではReal型は独自形式じゃなくて
汎用型って分類になってるから、ファイル出力とかしない内部的な実数値は
DoubleやSingleじゃなくてRealを使うべきなんだろうか?

538 :デフォルトの名無しさん:02/12/21 02:26
サイズや精度を明示する必要がなければIntegerやRealを使えばいいんじゃないの。

539 :デフォルトの名無しさん:02/12/21 02:34
TimageのTransparent、ヘルプには背景を透過させると書いてありますが、
指定した任意色だけを透過させることはできますか?
(そもそも背景とは、がわかってない(´・ω・`))

540 :デフォルトの名無しさん:02/12/21 02:54
>>530
あなたとまったく同じ症状でした。
僕の場合は、↓で治ったようです。
http://130.158.124.192/~takeuchi/delphi/browse.cgi?index=069593

541 :デフォルトの名無しさん:02/12/21 05:41
そ。システムの復元とも ctfmon とも関係ない。
D7 のデバッガは直っているので、提示された対処は必用なし。

542 :デフォルトの名無しさん:02/12/21 09:28
http://bdn.borland.com/article/0,1410,29361,00.html
Delphi 6 RTL アップデート2 公開。

いまごろなぜ?
いつものように日本語版はまだ。

543 :デフォルトの名無しさん:02/12/21 11:01
Delphi5 も出してくれ…


544 :デフォルトの名無しさん:02/12/21 11:23
>いまごろなぜ?
サポートが続けられるのは良いことだよ

545 :デフォルトの名無しさん:02/12/21 11:25
ユーザー数的にも6>>>>>>>>>7だしね。
買うなら偶数バージョンだな。

546 :デフォルトの名無しさん:02/12/21 12:45
>>545
こないだまで「買うなら奇数バージョンだよな」とか言っていなかった?

547 :デフォルトの名無しさん:02/12/21 12:50
>>546
いえ、1, 2, 4, 8と買っていくのが正しいです。


548 :デフォルトの名無しさん:02/12/21 13:15
3.1 が最高。という評価が多いことをどう判断する? >> 547

549 :508:02/12/21 14:01
またMDIで質問なのです。
サンプルでvar Child: TMDIChild;について、Child.Freeをやっていません。
これはTMIDChildのほうでAction := caFree;にすれば解放されるとあります。
ここでふと思ったのですが、サンプルでは
Child := TMDIChild.Create(Application);とやっているところを、
TMDIChild.Create(Application);と、変数に入れないでも解放されるのでしょうか?
これは安全でしょうか?
もう一つ、処理が終わったら自分で解放するタイプのTThreadについても、
インスタンスのための変数は不要なら使わなくていいのでしょうか?


550 :デフォルトの名無しさん:02/12/21 14:13
>>549
半分yes
Applicationを Owner にしてしまうと Application終了時に解放されるわけで、それなら
解放しないのとそう変わらない(デストラクタが呼ばれるメリットはあるけど)

親のフォームと一緒に解放させるべきでは?

TThread は自分で解放が巧くゆくならそれでいいと思うけど、結構注意が必要で
面倒だから、メインスレッドで解放した方が楽なような気もするけどな

551 :508:02/12/21 14:32
子ウインドウは閉じたときに解放されると思っていました。
長時間開いたり閉じたりしてたらドンドン肥大化するかもですね。
まだちょっとわからないのですが、
>親のフォームと一緒に解放させるべきでは?
ということは、Create(Application.MainForm);にしたほうが良いという事でしょうか?
オーナーと親をまぜこぜに覚えててすみません。

552 :デフォルトの名無しさん:02/12/21 20:55
イベントを作成したときにパラメータに自動で付く
(Sender: TObject)ってどういう意味でしょうか?

イベントの呼び出し元?
参照すると何が入っているのでしょうか?

553 :デフォルトの名無しさん:02/12/21 20:59
>>510
タスクスケジューラ+休止状態で出来るよ。

タスクスケジューラの設定に「タスクの実行時にスリープを解除する」ってところがあるから、
そこをチェックして休止状態にすれば、時間になると立ち上がるよ。

どういう仕様にするのかは知らんけど、
・タスクスケジューラのコントロール
・休止状態への移行
の2つの技術が必要になる。
タスクスケジューラはDelphiにpasがないからどっかでコンポーネントを拾ってくる。
休止状態へは「SetSystemPowerState」APIを使う。

554 :デフォルトの名無しさん:02/12/21 21:13
>>552
複数のコンポーネントから同じイベントハンドラを呼び出せるのは知ってると思うけど

Senderがあるおかげで
呼び出し元によって処理を振り分けることが可能になる

555 :デフォルトの名無しさん:02/12/21 22:22
初めてActiveX DLLを作成することになったのですが、うまく例外を発生させることができません。
例外情報を渡すためのクラスとしてIDispatchインターフェースとExceptionクラスを継承したクラスを作成し、
例外発生時にはそのインスタンスを作成およびraiseして、クライアントアプリケーション側では、
そのインターフェースからエラー情報を取得するようにしたかったのですが、
クライアント側で発生する例外はただのExceptionになっています。
例外オブジェクトはActiveXとアプリケーションの間を飛び越えられてないようです。
ActiveXでエラー情報を渡す方法ってどのような方法がありますか?


556 :デフォルトの名無しさん:02/12/21 22:30
>>554
なるほど!
ありがとうございます。

557 :デフォルトの名無しさん:02/12/22 00:02
つーか、1回くらい検索してみてから書いてるのかなぁ?

558 :デフォルトの名無しさん:02/12/22 00:56
Free の使うタイミングがよくわからないんです。
使うタイミングをわかりやすく教えてください

559 :デフォルトの名無しさん:02/12/22 00:58
不要になったらFreeすりゃいいんだよ。
そのブロックで閉じてたらfinallyで、
フォームで使うんならFormDestroyで。

560 :デフォルトの名無しさん:02/12/22 00:59
form2:= Tform2.create;
form2.showmodal;
form2.free;

561 :デフォルトの名無しさん:02/12/22 01:01
>>558
最初はオレもそうだった(藁
「なんでFreeすんのと、しないのがあるのかなぁ…?」とかな。
ガンガンいじってればそのうち分かってくるよ。最初の頃に
疑問に思ってたことは、「ははぁ…なーるほどなぁ…」ってなってくるから。

562 :デフォルトの名無しさん:02/12/22 01:03
メモリ512MBも積んでたらFreeいらんだろ。
サーバじゃあるまいし。

563 :デフォルトの名無しさん:02/12/22 01:10
>>560
TFormの場合はReleaseじゃなかったっけ?


564 :デフォルトの名無しさん:02/12/22 01:27
横からスマソ

>>560
この例では、form2がshowされた瞬間にfreeされそうに見えますが、実際はform2が
closeされたときにfreeされるんですよね?そこら辺がよくわからないのですが・・・。

565 :デフォルトの名無しさん:02/12/22 01:30
>>562
Free を最初から逃げる奴にプログラマの適性はねえよ。

566 :デフォルトの名無しさん:02/12/22 01:34
>>564
showmodalの意味わかるか?つーか調べな。

567 :デフォルトの名無しさん:02/12/22 01:41
>>566
そか、モードつきだから裏は無効になるんだ(゚д゚)!!


568 :デフォルトの名無しさん:02/12/22 01:43
form1.button1.click;
begin
form2:= Tform2.create;
form2.show;
  //releaseいらないバージョンは下のようにっと
end;


form2.close(sender:TObject);
begin
action:=caFree;//←これで解放できるらしい
end;


569 :デフォルトの名無しさん:02/12/22 02:08
CreateとFreeを多用するプログラム作るようになってから、Windowsにトドメを刺す
回数が多くなったなぁ・・・。

Win2000なのに突然青くなって止まったときはビビッタ。

570 :デフォルトの名無しさん:02/12/22 02:16
>>569
フツーその程度で落ちないとは思うんだけど・・・。

571 :デフォルトの名無しさん:02/12/22 02:54
>>569
それはCreateとFreeが正しく行われていない証拠だろ・・・

572 :デフォルトの名無しさん:02/12/22 03:04
>>569
Win2000が青吐いて落ちる場合は、ドライバがタコな場合が多い。
それか、PC腐ってるか。
普通のアプリ程度じゃ落ちないって。


573 :デフォルトの名無しさん:02/12/22 07:57
CheckMem.pas とか、MemProofは必須ではないのか?

574 :菊地桃子:02/12/22 10:41
ここって、厨房ばっかりでほんっと
つかえない


575 :デフォルトの名無しさん:02/12/22 13:31
バージョン情報でAlt+T E A M

576 :デフォルトの名無しさん:02/12/22 14:08
>>575
なんでいちいちコピペするかなぁ。しかも2日前のを。

577 :デフォルトの名無しさん:02/12/22 14:27
>>572
以前、0除算で青くなったことがある。

IDEの中でやったら、ただの例外で済んだけど、単体で実行したら
画面が崩れてフリーズ。画面表示部分だったからドライバが関係してるの鴨・・・。

578 :デフォルトの名無しさん:02/12/23 06:09
BorderStyle = bsNone のときに、タスクバーの当該ボタンを右クリックしても
システムメニューが表示されませんが、これを表示させる方法はないのでしょうか。

579 :デフォルトの名無しさん:02/12/23 13:46
でそろそろ初心者が質問してよろしいですか?

580 :デフォルトの名無しさん:02/12/23 14:09
>>579
いつでもどうぞ。
「過去ログ読め」って言われるだけだけど。

581 :デフォルトの名無しさん:02/12/23 14:19
プログラム初心者です。
これからはじめるのにC#とVB.NETどちらがいいのでしょうか?

582 :デフォルトの名無しさん:02/12/23 14:22
>>581
C#

583 :579:02/12/23 14:38

モナーの *やさしい* Delphi質問スレ Ver.9
http://pc3.2ch.net/test/read.cgi/tech/1033668645/724-726

と同じことで
TEmbeddedWBやTUIWebBrowserを
Del7proで使いたいのですがインスコできません。

簡易プラウザでJava関係を有効無効の設定を使いたいのですが

一応過去ログ読んでDel6パーソナルにはインスコできたんですけれど、
Del7proにて使えないのでしょうか?


584 :デフォルトの名無しさん:02/12/23 15:16
>>583
ソースいじったような記憶があるけど、インスコでけたよ。


585 :デフォルトの名無しさん:02/12/23 15:22
>>584
なんかタイプライブラリから生成したコードってコンパイルできないことあるよね。
でも、Delphiやってる奴なら速攻で直せるわけで。

586 :デフォルトの名無しさん:02/12/23 16:06
 はじめての作品ができました。
ただの目覚まし時計ですが、スキルアップのためにも是非批評してもらいたいです。
どこか作品をアップできるところはありますか?

587 :デフォルトの名無しさん:02/12/23 16:13
ここに添付
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%BB%A8%C3%CC%5D%5D

588 :デフォルトの名無しさん:02/12/23 16:20
>>586
ああ。ソースだけでいい。
指定時間が来てファイル消されちゃかなわん。


589 :586:02/12/23 16:25
 雑談ページに「Yuclock.zip」というファイルをアップしました。
アップするの初めてなので、問題があればご指摘ください。

590 :デフォルトの名無しさん:02/12/23 16:37
落とし方がわからんすまん。

591 :586:02/12/23 16:39
>>590
 雑談ページの一番下に添付ファイルという項目があるのでそこを右クリックで保存すれば
できそうですよ。

592 :デフォルトの名無しさん:02/12/23 16:41
ttp://onigiri.s3.xrea.com:8080/delphi/index.php?plugin=attach&openfile=Yuclock.zip&refer=%5B%5B%BB%A8%C3%CC%5D%5D
でいけるみたいだね。みてみるよ。

593 :デフォルトの名無しさん:02/12/23 16:53
音符マークをクリックして、wavファイルを指定せずに閉じたら
ビープ音が狂ったように鳴りまくるのだが・・・。

594 :デフォルトの名無しさん:02/12/23 16:55
密かにWaveファイルのPass変えられるとエロイ事になるから。
音声変更時にパスワードクゥイヴォヌソ。

595 :586:02/12/23 16:57
>>593
 うーん、オープンダイアログでwavにフィルターかけているのですが
それでもだめみたいですね。拡張子がwaveファイルじゃなければ・・・
というような処理を加えたほうがいいのかなぁ。少し考えて見ます。
試していただいてありがとうございます。

596 :デフォルトの名無しさん:02/12/23 16:59
>>595
選択しないと開けないよーん!なプロパティって無かったっけか?
Mustexistとかで出来そうな肝。

597 :586:02/12/23 17:04
>>594
 ためになります。改善方法は、
「指定したアラーム音ファイルが勝手に変更されることを防ぐ処理(パスワード等)」
さらに「指定したアラーム音ファイルが移動等された場合の対応」ですね。
なんだか、堅牢な目覚まし時計になっていきそうです。

598 :デフォルトの名無しさん:02/12/23 17:16
>「指定したアラーム音ファイルが勝手に変更されることを防ぐ処理(パスワード等)」
ユーザーには保護しているように見せて、
実際にはiniファイルにpathもpassもそのまま書かれてるなんてタコな仕様にするよ。
設定ダイアログ作って現在の設定を確認できればそれで十分。

599 :586:02/12/23 17:34
 β1アップしてみました。
>>596
 ありがとうございます、これで「ぽんぽんぽーん」は鳴らないと思います。
なお、「♪」ボタンは試聴も兼ねているのでキャンセルでもアラーム音が鳴ります。
>>598
 そうですかぁ。アラーム音はとりあえず設定されていれば機能は果たすと思うので
いいんじゃないかなぁと考えていたところでした、THX。ただ、指定されたファイルが
存在するかどうかは監視する必要がありますよね。うーん、難関だ。

600 :デフォルトの名無しさん:02/12/23 17:55
タイマー機能は、指定した3つ(〜5程度)の時間をボタン1つ始動&一時停止可能る。
例、1時間45分(作業用),15分(休憩用),20分(温泉卵用)

目覚まし機能は、指定した3つ(〜5程度)の時間をボタン1つでON/OFF切り替え可能。
(+曜日毎に設定可能なら最高。)

レジストリいじらない。軽い。


以上の条件をクリアしたものを作ってください。おながいします!

601 :デフォルトの名無しさん:02/12/23 18:18
>>600
 質問
タイマー同士はそれぞれ排他利用でいいのかい?
つまりAというタイマーを使っているときは、他のB,C等のタイマーは利用しないということ。
 目覚まし機能については曜日毎にセットできればいいのかな?
例:月・火・水は8時、木・金は10時、土・日は12時という感じ
 教えてちょうだい


602 :デフォルトの名無しさん:02/12/23 18:19
ソースコードを配布する際の注意点
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%C7%DB%C9%DB%A4%CE%BA%DD%A4%CE%C3%ED%B0%D5%C5%C0%5D%5D



603 :デフォルトの名無しさん:02/12/23 18:32
>>601
>作ってください。

つぅか冬休みにスレ違い甘やかすのやめとけ。偉いことになる。

604 :デフォルトの名無しさん:02/12/23 19:22
>>603
 すれ違いは確かだが、初心者がつくるにはちょうどいい題材かもしれんな

605 :デフォルトの名無しさん:02/12/23 20:19
TForm の WindowState の値を INI に入れるにはどうすればいいのですか?

606 :デフォルトの名無しさん:02/12/23 20:20
>スレ違い
Wikiにそういうページ作りゃあいいわけよ >>586

607 :デフォルトの名無しさん:02/12/23 20:49
>>605
書き込み
ini.WriteInteger('window', 'windowstate', Ord(Form1.WindowState));
読み込み
Form1.WindowState := TWindowState(ini.ReadInteger('window', 'windowstate', Ord(wsNormal)));


608 :605:02/12/23 21:01
>>607

thx

609 :デフォルトの名無しさん:02/12/23 23:05
初めてActiveX DLLを作成することになったのですが、うまく例外を発生させることができません。
例外情報を渡すためのクラスとしてIDispatchインターフェースとExceptionクラスを継承したクラスを作成し、
例外発生時にはそのインスタンスを作成およびraiseして、クライアントアプリケーション側では、
そのインターフェースからエラー情報を取得するようにしたかったのですが、
クライアント側で発生する例外はただのExceptionになっています。
例外オブジェクトはActiveXとアプリケーションの間を飛び越えられてないようです。
ActiveXでエラー情報を渡す方法ってどのような方法がありますか?

610 :デフォルトの名無しさん:02/12/23 23:24
>>609
マルチは氏ね

611 :デフォルトの名無しさん:02/12/24 00:40
ソース添削教室は終わったの?
オレはソース見せるのはイヤだなぁ。絶対イヤだ。
超スパゲティミートソースだから(藁
変数名とか見られるだけでこちょばゆい。

612 :デフォルトの名無しさん:02/12/24 00:47
人は見られて美しくなるのだよ。

613 :586:02/12/24 01:23
>>611
 私の場合、最初は誰でも初心者だぁ的な勢いでソースアップしちゃいました。
とはいえ大したものじゃないですけどね。ただ、実際に自分でアプリらしきものを
つくってみて、例外処理の対応等フリーソフトの作者さん等は大変なんだなという
視座をもつことができたのが自分にとっと大きなプラスでした。


614 :デフォルトの名無しさん:02/12/24 01:38
でした。ってもう終わりかよ!

615 :586:02/12/24 02:08
>>614
 Delphiプログラミングはこれからがんがんやりますよー。
あの目覚まし時計もタスクトレイ格納とか実装して改良していってますし。


616 :デフォルトの名無しさん:02/12/24 03:38
「大きなプラスでしたぁ♪」
↑今日のわんこ風に、キクちゃんに言ってもらいたい。

617 :デフォルトの名無しさん:02/12/24 07:43
>>609
書いてる事は
構造化例外RaiseExceptionを使ったのにって意味?
それともDelphiの例外を ActiveX中で投げたの?・・・それはしないよな
 ActiveX はDelphi以外のモジュールからも呼ばれるのがメリットなのに・・・・

例外情報についてはActiveXの流儀= 帰り値で返す に従った方が皆が幸せでしょう



618 :デフォルトの名無しさん:02/12/24 08:27
ttp://www.ai-pub.co.jp/contents/support/delphi6-180/index.html
このtipsで勉強してきたんだけど、次のステップアップを目指せるようなサイトとかご存じでしたら教えてキボンヌ

619 :デフォルトの名無しさん:02/12/24 08:29
>>618
自分の頭とセンスに頼れ。

620 :デフォルトの名無しさん:02/12/24 10:44
>>618
コードを書く。
VCL ソースを読む。
他人のコードを読む。

どんな言語(含む自然言語)もこれがすべて。

621 :デフォルトの名無しさん:02/12/24 15:28
コンポーネントってどこに解凍してます?
/Borland/Delphi6/の下だとどこが一般的?
Lib?Demos?

622 :デフォルトの名無しさん:02/12/24 15:53
自分でディレクトリを作って全部そこで解凍してます。パスを通すのが
一つで済みます。

623 :デフォルトの名無しさん:02/12/24 16:47
>>622
同じく俺も

624 :デフォルトの名無しさん:02/12/24 17:19
おまえら!凄い事思いついたから発表するぞ!
なんと、delパソで合法的に儲ける方法だ!


1,delパソでプログラムを完成させる。
2,テキストファイル形式で売る。
3,あとは購入者が勝手にコンパイルする。

625 :デフォルトの名無しさん:02/12/24 17:26
>>624
商用開発にパソ使ってる時点で非合法じゃん

つーか・・・こんなこと考えてる暇あったら少しでもプログラム組めよ

626 :デフォルトの名無しさん:02/12/24 17:46
改訂版!

1,テキストを書いて売る
2,あとは購入者が勝手にコンパイルする
3,不具合は仕様ですで押し通す

627 :デフォルトの名無しさん:02/12/24 18:31
販売形態に関わらず、商用開発になってるよ!

628 :デフォルトの名無しさん:02/12/24 18:44
改訂版2!

1,C++でプログラムを完成させる。
2,C++でCppのソースをdelphiソースに変換するプログラムを作り、無料配布する。
3,1で作ったソースを売る!

629 :デフォルトの名無しさん:02/12/24 18:53
Proで作ったって言い張れば良いんだよ。

630 :デフォルトの名無しさん:02/12/24 19:15
1.偽delProを作る
2.偽delProで商品を作る

631 :デフォルトの名無しさん:02/12/24 20:49
INIを自分と同じフォルダに入れるにはどうすればいいんですか

632 :デフォルトの名無しさん:02/12/24 20:54
自分と同じ?
changefileext(application.exename,'.ini')
にファイルを作成じゃだめなのか?



633 :デフォルトの名無しさん:02/12/24 20:55
まず自分を電子情報化する手段はあるの?

634 :デフォルトの名無しさん:02/12/24 21:01
>>632

ありがとー

635 :デフォルトの名無しさん:02/12/24 21:03
>>631
IncludeTrailingPathDelimiter(ExtractFileDir(ParamStr(0)))か、IncludeTrailingPathDelimiter(ExtractFileDir(Application.ExeName))でEXEのあるフォルダがわかるからそれ+INIのファイル名で。またはChangeFileExt(Application.ExeName, '.ini')でEXEの拡張子を変える。

636 :デフォルトの名無しさん:02/12/24 21:12
>>628

その内容、Delパソとなんの関係も無いよ!

637 :デフォルトの名無しさん:02/12/24 22:02
1,脳内でプログラムを完成させる。
2,メモ帳で入力してテキストファイル形式で売る。
3,あとは購入者が勝手にコンパイルする。

638 :デフォルトの名無しさん:02/12/24 22:04
1,脳内でプログラムを完成させる。
2,会話形式で売る。
3,あとは購入者が勝手にソース書いてコンパイルする。

639 :デフォルトの名無しさん:02/12/24 22:07
1,脳内でプログラムを完成させる。
2,テープに録音する。
3,あとは速記者がソース起こすので解読する。

640 :デフォルトの名無しさん:02/12/24 22:12
1,脳内でプログラムを完成させる。
2,脳内で売る。
3,脳内で購入者が勝手にコンパイルする。

641 :デフォルトの名無しさん:02/12/24 22:15
1,友人にプログラムを完成させる。
2,友人のマシンでコンパイルする。
3,あとは黙って売って勝手に儲ける。

642 :デフォルトの名無しさん:02/12/24 23:12
1,delプログラムを自動で完成させるプログラムをVBで書く。
2,売る。
3,あとはイブなのにネタスレ

643 :デフォルトの名無しさん:02/12/24 23:29
クラスを引数にとる関数を作ってその関数の中で
データメンバに変更を加えても、値渡しなら
コピーがつくられるだけだから元のクラスには
変更は及んでないんじゃないの?
思いっきり変わってるんだけど・・・

644 :デフォルトの名無しさん:02/12/24 23:31
クラスをデータメンバにとる関数を作ってその変更の中で
引数に変更を加えても、コピー関数がつくられるだけなら
値渡しだから元のクラスには
変わりは及んでないんじゃないの?
思いっきってるんだけど・・・

645 :デフォルトの名無しさん:02/12/24 23:33
??

646 :デフォルトの名無しさん:02/12/24 23:40
データクラスを引数に思いっきってる関数を作って変わりの中で
変更をメンバに加えても、コピー関数がつくられるんだけど
・・・及んでないだけなら
その値渡しだからクラスには
元の変更はとるんじゃないの?

647 :sage:02/12/24 23:52
おまいら日本語話せや

648 :デフォルトの名無しさん:02/12/24 23:59
sageてなかった。鬱だ・・・

649 :デフォルトの名無しさん:02/12/25 00:38
>>643
なんでだろう

650 :デフォルトの名無しさん:02/12/25 00:42
>>649

同じ内容のコードをC++で書いたら
ちゃんと変更されないでいたよ。
どうすればいいのでしょう?

クラスでなくて、ただの変数を関数に渡した場合
も変更されてなかった。でもクラスだと変更が残ってる。


651 :デフォルトの名無しさん:02/12/25 00:45
ななななんでだろぅ

652 :デフォルトの名無しさん:02/12/25 01:22
値渡しで参照がコピーされる。
参照の値が同じなら同じオブジェクトを指すので
渡された参照の先のオブジェクトを変更すれば当然元の引数の変数に
入っていたオブジェクトも変更される。

653 :デフォルトの名無しさん:02/12/25 01:26
なるほど。参照がコピーされるだけだったのか。ありがと!!!!!

654 :デフォルトの名無しさん:02/12/25 06:53
>>652
言っている意味が全然わかんね。
引数として取ったオブジェクトは参照のコピーでしょ。
そのコピーに変更を加えてるだけだから、
その関数終了時にそのオブジェクトは破棄されるだろ。
だから元のオブジェクトに影響なんて無いはずじゃないのか?

655 :デフォルトの名無しさん:02/12/25 07:51
> その関数終了時にそのオブジェクトは破棄されるだろ。
> だから元のオブジェクトに影響なんて無いはずじゃないのか?
それは関数の実装に依存する。
基本的には勝手に破棄されては困る。

656 :デフォルトの名無しさん:02/12/25 08:09
>>654
同じオブジェクトを参照しているものが二つになったと考える。
参照は二つになっても双方とも参照先のオブジェクトは同一。

657 :デフォルトの名無しさん:02/12/25 08:16
じゃあつまり、オブジェクトを関数に渡してしまっても
変更が元のオブジェクトに及ばないコードを書くにはどうすればよいのよ?



658 :デフォルトの名無しさん:02/12/25 08:26
>>657
渡されたオブジェクトの内容を新しく作ったオブジェクトにコピーしてそれを渡す。
まぁ、オブジェクト同士の比較するとfalseが出て鬱だけど。

659 :デフォルトの名無しさん:02/12/25 08:56
>>657
そういう操作をしたい場合はレコード型やオブジェクト型の変数にします。

クラス型変数は常に参照ですから、変更しないという対策になります。
どうしてもそういう対策が必要ならクラスの方で全ての変更をロックす
るしかありません


660 :デフォルトの名無しさん:02/12/25 08:59
>>659
>クラス型変数は常に参照ですから、変更しないという対策になります。

そうでもない気もするけどね。

661 :デフォルトの名無しさん:02/12/25 09:07
おめーらポインタの概念を教えてやれよ

662 :デフォルトの名無しさん:02/12/25 09:09
>>661
あるアドレスにある値を読むために使う特殊な変数。値として参照するアドレスを持つ。

663 :デフォルトの名無しさん:02/12/25 09:28
今ならわかるポインタだが・・・
昔は明確に説明してる文書が少ないからわからずにC挫折
そんな感じ


664 :デフォルトの名無しさん:02/12/25 10:08
>>660
関数の引数としては参照渡ししかないだろ。

665 :デフォルトの名無しさん:02/12/25 10:14
>>664
いえ、関数の引数だけではなくクラス型の変数は全て参照になります。

例えば
obj1:TComponent;
obj2:TComponent;

だと obj2:=obj1; はインスタンスのコピーじゃなく参照のコピーで obj2でも obj1でも 同じインスタンスを
扱うだけであり、中身はコピーされません。

レコード型やオブジェクト型との大きな違いで、最初戸惑うところだと思います。


666 :デフォルトの名無しさん:02/12/25 10:16
>>665
まぁ、ポインタ相当だな。

だからこそ引数が参照になるのは必然だな。

667 :デフォルトの名無しさん:02/12/25 10:30
そうですね。
 メモリを スタック、スタティック、ヒープの3つに別けるとします
 スタックは、関数・手続・メソッド内のローカル変数の為の領域
 スタティックはグローバル変数や、ユニットローカルな変数の領域
 ヒープは動的に作成解放する領域です。

 コンパイラはスタック、スタティック領域に関しては、コンパイル時に
 その位置(スタックについては相対位置)が判ります。
 しかし、ヒープについては、どこに作成されるか判りませんから、
 ヒープについてはポインタ、又は参照変数で参照するしかありません。

 たぶんコンポーネントの実装の為にクラス型の実体(インスタンス)は
 ヒープ領域にしか存在出来ない事にしたのでしょう。
 となると、スタックやスタティックな変数からはポインタでしか参照出来ま
 せんが、それではイチイチ ^ が必要となって面倒でしょうから ^ を省き
 ましょうと いう事だと考えるといいでしょう。

 だからBCB++からVCLを扱うと、C++はクラス型インスタンスを スタック、
 スタティックにも取れる言語ですから 常に -> が必要になります。


668 :デフォルトの名無しさん:02/12/25 10:39
Object Pascalって、Cより可読性低くありません?
thenとかendとか代わり映えのしない文字がやたらと並んでて、
Tabで綺麗に段階分けされて記述されたCのソースよりも非常に読み辛い。
あと、初期化の記述がCより面倒くさくて融通が利かない。

669 :デフォルトの名無しさん:02/12/25 10:40
>>668
慣れの問題。以上。

もっとやりたいなら過去ログに何度と無く議論されてるからそれを読んでからにしてくれ。

670 :デフォルトの名無しさん:02/12/25 10:54
>>668
そりゃあ、綺麗に書かれた C より 汚く書いたDelphiが当然汚いでしょう

でも、慣れれば、普通の人が書いたCよりも普通に書いたDelphiの方が読みやすいです。
理由は、

1、初期化の記述がCより面倒くさくて融通が利かない為に、Delphiの方が個人によるコードの差が小さい

2、演算子や制御文がDelphiの方が貧弱である為 同じアルゴリズムを実装したら
  Delphiの方が個人によるコードの差が小さい

3、演算子や制御文が貧弱な代わりに、動的型情報を持てる列挙型、そしてCにない
  集合型、string型、動的配列型、があり、 Cより高レベルな記述が出来る為に 読みやすい

671 :デフォルトの名無しさん:02/12/25 11:10
>>670
1.なぁ、初期化って具体的に何を指すわけ?

2.Cに存在するモノは一通りあると思われ。forは確かに負けているけれども。

3.それは言語の機能の差で構文とか読みやすさとかそう言うレベルの話なのか?

672 :670:02/12/25 11:27
1、初期化は さあ? >>668に聞いてくれ、 たぶん初期化じゃなくて定義の事だろう

2、Cにあってない演算子 += -= /= *= ++ --
  貧弱なのは for のほかに
    >>   SHRは自動的に符号なしシフトに
  とかかな

3、動的配列やオープン配列を上手に使ってくれてると他人のコードでも読みやすいと
  思うけど? C で配列とポインタ混在されてるコードよりは

  集合型も上手に使ってくれると他人のコードでも判り易い

673 :デフォルトの名無しさん:02/12/25 11:37
+= -= ++ -- は整数限定だが Inc/Dec があるけど演算子じゃねーなあ。

674 :デフォルトの名無しさん:02/12/25 11:41
>>673
*=とかはたまに恋しくなるなw

でも、

a := a * 5;

を可読性が悪いとか宣う奴って大物だな。

675 :デフォルトの名無しさん:02/12/25 12:52
>>670
却って弱点を露呈してると思われ

676 :デフォルトの名無しさん:02/12/25 13:14
1,漏れは大物です。

2,過去ログは1〜3と10だけ読みますた。まだまだてす

3,「int 〜〜〜〜〜」 と 「〜〜〜〜〜〜 integer」なら、前者の方が一瞬で型が判別できるのとかも

677 :デフォルトの名無しさん:02/12/25 16:51
アンドゥやリドゥを二回以上実行するにはどうすればいいんですか?

678 :デフォルトの名無しさん:02/12/25 17:04
>>677
それは Delphi IDEの使い方の事? なら単に繰返して操作すれば?
それは TMemoの事? Windowsのメモ帳にない機能の実装は難しいよ
確か TRitchEditなら複数可能だった気もするから調べてみたら?

679 :デフォルトの名無しさん:02/12/25 17:10
TRichEditです、調べてみます……

680 :デフォルトの名無しさん:02/12/25 17:43
ゴメン
複数Undoが可能なのは Rich Edit 2.0 で DelphiのTRichEdit は Rich Edit 1だから、そのままではダメだ



681 :デフォルトの名無しさん:02/12/25 17:55
アン!ドゥッ!リドウッ!!

 「それじゃ〜そのタイミングじゃわい!」

682 :デフォルトの名無しさん:02/12/25 17:58
こんな感じで無理やり RichEdit2.0コンポ作ったら 複数Undoは可能になったみたい

uses RichEdit;
/////////

type TMyRichEdit = class(TRichEdit)
public
procedure CreateParams(var Params: TCreateParams);override;
end;
////////////
var FRichEdit20Module: THandle;
///////////
procedure TMyRichEdit.CreateParams(var Params: TCreateParams);
const
RichEditModuleName = 'Riched20.dll';
HideScrollBars: array[Boolean] of DWORD = (ES_DISABLENOSCROLL, 0);
HideSelections: array[Boolean] of DWORD = (ES_NOHIDESEL, 0);
begin
if FRichEdit20Module = 0 then
begin
FRichEdit20Module := LoadLibrary(RichEditModuleName);
if FRichEdit20Module <= HINSTANCE_ERROR then FRichEdit20Module := 0;
end;
inherited CreateParams(Params);
CreateSubClass(Params, 'RichEdit20A');
end;


683 :デフォルトの名無しさん:02/12/26 18:07
どなたか、ヒントだけでもお願いします。

ScrollBoxにPaintBoxを貼り付けて、ScrollBoxのwidthを300、
PaintBoxのCanvas.widthを2000としたとします。
 ScrollBoxを横にスクロールさせても、常にXが真中(ScrollBoxのというか
画面のというのか・・)になるようにcanvas.textoutで文字をPaintBox.Canvasに
描画したいのですが、こういう場合はどのようにXの位置を取得すればいいのですか?

684 :683:02/12/26 18:31
canvas.width→paintbox.widthの間違いです。

685 :デフォルトの名無しさん:02/12/26 19:04
unitファイルの中に記述した関数を
別のプログラムの中からusesして使いたいんですけどどうすればいいんでしょう?
コンパイルしても未定義ってでちゃうんですが・・

686 :デフォルトの名無しさん:02/12/26 19:19
>>683
TScrollBox.HorzScrollBar.Position

687 :685:02/12/26 19:41
すいません。
できました。

688 :デフォルトの名無しさん:02/12/26 19:45
>686

ありがとうございます。できました。

689 :デフォルトの名無しさん:02/12/26 21:35
>>685

unit UnitHoge;

interface

function Hoge(i: Integer): String; // これ忘れてないか?

implementation

function Hoge(i: Integer): String;
begin
//いろいろ
end;

end.


690 :デフォルトの名無しさん:02/12/26 21:39
>>673
>整数限定だが Inc/Dec があるけど
正確には整数型ではなく順序型。
b := false;
Inc(b);
if b then ShowMessage('これ実行してみな');

691 :デフォルトの名無しさん:02/12/26 23:04
>>690
意味不明。
「正確には整数型ではなく順序型」の説明になってねーし。

692 :デフォルトの名無しさん:02/12/26 23:40
var
b: char
begin
b := 'a';
Inc(b);
Inc(b);
Inc(b);
ShowMessage(b);
end;

693 :デフォルトの名無しさん:02/12/27 00:18
いつの間にかポインタもInc/Decできるようになっとる……

694 :デフォルトの名無しさん:02/12/27 00:39
>>691
あんたが意味不明。
Booleanは順序型に含まれる。

>>693
自分の記憶じゃDelphi2からできたけど…Delphi1とそれ以前は持ってないので知らん

695 :デフォルトの名無しさん:02/12/27 00:44
PointerはInc/Decできんだろう。

696 :デフォルトの名無しさん:02/12/27 01:43
Del6PersonalとDel6Proは生成されるEXEのバイナリコードは同じでしょうか?

697 :696:02/12/27 01:46
補足:条件は、コンパイルするソースがまったく同じ場合です。

698 :デフォルトの名無しさん:02/12/27 04:26
違う場合もあるし、同じ場合もあります。

699 :デフォルトの名無しさん:02/12/27 07:03
>>696 に便乗して質問です。
>>698
それは、PersonalとProに付属するライブラリ等の差による物でしょうか?
それとも、コンパイラ自体に違いがあるのでしょうか?
同様にそれは、Delphi7でも同じでしょうか?
Del7Personalを買おうか、Proを買おうか、迷ってます。
Delphi7の製品情報を見ても、エディション(Personal/Pro)によるコンパイラの差に類する項目は見られなかったので、Personalを買おうと思うのですが、若干心配です。

700 :673:02/12/27 09:21
>>690
一応弁解しておくが、俺は「整数型」とは書いてない。
>>668が「順序型」を知ってるかどうかわからなかったので
曖昧でもわかりやすく「整数」と書いたまでだ。

701 :デフォルトの名無しさん:02/12/27 10:07
>>698
同じだと思うが。
異なる場合を教えておくれ。>> 698

702 :デフォルトの名無しさん:02/12/27 10:59
質問です。
delphi7 自身のメニュー機能(上部にあるファイル/編集ね)は、青色に反転し、
かつメニューにもアイコンが表示されていてちょっとカコイイ

あれと同じことを自分もやろうとする場合、どのコンポーネントをベースに組んでいけばいいのでしょうか?
見た瞬間に解かる方いますか?



703 :デフォルトの名無しさん:02/12/27 11:01
>>702
この前クールな青色がどうとか言ってたバカか?

704 :デフォルトの名無しさん:02/12/27 11:02
習わぬお経は覚えないタイプだな。

705 :デフォルトの名無しさん:02/12/27 11:10
TActionMainMenuBar と TActionManager を貼り付けて
ActionManager1で標準アクションの追加をして
それを TActionMainMenuBar に D&D してみろ



706 :デフォルトの名無しさん:02/12/27 11:25
>>705 thx やってみます。
>>703 誰ですかそれ???


707 :デフォルトの名無しさん:02/12/27 11:55
Del用のドキュメント生成ツールを知りませんか?


708 :デフォルトの名無しさん:02/12/27 11:58
Del7 Pro まだ買ってないんだが、どうしようか迷ってる。
今まで以上にバグってたり、ヘルプの出来が悪いみたいなんで。
教えてほしいこと。(Pro 版)
(1) Del6 より良くなった点
(2) 新しく追加された VCL コンポには何があるのか
(3) 新しい印刷系のコンポは前のヤツと比べてどうか(扱い易いのか)
(4) バージョンを重ねるごとに EXE サイズが肥大化しているが、
  やはり今回もDel6より大きくなってしまっているのか
  (空のフォームの場合の EXE サイズはどれくらいなのか)
(5) Delphi Language になって追加・変更された予約語、キーワードや構文など

どか、おねげーすんますだー。

709 :デフォルトの名無しさん:02/12/27 12:01
>>708
Delphiご自慢のランタイムが要らない(プ
をやめるだろうからEXEのサイズは減るんじゃない。
ランタイムが要るけどね(w

710 :デフォルトの名無しさん:02/12/27 12:04
アタマ大丈夫?

711 :デフォルトの名無しさん:02/12/27 12:19
>>707
ここにいってみれ。
http://www.vector.co.jp/swreg/list/win/prog/index.html

712 :デフォルトの名無しさん:02/12/27 12:30
>>709
昔からランタイムありにはできたよ。デフォルトがそうじゃなかっただけで。

713 :711:02/12/27 12:30
D/Scribe \7,000
!Doc \26,000
Liberalsoft DocMan \33,000

フリーのものならUnit Reporterとかかな。

714 :デフォルトの名無しさん:02/12/27 12:37
>>712
ふーん。ランタイムありにしててもバージョンを重ねるごとにEXEサイズが肥大化してたのか。

715 :デフォルトの名無しさん:02/12/27 12:40
>>714


716 :デフォルトの名無しさん:02/12/27 12:52
教えてあげるから素直に聞きなさい!

717 :デフォルトの名無しさん:02/12/27 13:10
アクションマネージャについての質問です。
アクションマネージャーにてディフォルトアクションの登録でファイル「開く」
を設定した後にonCLOSEの実行部に以下の文を設定しますた。

procedure TForm1.FileOpen1OpenDialogClose(Sender: TObject);
begin
Caption:=FileOpen1.Dialog.FileName;
end;

実行-ファイルを開くでファイルダイアログが開きます。
ファイルを選択したところ(キャプション代入時)でデバッカーで止めました
ところFileNameは空なのです。

読む場所が間違っているのでしょうか? 
それともCLOSEにこれを書いてはならぬのでしょうか?

718 :デフォルトの名無しさん:02/12/27 13:13
>>717
事故レス 解決しました。
onAccept に書けばよかったみたいです。
回線切って寝ます。


719 :デフォルトの名無しさん:02/12/27 16:21
TScrollBarはPosition値の変化でOnChangeイベントが発生するけど、
TScrollBoxのScrollBarのPosition値の変化はどうやってゲットすればいいの?

720 :デフォルトの名無しさん:02/12/27 16:56
>>719
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1017673221&rm=100


721 :パクリ:02/12/27 17:04
TScrollBoxEXというコンポを作成して、イベントを追加すればいいよ。

722 :719:02/12/27 17:15
>720

頂きますた。ス晴らしすぎ。超うれし。ありがd。

723 :デフォルトの名無しさん:02/12/27 17:15
TScrollBox のようなクラスに OnVScroll のようなイベントがないのは
摩訶不思議。

724 :デフォルトの名無しさん:02/12/27 17:29
>>720

イベントが2回連続で発生しちゃってるんですけど・・・・。

725 :デフォルトの名無しさん:02/12/27 17:33
>>724
必ず二回なら回避できるっしょ。

726 :720:02/12/27 17:43
>>724
実際に使ってるんだが、そんなの気にしたことなかった。
そんなわけで、問題があるなら各自対応するか、
ScrollBoxのエライ人が出てくるまでお待ちくだされ。

727 :デフォルトの名無しさん:02/12/27 17:45
一回目と二回目でmsgの内容が変化してたりしないの?

728 :デフォルトの名無しさん:02/12/27 18:03
ScrollBoxのエライ人、早く来い!!(▼ー▼#)

729 :デフォルトの名無しさん:02/12/27 18:10
えらくないけど

procedure WMVScroll(var msg: TWMVScroll); message WM_VSCROLL;

で捕まえて

procedure TScrollBoxEx.WMVScroll(var msg: TWMVScroll);
begin
inherited;
if Assigned(FOnVScroll) then FOnVScroll(self);
end;

で呼び出せば、普通1回のスクロール動作で2回以上呼び出されるのは
当然です。LOWORD(WPARAM) に相当する部分、(msg.code ?手元に環境がないので)
が SB_ENDSCROLL の時だけイベントを呼ぶことにしたらどう?

730 :デフォルトの名無しさん:02/12/27 19:57
実行させるごとに浮動小数点のinvalid operationが出てしまい、ドツボにはまっています。
ダイアログが出てメモリダンプが出てきますが、これはOSによる例外なのでしょうか。
DelphiのIDEがここが変だ!と示してくれないため、場所が特定できていません。
残る手は一行ずつトレースするしかないのでしょうか・・・。
(Delphiの例外ではなければtry〜exceptでは捕まらないのでしょうか?)

731 : ◆F52DmOxJlc :02/12/27 20:00
>>730
どんなプログラムなのかな?

732 :デフォルトの名無しさん:02/12/27 20:05
>>729
難し過ぎてよくわからないので、実装してください♥

733 :デフォルトの名無しさん:02/12/27 20:06
>>731
シミュレーションプログラムです。タイマを使って、単位時間ごとに演算を行ってます。
トレースしようにも、1秒あたりの演算量が凄い・・・(;´Д`)

変数を監視するに、止まる瞬間にもの凄い桁数になってるので、
「数値演算関数でInt64の範囲を超えてるのでは?」くらいしかわからなくて。
VBみたいに、変数を連続して吐き出せるデバッグウインドウがあればいいんですが・・・。

734 :デフォルトの名無しさん:02/12/27 20:07
>>730
OS, Delphi のバージョン
IDE で CPU ウィンドウを先に開いておいてから実行。
メモリダンプのスクリーンショット
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
に貼り付け。

735 :デフォルトの名無しさん:02/12/27 20:15
>>734
すみません。・゚・(ノД`)・゚・。
Win2000 + Delphi5です。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1017673221_6/hoge.jpg

736 :デフォルトの名無しさん:02/12/27 20:29
truncの引数の値はいくつだ?

737 :デフォルトの名無しさん:02/12/27 20:44
roundは使ってますが、truncは使ってないです。(´・ω・`)
二次関数の結果をroundしてるので、異常な値が渡ってるのかもしれません・・・。もうちょっと試行錯誤してみます。

738 :デフォルトの名無しさん:02/12/27 21:11
>>732
>難し過ぎてよくわからないので、実装してください♥

729 です。試したらうまくいきました。

procedure TScrollBoxEx.WMVScroll(var msg: TWMVScroll);
begin
inherited;
if (msg.ScrollCode = SB_ENDSCROLL) and Assigned(FOnVScroll) then
FOnVScroll(self);
end;

HScroll も同様。


739 :デフォルトの名無しさん:02/12/27 21:34
>>738
愛してる♥
あたしの愛を&heart;&heart;&heart; あぁ〜ん&heart;

740 :デフォルトの名無しさん:02/12/27 21:36
ハ、ハ、ハ、ハートが・・・・・。Σ( ̄ロ ̄lll) ガビーン

741 :デフォルトの名無しさん:02/12/27 23:31
$0041D3B4 の一つ前の CALL 命令で Trunc を呼んでいるのだが。
Trunc は FPU に値を積んで呼び出されるから、FPU レジスタの値を
見てみたいですね。

Debug 版 DCU を使って、スタックフレームを作るように指示してアプリを再ビルドすると
呼び出し履歴でかなりの部分を見ることができる。Trunc を呼ぶ前に
どんな関数を呼び出してきたかがわかると思う。

742 :デフォルトの名無しさん:02/12/27 23:36
それと、Trunc で落ちる。ってのはおそらく 8087 のステータスが変わっているんじゃないかな?
Set8087CW(Default8087CW)
って一行をアプリケーションで何か作業を行う前に実行。
MS 製の DLL を読み込むと 8087 のモードが切り替わることが原因。



743 :デフォルトの名無しさん:02/12/27 23:41
>VBみたいに、変数を連続して吐き出せるデバッグウインドウがあればいいんですが
リンカ指定でコンソールアプリにして、writeln をソースに埋め込み。


744 :デフォルトの名無しさん:02/12/27 23:47
>>473
素直にOutputDebugString使えよ…
WriteLnの出力先をそっちに変更するテクニックだって、探せばすぐ見つかるぞ

745 :デフォルトの名無しさん:02/12/28 00:19
Delphiを学びたいと思っています。
ちょっとした(?)、メディアプレーヤー等、小物を作って自己満足に
浸る場合は、personalでいいのでしょうか?

使えない機能などがよく分かりません・・・
よかったら教えて頂けないでしょうか?

746 :デフォルトの名無しさん:02/12/28 00:25
パースナロでいしいで!

747 :デルファイの名無しさん:02/12/28 00:28
>>745
ProとPerの差は主にデータベースやネットワーク関係なんですけど、
そのへんはアクセサリ系アプリにはあんま関係ないでしょうね。
むしろ一番痛いのはOffice風のメニュー(アクションバー)がPerには無いことかな。
でもまあ、Personalは無料なんで、不満を感じるまではPersonalでいいでしょ。

748 :デフォルトの名無しさん:02/12/28 01:18
TStringList型のslAllに、
同じくTStringList型のslPartの中身を入れたいとき

for i=0 to slPart.Count-1 do
  slAll.Add(slPart[i]);

としてるのですが
これ以外のもっとよい方法ないでしょうか?

749 :デフォルトの名無しさん:02/12/28 01:19
アップデートCDキタ━━━━━━(゚∀゚)━━━━━━!!!!!


750 :デフォルトの名無しさん:02/12/28 01:25
>>748
slAll.Assign(slPart);

751 :デフォルトの名無しさん:02/12/28 01:34
>>750
即レスなのに申し訳ない 私の書き方が間違ってました
slAllの内容にslPartの中身を追加したい場合、でした..



752 :デフォルトの名無しさん:02/12/28 02:05
>>751
addstrings

753 :デフォルトの名無しさん:02/12/28 02:14
>>752
的確なレス 有難うです
夜分に申し訳ございませんでした

754 :デフォルトの名無しさん:02/12/28 03:56
リネームソフトを作成してるのですが分からないので質問します

例えば
d:\テスト\001
d:\テスト\001\002
d:\テスト\001\002\003

という3つのフォルダがあるときに、
003→001→002という順で4桁連番でリネームさせると
003が0001に001が0002となるのですが、
002は親フォルダ001が0002になってしまうことで
002のパスが
d:\テスト\001\002から
d:\テスト\0002\002となってしまいリネームできなくなってしまいます

d:\テスト\001\002のパスが変更されたことが事前に分かれば
リネーム処理をする前にd:\テスト\001\002をd:\テスト\0002\002に
変えてあげれるのですが、FindFirstChangeNotification APIを使っての
変更後パスの取得の仕方が分からないです

なにか良い方法はないでしょうか?

755 :デフォルトの名無しさん:02/12/28 05:06
>>754
フォルダの階層をカウントして奥にあるもの順にソートするとか。

756 :デフォルトの名無しさん:02/12/28 07:26
ShowMessageでメッセージを表示するとタイトルバーにProject1と表示されるん
ですが、これって変更出来ないんでしょうか?
あと、プログラムの終了は次のどれがいいですか?
・Halt
・close
・application.Terminate

特にファイルの更新などはチェックしないつもりなんですが・・・。

757 :デフォルトの名無しさん:02/12/28 07:28
${APPTYPE GUI} の時に、
標準出力をコマンドプロンプトのような窓に割り当てて、
書き出す方法教えてください。

以前、話題に上がったような気がしたのですが見つかりませんでした。

758 :デフォルトの名無しさん:02/12/28 08:01
${APPTYPE CONSOLE} に書き換える

759 :デフォルトの名無しさん:02/12/28 08:43
>>757
Writeの直前に AllocConsole; を呼び出す

760 :デフォルトの名無しさん:02/12/28 09:04
thx

761 :デフォルトの名無しさん:02/12/28 10:32
>>746-747
あのXP風のメニューはないんですね・・・
まぁ、無料なので文句は言えませんが。

ありがとうございました。本でも買ってきます

762 :デフォルトの名無しさん:02/12/28 11:17
Delphi XP風 メニューで検索汁!

763 :デフォルトの名無しさん:02/12/28 12:36
何が見つかるの?

764 :デフォルトの名無しさん:02/12/28 13:02
Delphiでpersonalとprofessionalとenterpriseがありますけど
それらの含むクラスの違いなどはどこで知ることができるのでしょうか?

765 :デフォルトの名無しさん:02/12/28 13:10
>>763
海にとろけた太陽

766 :デフォルトの名無しさん:02/12/28 13:13
Delphiってどうなんでしょうか?
これをやってもPGとして仕事はもらえないのでしょうか?

767 :デフォルトの名無しさん:02/12/28 13:19
さぁね。
社内向けツールをさくっと作って喜ばれたりはよくあるけど。


768 :デフォルトの名無しさん:02/12/28 13:20
Delphiってどうなんでしょうか?
これをやってもバレンタインデーにチョコレートとかもらえないのでしょうか?

769 :デフォルトの名無しさん:02/12/28 13:28
あ、チョコはもらえるよ。

770 :デフォルトの名無しさん:02/12/28 13:36
>>764
誰か教えて
>>766
VBの方が多いな
ソースまで提供するなら提供先にソースをメンテできる人が
 いないとダメだし
提供しないにしてもDelphiについて取引先がよくわかってなければ
怪しいもので開発されるという意識を持つだろうから好まれないと思われ
仕事が欲しいならVB&VCのほうがいい。
それかKylixとか。
>>768
使い方次第


771 :デフォルトの名無しさん:02/12/28 13:57
>>764
パッケージを買えば
オブジェクトの家系図がもれなくついてくる(D6ならな)


772 :デフォルトの名無しさん:02/12/28 15:29
>>771
それに書いてるのか。
Personal使ってるんだけど、使いたいものが
ProにあるのかEntにあるのかがわからないことが
時々あって、Proなら買おうかと思うけどEntなら
あきらめるようかという判断の材料にしたいんだけど…

773 :デフォルトの名無しさん:02/12/28 15:33
>>764
ホントはライセンス違反だけど、D7の日本語ヘルプ落として比べてみたらどう?
http://www.borland.co.jp/delphi/del7docup.html

774 :デフォルトの名無しさん:02/12/28 15:34
機能一覧
http://www.borland.co.jp/delphi/del7/feamatrix/
http://www.borland.co.jp/delphi/del7/feamatrix/index02.html

775 :デフォルトの名無しさん:02/12/28 15:38
クラスまでは書いてないが。
http://www.borland.co.jp/delphi/papers/d6guide/d6guid05.html

776 :ねこま:02/12/28 17:14
クラス階層図を画像にする方法

1. VCL\Source にあるすべての pas をプロドェクトに追加してコンパイル
2. モジュールエクスプローラ(ブラウザ)を開く
3. キャプチャーする


777 :デフォルトの名無しさん:02/12/28 18:49
自作ゲームの実行中に、「無効なポインタ操作」とか「読み込み違反」云々ダイアログが出て悩んでいます。
自分の環境では再現しないのですが、人のマシンに持っていくと出るんです。
今のところ、正常だったのが3台、エラーを吐きながら実行継続するのが1台、突然プログラムが終了するのが1台。

ビデオ・サウンドなどの相性の可能性がかなりあるのですが、全部にDelphiを入れてデバッグする訳にもいかず・・・
こういった場合、地道に可能性を潰していくしかないのでしょうか。

778 :デフォルトの名無しさん:02/12/28 18:53
まずはupれ
話はそれからだ。

779 :デフォルトの名無しさん:02/12/28 18:54
>>777
そういうダイアログが出た時に、どこが原因かログを吐くようにしたら?
対策は、その付近を作り直すのが一番速いよ


780 :デフォルトの名無しさん:02/12/28 19:07
ソースは2,000行あって、出るパターンが全くバラバラなんですよね。(予測不能)
せめて自分のコードが変なのか、Sound、DrawまわりのVCL内でエラーが起きてるのかがわかればな・・・。

781 :デフォルトの名無しさん:02/12/28 19:23
>>777
「無効なポインタ操作」とか「読み込み違反」のダイアログの情報収集を。
もちろん OS も。問題が起きているアドレスさえわかれば何とかなる。または
次に何を調べるべきかわかる。

W2K/XP などの NT 系 OS で問題が再現できるならしめた物。


782 :デフォルトの名無しさん:02/12/28 19:46
>>781
Win2000でもXPでも発生しますね。
違反が起きたときのアドレスを収集して、CPU窓とにらめっこ・・・ということでしょうか?↓これ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1017673221_7/error.jpg


783 :デフォルトの名無しさん:02/12/28 20:07
>>782
ていうか動的にメモリ確保してるとこ全部チェック。
後、配列操作とかリスト操作してるところも。

784 :デフォルトの名無しさん:02/12/28 20:09
BoundsChecker使え

785 :デフォルトの名無しさん:02/12/28 20:15
>>783
わかりました。
要は「確保していないメモリにアクセスした可能性」ってことですよね。調べてみます。
(しかし発生するマシンとしないマシンがあるワケが、いまいち理解できてません...(ノД`))

さらに、突然プログラムが終了するというのも聞いたことがない・・・(´・ω・`)

786 :デフォルトの名無しさん:02/12/28 20:20
>>785
>(しかし発生するマシンとしないマシンがあるワケが、いまいち理解できてません...(ノД`))

OSのメモリ管理によってはたまたまその領域が使えたりすることも。ってこった。

787 :777:02/12/28 21:56
ありがとうございます。配列を洗い直したところ、範囲がひとつだけ飛び出ている箇所がありました。
全く予想のしない場所で凄い挙動をするもんなんですね・・・勉強になりました。

788 :デフォルトの名無しさん:02/12/28 22:09
>>785
スタック領域が破壊されると「アプリケーションが突然終了」という現象が起きます。
スタックトレースどころか例外の補足すらできないときですね。

Delphi では長い文字列やオブジェクトはヒープからとられるため、通常は上記の現象は
おきませんが、ローカル変数として割り当てた配列をポインタで扱うときなどに起きる可能性が
有ります。


789 :デフォルトの名無しさん:02/12/28 22:09
あ。788 を書いている間に...
問題が解決したようですね。よかった。

790 :デフォルトの名無しさん:02/12/28 22:11
{$R+}しとけ

791 :デフォルトの名無しさん:02/12/28 22:19
>>790
それですべてが解決するわけではない。

792 :デフォルトの名無しさん:02/12/28 22:20
>>787
こういうのは過去ログ読んでも解決できないですからね。


793 :デフォルトの名無しさん:02/12/28 23:05
アセンブラの「MOV EDX,EAX」でコード「8BD0」を生成するにはどうすれば出来ますか?
asm MOV EDX, EAX end; とすると、コード「89C2」が生成されます。
asm DB $8B, $D0 end; とする以外に方法はありますよね?

794 :デフォルトの名無しさん:02/12/29 00:50
そりゃ確かに MOV EDX,EAX は 8BD0 でも正しいが、わざわざオペランドを逆転させるコードを
書く必要性って何?


795 :デフォルトの名無しさん:02/12/29 01:29
MDI子ウインドウのタイトルが親ウインドウに追加されるので困ってます。
親タイトル - [子タイトル]
と、自動的になってしまうところを、
[子タイトル] - 親タイトル
[なにもひらかれていません] - 親タイトル
にしたいのです。
どうやってかえるのでしょうか?


796 :デフォルトの名無しさん:02/12/29 02:14
みんなマルチパートMIMEのエンデコってどうしてる?
Indy の IdMessage一本?


797 :デフォルトの名無しさん:02/12/29 15:00
 あるゲームにキー入力を送信するプログラムをつくっています。
APIのSendmessage関数をつかって、キーダウンイベントで取得したキーを
送信してみたのですがESCキーがうまく送信されませんでした。
いい方法ないでしょうか?

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
hUO: HWND;
begin
hUO:=FindWindow('あるネットワークゲーム',nil); {ハンドルを取得}
SendMessage(hUO,WM_SYSKEYDOWN,key,0); {キー送信}
Label1.Caption:=InttoStr(key);
end;

798 :デフォルトの名無しさん:02/12/29 17:07
 自己解決しますた。
これでESCキーをきちんと認識しますた。
こんどはテンキーを正常に認識しない。
>>797 う、ハンドル関数定義でばればれだ・・・。

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
handle: HWND; //ハンドル格納
begin
hUO:=FindWindow('あるネットワークゲーム',nil);
SetForegroundWindow(hUO);
keybd_event(key,0,0,0); {キー押す}
keybd_event(key,0,KEYEVENTF_KEYUP,0);{キー離す}
end;

799 :デフォルトの名無しさん:02/12/29 17:10
>>798
× SetForegroundWindow(hUO);
○ SetForegroundWindow(handle);

800 :デフォルトの名無しさん:02/12/29 17:32
procedure Proc(a: array of Char);
のパラメータとしてCharの動的配列を渡す方法を教えて下さい。

801 :デフォルトの名無しさん:02/12/29 17:48
そのままじゃ無理なので
type TCharDynArray = array of Char;
してから渡す。

802 :デフォルトの名無しさん:02/12/29 18:04
type
 TCharDynArray = array of Char;
var
 c1: array of Char;
 c2: TCharDynArray;
begin
 c1 := nil;
 c2 := nil;
 Proc(c1); // 'Array'と'dynamic array'には互換性がありません
 Proc(c2); // 'Array'と'TCharDynArray'には互換性がありません
 Proc(TCharDynArray(c1)); // 'Array'と'TCharDynArray'には互換性がありません
end;

となりますが。。。

803 :デフォルトの名無しさん:02/12/29 18:18
procedure Proc(a: array of Char);
を止めて
procedure Proc(a: TCharDynArray);
としなさい。ってこと。

804 :802:02/12/29 18:46
単に動的文字配列を渡す方法を知りたいのではなくて、
オープン配列パラメータに動的文字配列を渡す方法が知りたいのですが。。。

805 :デフォルトの名無しさん:02/12/29 18:51
半年ぶりに自分の書いたコードを見たら、半分も理解できなかった…
僕の脳はどんどん退化している…

806 :デフォルトの名無しさん:02/12/29 18:57
ヘルプでオープン配列パラメータというのを見ると、

 function Find(A: array of Char): Integer;
このコードでは、任意のサイズの文字配列をとり、整数を返すFindという関数を宣言しています。
メモ   オープン配列パラメータの構文は動的配列の構文に似ていますが、両者は同じではありません。
     上記の関数は、動的配列を含め、Char型の要素を持つ配列をとります。

となっていますが、これは嘘でしょうか?

807 :デフォルトの名無しさん:02/12/29 22:01
Delphi ってその程度の糞言語。

808 :デフォルトの名無しさん:02/12/29 22:04
>>807ってその程度の糞人間。

809 :デフォルトの名無しさん:02/12/29 23:10
>>806
型が違うから無理。

810 :デフォルトの名無しさん:02/12/29 23:16
文字列リストを引数にとって
{**********}
{ }
{ hello }
{ world }
{ }
{**********}
こんな感じで枠を付けた文字列リストを返す関数作ったんですが、
この関数の返り値の文字列リストをTMemoに出力するとき、
出力するべき数は合ってるんですけど、文字の種類によって、大きさが
違うのか、すごいガタガタになっちゃうんですけどどうしたらいいでしょう?
コンソール出力だときれいに出るのは何で?

811 :デフォルトの名無しさん:02/12/29 23:17
思いっきり崩れちゃった
すいません

812 :デフォルトの名無しさん:02/12/29 23:24
フォントを等幅のにしてみたら。MSゴシックとか。

813 :デフォルトの名無しさん:02/12/29 23:36
>>809
配列ではない単なるChar型の変数なら、渡せますが。。。

814 :デフォルトの名無しさん:02/12/29 23:52
>>812
ありがとうございます!!
できました。
そんな単純なことだったんですね。
全然知りませんでした。
では

815 :デフォルトの名無しさん:02/12/30 00:43
>>798 SendKeys.pas を使ったらどう?

816 :デフォルトの名無しさん:02/12/30 11:52
jedi(http://www.delphi-jedi.org/)つながりませんな〜(TT

817 :デフォルトの名無しさん:02/12/30 12:22
{**********}
{       .}
{ h e l l o  .}
{ w o r l d .}
{       .}
{**********}

818 :デフォルトの名無しさん:02/12/30 14:29
del6personalからpostgresqlへ接続できますか?

819 :デフォルトの名無しさん:02/12/30 14:31
>>818
できますよ。

820 :デフォルトの名無しさん:02/12/30 15:02
ぎゃー!!
正月休みに、今まであたためていたブツでも創ろうとDel6パーソナルを
ダウソしてきたが激しく使えん。

クラスビュー(?)とCtrl+Shift+Cに匹敵するツールとか知らないですか?

821 :デフォルトの名無しさん:02/12/30 15:06
GExpert

822 :デフォルトの名無しさん:02/12/30 19:15
TMemoを使っていて、ALTキーを押した瞬間、
カーソルがかわるのを検出したいのですが、
やり方を教えてください?

823 :デフォルトの名無しさん:02/12/30 20:16
Altを押してもカーソルは変わらないと思います。

824 :デフォルトの名無しさん:02/12/30 23:48
>>820
使えないなんて言えるのは買った人だけだと思うが、どうか?

825 :デフォルトの名無しさん:02/12/31 00:07
>>824
>>820そんなこと言ってるか?

826 :824:02/12/31 00:15
>>825
ん?

>ダウソしてきたが激しく使えん。
↑この文は、オレが感じる言葉以外の意味があるのか?

827 :デフォルトの名無しさん:02/12/31 00:22
>>826
悪い。見てなかった。

まぁ、評価はしても良いだろう(限りなく不当な評価だと思うが)。
無料だから媚び諂えと言うのもどうかと。

問題なのは使ってもないのに使えんとかほざいてる奴。


828 :820:02/12/31 00:34
何かおかしな話になってる?

会社でDel6エンタ使ってて、自分用にパーソナルと思ってたんだけど
今まであたりまえのように使えていた機能が削られていたから
激しく使えないと言ったのだが。
ま、金出して買ってもないのに文句言うのも大人げないですな。
パーソナルを評価したということで、Del7プロ買うことにします。

829 :デフォルトの名無しさん:02/12/31 00:45
>ま、金出して買ってもないのに文句言うのも大人げないですな。
分かってんじゃん。

>パーソナルを評価したということで、Del7プロ買うことにします。
そーしてくれ。

830 :デフォルトの名無しさん:02/12/31 00:52
>>820
俺もとソースコードの有無と Ctrl+Shift+C の有無で Delphi4 Pro に縛られてます(苦笑)
クラス補完くらいつけてくれてもいいとおもうんだけどなー・・・。

831 :デフォルトの名無しさん:02/12/31 01:31
今日日無料だから糞でもいいなどという屁理屈は通用しない。
その誤った考えを正さない限り.NET Framework SDK + Sharp DevelopやEclipseに
ボコボコにされるのがオチ。

832 :デフォルトの名無しさん:02/12/31 01:33
↑そういうのはフサギコの方でやってくれ

833 :デフォルトの名無しさん:02/12/31 02:44
delphiのエディターってフリーキャレット?(行末というものが存在しない)ですが、
これって設定で行末にいくと次の行にいくみたいな風に変えれるのでしょうか?
エディタのオプションみたんですが、それっぽいのが無かった。

834 :デフォルトの名無しさん:02/12/31 02:47
>>833 フリーカーソル無効化プラグインというのが開発されている どこかに載ってたはず

835 :デフォルトの名無しさん:02/12/31 02:53
>>834

ありました。
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm

有り難う御座います。

836 :デフォルトの名無しさん:02/12/31 08:52
俺はオブジェクトツリーの有無でDelphi6 Perに縛られてます。

837 :デフォルトの名無しさん:02/12/31 12:03
ListBoxにフォルダをD&Dするとそのパスが表れるようにしたいのですが
ファイルも同様に扱えてしまいます。
フォルダとファイルを区別するにはどうすればよいのでしょうか。

838 :デフォルトの名無しさん:02/12/31 12:04
FindFirstしてAttrib調べる。

839 :デフォルトの名無しさん:02/12/31 13:29
FileExistsとDirectoryExistsを使う

840 :デフォルトの名無しさん:02/12/31 13:52
>>839
俺はこっち

841 :デフォルトの名無しさん:02/12/31 15:07
usesするだけでImage1.Picture.LoadFromFileできるようになるPNGのユニットないですか?


842 :デフォルトの名無しさん:02/12/31 15:25
>>841
無かったっけ?

843 :デフォルトの名無しさん:02/12/31 15:48
たしかあった。

844 :デフォルトの名無しさん:02/12/31 15:54
>>841
ほらよ
http://www.phoenix-c.or.jp/~taki/
http://www.phoenix-c.or.jp/~taki/library/gldpng.html

但し著作権表示は必須だぞ。

845 :837:02/12/31 18:30
>>838>>839
どうもありがとうございました。今からやってみます。

846 :デフォルトの名無しさん:02/12/31 21:08
今年は Delphi 不況の年だったけど、
来年の Delphi には期待したい。
っていうか日某しっかりしてくれyo!

847 :デフォルトの名無しさん:02/12/31 21:23
こんばんは、こんな日のこんな時間になんですけど、
先日、Borland から Delphi 7 のバージョンアップ案内のはがきが届いていました。
現在、Delphi 2.0Jを使っていますが、趣味のプログラミングの範囲しか使っていなかったので、
今までバージョンアップは行ってきませんでした。
(Delphi 6 Parsonal は無料でダウンロードできる事は知っていたが)
でも、今度はバージョンアップする事にしました。
Delphi 2.0J でかなりのソフト(ツール群)を作ってしまっているんです。
そのまま以降しても互換性とか大丈夫ですかね?

848 :デフォルトの名無しさん:02/12/31 22:05
>>847
取りあえず6Personalで様子見てみたら?6->7はできるだろうから2->6ができればあるいは。

849 :デフォルトの名無しさん:02/12/31 22:12
>>847
符号付整数型と符号なし整数型が少し変わってるんじゃないかな。
コンパイルしてそこら辺の warning が出たら気をつけた方がいい。
昔オレはそれで悩んだ覚えがある。

850 :デフォルトの名無しさん:02/12/31 23:39
>>847
コンパイラオプションのデフォルト値がいろいろ変わっている。
それと、コンポーネントをパッケージに入れないと駄目。


851 :デフォルトの名無しさん:03/01/01 00:47
URLを標準のブラウザで開くときに現ウインドウでなく新しいウインドウで
開くにはどうしたらいいでしょうか?

あと、ComboBoxのアイテムをドロップ&ドラッグで順番を変えられる
ようにしたいんですがこれは可能でしょうか?

ヘルプでも検索でも見つかりませんでした、年明け早々教えてクン
で申し訳ないです(^^;A

あと・・

A HAPPY NEW YEAR! >全某使い

852 :デフォルトの名無しさん:03/01/01 01:15
2chに書き込めるスクリプト(<HTML>)を作っているんですが、メモ帳の串リストから串を読み取り、
書き込みボタン一クリックごとに串が切り替わるようにするにはどうすればいいですか?

853 :デフォルトの名無しさん:03/01/01 01:18
タイマーを使って Label.Caption を一定間隔で書き換えているのですが、
しばらくしていると、デスクトップ画面の (0,0) に残像が残った感じになります。
http://sylph.lib.net/imgboard/img-box/img20030101011536.jpg (これは時計表示の場合)

これって、なにか原因は考えられますでしょうか・・・。


854 :デフォルトの名無しさん:03/01/01 01:26
>>851
なんとなく両方とも難しい気がする。検索を続行すれ。英語のとこも。

>>853
「どこの」ラベルなの?フォームが映ってないけど。実行中?終了してそーなるの?


855 :デフォルトの名無しさん:03/01/01 01:27
Label の親がデスクトップなの?

856 :デフォルトの名無しさん:03/01/01 01:31
>>851

最初のは、FindExecutable() で関連付けされているブラウザを取得して、
その URL をパラメータにして起動する

2番目のは、可能だとしてもユーザインタフェースとして変。同じ Items を
もったリストボックスを持つダイアログを表示してユーザに操作させるとよい。

857 :851:03/01/01 01:35
>>856

ありがとうございます。 なるほど、別の場所で操作してもらえば
良かったんですか、勉強になります。

早速これからトライしてみます、ありがとうございました!m(_ _)m

858 :851:03/01/01 01:39
>>854

ありがとうございます。
ComboBoxのドラドロが可能かどうか引き続き検索してみます。

>>853

refresh; を追加しておけばゴミが消えるかな?
ゴミが残る問題の解決にはなってませんが・・(スマ


859 :デフォルトの名無しさん:03/01/01 02:17
>>853
>これって、なにか原因は考えられますでしょうか・・・。

Label をつかってなくて、デスクトップに直接描いてるんだろう?
描いている領域が更新されてないんでは?

860 :デフォルトの名無しさん:03/01/01 02:20
>>ComboBoxのドラドロが可能かどうか引き続き検索してみます。

可能かもしれませんが、ドロップするたびに選択されるんでは?
ドロップダウンリストをドラグドロップするのは、疲れそう

861 :851:03/01/01 02:36
>>860

ぅは・・ 移動するたびに選択されたらシャレになりませんね(汗
おとなしく >>856 さんのおっしゃる通りにします。

ありがとうございました(^^;A

862 :デフォルトの名無しさん:03/01/01 07:31
>>848 >>849 >>850
皆様、親切なレスありがとうございます。

ところで、Delphi 2.0J と Delphi 7 を両方インストールして
必要なときに切り替えるってのはできるのでしょうか?
Delphi 本体自身が使っているモジュールとかあちこちにありそうで
バージョンの不一致になりそうで怖いっス(笑)
ハードディスクのパーテーションを切ってそれぞれに入れれば大丈夫かな?

863 :デフォルトの名無しさん:03/01/01 07:52
>>862
ほとんどのファイルにバージョン番号を織り込んでいるので(vcl60.bpl とか)
DLL の衝突は起きない。
BDE は公式には上位互換ということになっているし。


864 :デフォルトの名無しさん:03/01/01 07:56
>>846
>っていうか日某しっかりしてくれyo!

むりです。
したくてもできません。金も人も権限も無い。

865 :デフォルトの名無しさん:03/01/01 10:40
>>854-855 >>859
Form1に乗ったLabelです。(親はForm1)
フォームはDesktopCenterに出すようにしてますが、実行中にしばらくするとこうなります。

書き換えは、form1.label1.caption := でしか行っていないです。デスクトップに対して
何かをやってるというのはないハズなのですが・・・(;´Д`)

866 :デフォルトの名無しさん:03/01/01 10:45
悪いのはプログラムじゃなかったりして。

867 :デフォルトの名無しさん:03/01/01 12:02
マルチスレッドで同期無視してVCLにアクセスしたときになったことあるよ、それ。
あとは、リソース足りなくてDCが腐ってるとか。

868 :デフォルトの名無しさん:03/01/01 12:44
delphi3を1万で売ってるとこがあるんですけど、
これ買ってVrUPなり優待販売なりでdel7安くかえますか?


869 :デフォルトの名無しさん:03/01/01 13:16
>>867
MMTimer使って一定間隔で更新してるのであり得るかも・・・。

870 :デフォルトの名無しさん:03/01/01 13:17
>>862
不具合の可能性はないとは言えないと思う。
パーティション切ってそれぞれに入れるだけでは意味がないから、
システムコマンダーとか使ってマルチブートするようにすればいいと
思うけど、ほかの点で面倒になるかもね。

871 :デフォルトの名無しさん:03/01/01 14:06
>>869
俺と全く同じだ(w
MMTimerは別スレッド駆動だから普通にVCL呼び出すと死ねるよ。

872 :デフォルトの名無しさん:03/01/01 14:43
今年はみんななに作る?
自分はまずは画像ビューア作るよ。

873 :デフォルトの名無しさん:03/01/01 14:53
俺は書庫内のファイルを階層構造にして表示するやつ(仮想ディレクトリ?)作るよ。

874 :デフォルトの名無しさん:03/01/01 14:57
なんか小さい文字コード変換アプリはさっき書いたけど。

875 :デフォルトの名無しさん:03/01/01 15:04
とりあえず、簡単なアクションゲームでも作ってみる

876 :デフォルトの名無しさん:03/01/01 15:07
>>873
それ、作りたいかもw
どのライブラリ使うの?

877 :デフォルトの名無しさん:03/01/01 15:28
>>862
Delphi7は結局見送ったのだけど、Delphi2, 3.1, 4, 5, 6 とC++Builder4, 5を
同居させてても自分は特に不都合がないから大丈夫じゃないかな?
といっても、普段使ってるのはDelphi3.1, 5とC++Builder5だけだけど。

878 :デフォルトの名無しさん:03/01/01 15:41
>>876
このライブラリ厨が。

879 :デフォルトの名無しさん:03/01/01 16:02
ファイル転送に特化したツール作ろうかな。
ICQとかメッセを使わなくて気軽に送れるようなの。

880 :デフォルトの名無しさん:03/01/01 16:08
>>879
ftpとかどうだ(藁

881 :デフォルトの名無しさん:03/01/01 23:19
>>862
dcuファイルの互換性がない。
つまり、Delphi7用のdcuがなければソースが必要。

882 :デフォルトの名無しさん:03/01/02 01:37
FileListBoxでMaskを'*.bmp'等設定しても
'*.bmpdagorua'や'*.bmpmona'のようなファイルまで取得してしまいます。
これをなくすことはできるでしょうか。
今のところListBoxに下のようなコードで表示させてますが
他にいい方法等あったら教えてください

883 :デフォルトの名無しさん:03/01/02 01:37
var
FoundFile: TSearchRec;
Dirpath: string; //表示したいディレクトリのパス
begin
if FindFirst(Dirpath + '*.bmp', faAnyFile, FoundFile) = 0 then
if Copy(FoundFile.Name, Length(FoundFile.Name) - 3, 1) ='.' then
ListBox1.Items.Add(FoundFile.Name);
while FindNext(FoundFile) = 0 do
if Copy(FoundFile.Name, Length(FoundFile.Name) - 3, 1) ='.' then
ListBox1.Items.Add(FoundFile.Name);
FindClose(FoundFile);
end;

884 :デフォルトの名無しさん:03/01/02 01:45
文字列について修行がたりない。


885 :デフォルトの名無しさん:03/01/02 01:48
>>882
FileListBoxは時代遅れだからListBoxつかっておけばいいよ。
それからFindFirst/Next/Closeはtry/repeat/until/finally/end;を使うのが定石。var
 sr: TSearchRec;
 path: String;
begin
 Win32Check(FindFirst(path, faAnyFile, sr)=0);
 try
  repeat
   if sr.Attr and faDirectory <> 0 then
    continue;
   if UpperCase(ExtractFileExt(sr.Name)) <> '.BMP' then
    continue;
   ListBox1.Items.Add(sr.Name);
  until FindNext(sr) <> 0;
 finally
  FindClose(sr);
 end;
end;


886 :携帯からカキコ:03/01/02 13:38
const e=exp(1);
ってやったら定数式が必要ですって怒られちゃいますた。
何か解決法はないですか?

887 :デフォルトの名無しさん:03/01/02 13:52
var e: real;

e = exp(1);


readonlyということを強調したいなら

interface
funciton e: real

implementation
function e: real;
begin
 Result := exp(1)
end;


888 :886:03/01/02 14:47
>>887
ありがとうございます。
下の方がよくわからないんで上の方でやろうとしたら今度は"識別子の多重定義:`e`"と言われてしまいました。
もう一度詳しく教えて頂けませんか?

889 :デフォルトの名無しさん:03/01/02 15:45
めんどくさいから

const
 Euler = 2.71828182845090452354;

とでも書いたら


890 :デフォルトの名無しさん:03/01/02 16:04
>>888
多重定義になっているeを消す。

> e = exp(1);
begin
 e = exp(1);
end.
のように実行部に書かないとだめ。

891 :デフォルトの名無しさん:03/01/02 16:13
>>887
interface

const
 e: Real = 0;

implementation

//省略

initialization
 e := exp(1);
end.

の方が良くね?なんかコンパイラオプションが必要だったはずだけど>型付定数への代入

892 :デフォルトの名無しさん:03/01/02 23:36
新しい自作コンポーネントつくろうと勉強中なんですか、とりあえず作業手順を
覚えるために本見ながらそのとおりにやってるんですけど、エラーがでてできません。
適当なコンポーネント継承して、コード何も追加せずにコンポーネント追加でコンパイル
しようとしても、エラーが出ちゃうんですけど、何がいけないのでしょう??

893 :デフォルトの名無しさん:03/01/02 23:41
>>892
何も追加しなければ大したサイズじゃないのだから貼り付けたら?
エラーメッセージも教えて

894 :デフォルトの名無しさん:03/01/02 23:54
貼り付けるって言ってもスケルトンコード以外何も書いてないですよ?
とりあえず、TEditを継承して、そのpasファイルはデフォルトの場所(delphi6\Lib)
に置いて、パッケージは既存のパッケージに追加で最初から選択されてたやつですl
delphi6\Lib\dclusr.dpkです。それでコンパイルしようとすると、
delphi6\project\bpl\dclusr60.bplを作成出来なかったとでます。
projectフォルダにはbplというフォルダなど無いのですが、もしかして
誤ってけしてしまったかもしれません。これが原因でしょうか?

895 :デフォルトの名無しさん:03/01/02 23:57
>>894
そういうふうに書かないと、
 そのbpl というフォルダを作るか、
 新規パッケージに追加で、自分用のパッケージを作ったら?
 試験用のパッケージは別けておいた方がいいよ。
 IDEが不安定になった場合に復旧し易いから

896 :デフォルトの名無しさん:03/01/03 00:14
>>895
bplというフォルダをつくったら出来ました!
ありがとうございます。作成先のフォルダをbplから別の場所にかえること
はできないんでしょうか?

897 :デフォルトの名無しさん:03/01/03 00:24
つーか、「パス通し・uses」で
テストしきってからにした方がいいんとちゃうの?

898 :デフォルトの名無しさん:03/01/03 00:47
>>896
できます。 やりかたは自分で考えて下さい。
考えないとどんどん馬鹿になります。

899 :デフォルトの名無しさん:03/01/03 04:25
このスレ板は他人の育成に気を使う奴多いけど本当は知らないんじゃないか?

900 :デフォルトの名無しさん:03/01/03 04:31
>>896はIDEの使い方についてだからなぁ…。

901 :デフォルトの名無しさん:03/01/03 07:46
>>865
回答じゃないけど、GetDC の引数であるウィンドウハンドルに0を渡すと、
デスクトップの DC が取得できます。ってことで、何かバグが有ってウィンドウ
ハンドルが 0 になっているんだろうね。
VCL のみで作っているとすると、TWinControl の WindowHandel が 0 を返している
ようだ。

902 :デフォルトの名無しさん:03/01/03 13:36
>853
 タイマー使ってるんだよね。タイマーイベントの終了前に、次のタイマーが入っちゃって、
Form1.Handle(=DC)の廃棄が間に合っていないような感じかな……

 ちなみにタイマーの間隔は?

903 :デフォルトの名無しさん:03/01/03 15:31
[警告] Main.pas(148): 符号付型と符号無し型の演算により、オペランドが拡張されました
っていわれてコンパイルはできるんだけど↑消すにはどうしたらいいの?

148   MemoContents.Lines[0] := ' 新着ないこと ' + CurrToStr(isNothing * Timer1.Interval / 1000) + '秒'

isNothing が Integer で
Timer1.Interval が Cardinalで
MemoContents.Lines が TStrings かな



904 :デフォルトの名無しさん:03/01/03 15:34
ageちゃった・・・ ご・ ごめんなさい

905 :デフォルトの名無しさん:03/01/03 15:37
ageたから答えないよ。

906 :デフォルトの名無しさん:03/01/03 15:39
TTimer.Intervalで計算するのはやめたほうがいいよ。精度悪いから。
GetTickCountで差分をとればいい。

//新着あった
LastCount := GetTickCount;

...

MemoContents.Lines[0] := Format(' 新着ないこと %d秒', [(GetTickCount - LastCount) div 1000]);


907 :デフォルトの名無しさん:03/01/03 15:45
>>905
面目ない 気をつけるでぁ

>>906
ども ありがとうございます やてみます

908 :デルファイの名無しさん:03/01/03 15:47
>>903
レジスタ幅である32ビットを限界まで使う型で、符号の有無が異なる型を混ぜると、
符号と値の両方を維持したまま結果を格納するために、64ビットで計算される、という警告。
64ビットで計算したいなら、どっちかInt64にキャスト。
32ビットで計算したいなら、符号を維持したいならInteger、正数だけでいいならCardinalで統一。

909 :デフォルトの名無しさん:03/01/03 15:57
>>906
できましたー ふがー ありがとーござまーす
Format も GetTickCount 初めて知りましたー
先が思いやられるけどがんばるです


910 :デフォルトの名無しさん:03/01/03 16:04
>>908
ははー なるほど
Cardinal に統一しました

マイナスがありえないんだったら整数は Cardinal にしとけってことですかね
あんまり深く考えずになんでもかんでも Integer にしてました 感謝

911 :デフォルトの名無しさん:03/01/03 16:07
新着って2chブラウザでも作ってるのか?

912 :デフォルトの名無しさん:03/01/03 16:13
そんなだいそれたもんじゃないよ
sage進行チェッカー delphiの勉強がてら


913 :デフォルトの名無しさん:03/01/03 16:20
例外処理がよくわからんのでこんな風に書いてるんだけど
これ↓はどれくらいアフォなのか誰か教えてくろさい

 Form1.Cursor := crHourGlass;
 try
  try
   HttpCli.Get;
  except
   on Ex: Exception do
    ShowMessage(Ex.Message);
  end;
 finally
  Form1.Cursor := crArrow;
 end;


914 :デフォルトの名無しさん:03/01/03 16:38
try
  ...
except
  ...
finally
  ...
end;

915 :デフォルトの名無しさん:03/01/03 16:44
>>914
えー だってー

67 Form1.Cursor := crHourGlass;
68 try
69  HttpCli.Get;
70 except
71  on Ex: Exception do
72   ShowMessage(Ex.Message);
73 finally
74  Form1.Cursor := crArrow;
75 end;

[エラー] Main.pas(73): 'END' が必要な場所に 'FINALLY' があります

ってなるよぅ
try には except かfinally どっちかしかつけらんないの?


916 :デフォルトの名無しさん:03/01/03 16:51
ヘルプに書いてあるね。

917 :デフォルトの名無しさん:03/01/03 17:08
 Form1.Cursor := crHourGlass;
 try
  HttpCli.Get;
 except
  on Ex: Exception do
   ShowMessage(Ex.Message);
 end;
 Form1.Cursor := crArrow;

これでいいのか 失礼しました

918 :デフォルトの名無しさん:03/01/03 17:46
キモ

919 :917:03/01/03 17:50
なんでー?

920 :デフォルトの名無しさん:03/01/03 18:27
.ComboBoxにAddできるMAX値はいくつなんでしょうか?
なんかのプロパティで指定できるのか(TCustomCombo.ItemCountなる
ものがあったんですが、TComboBoxは継承してない模様)、それとも
メモリによる制限なのかだと思うんですが。
MAX値が指定できるならそれを超えるAddをやった場合古いListから
削除されるみたいな動作がないかなと期待しています。

921 :デフォルトの名無しさん:03/01/03 18:30
>>920
そんな機能はないので自分で作るしかないので作ったよ
http://onigiri.s3.xrea.com:8080/delphi/index.php?plugin=attach&openfile=HistoryEdit.pas&refer=%5B%5B%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%5D%5D

922 :デフォルトの名無しさん:03/01/03 19:00
67 Form1.Cursor := crHourGlass;
68 try
69  HttpCli.Get;
70 except
71  on Ex: Exception do
72   ShowMessage(Ex.Message);
7x  end;
73 finally
74  Form1.Cursor := crArrow;
75 end;


923 :デフォルトの名無しさん:03/01/03 19:06
>>92
丁寧に書いてくれてありがたいんだけど
やっぱり73行目で「ENDが必要なのにFINALLY」 っていわれた・・・



924 :デフォルトの名無しさん:03/01/03 19:18
>>922はコンパイル通らないだろう。
1つのtryにはexceptまたはfinallyのどちらか1つ。
Del7は知らんけど。

925 :デフォルトの名無しさん:03/01/03 20:06
キモいそうだけど 917で行きます
みんなありがとうござーました


926 :920:03/01/03 20:18
>>921
ないですか・・・
ありがとうございます、参考にして自作してみますm(_ _)m
それにしても3分で作ってしまうなんてすごいですね。

927 :デフォルトの名無しさん:03/01/03 22:33
降順ソートの比較関数で整数を比較するとき
A と B が等しければ 0
A が B より大きい場合正の整数
A が B より小さければ負の整数
を返すわけですが
CompareText の整数版みたいなの用意されていないのでしょうか?


928 :デフォルトの名無しさん:03/01/03 22:33
sign

929 :927:03/01/03 22:43
sign って未定義の識別子なんですが・・・
D5を使っています。


930 :デフォルトの名無しさん:03/01/03 22:59
>>926
確かに、(A-B) でもとまればいいのだけど、そういう訳にもいかないので難しいですね。
そういう関数を書くしかないのでは?

931 :デフォルトの名無しさん:03/01/03 23:10
delphiとVC++を一つのPCにインストールするとPCに障害が出る場合があると聞いた覚えがあるのですが、これは本当ですか?
本当だとしたら、何か解決策はありますか?

932 :デフォルトの名無しさん:03/01/03 23:12
聞いたことないな


933 :デフォルトの名無しさん:03/01/03 23:13
Del5にはMath.Signないのか?

934 :デフォルトの名無しさん:03/01/03 23:14
>>933
あっても、>>927の解決にはならないでしょう

935 :933:03/01/03 23:15
何で?

936 :927:03/01/03 23:20
ないですね。
JCLMath に Singe というのがあったのでこれを使います。
なるほど、わざわざ Singe と名前を変えているのはD6以降で存在するからなんですね
どうもありがとうございました。


937 :デフォルトの名無しさん:03/01/03 23:29
>>935
どうやって計算させるつもり?
オーバフローがあるから、signを使っては簡単には計算出来ないよ。 if 文の山を作るしかない。
それくらいなら
type TValueSign = -1..1;
function CompSign(A,B:Integer):TValueSign;
begin
{  } if A>B then Result:=1
else if A<B then Result:=-1
else {       } Result:=0;
end;
って書いた方が簡単でしょう。
アセンブラで書くなら

function CompSign(A,B:Integer):TValueSign;
asm
CMP EAX,EDX; //A-B
SETGE CL
ADD CL,CL
DEC CL
CMP EAX,EDX; //A-B
SETZ AL
DEC AL
AND AL,CL
CBW
CWDE
end;


938 :デフォルトの名無しさん:03/01/03 23:39
補足
 if A>B then ・・・ ; はA,Bの全範囲で巧く動くけど
 if (A-B)>0 then ・・・ ;  は等価ではない。

理由は、A-B を正確に表現するには 32bitでは不足するから

939 :927:03/01/03 23:55
なるほどD6のSignってやつは
A=0 = 0
0<A = 1
0>A = -1
多分こういうやつなんですね?
こちらは JCLではSgn という名前で定義されています


940 :デフォルトの名無しさん:03/01/04 02:06
最近、TStringListを覚えて配列代わりによく使ってます

で、一次元なら問題ないのですが多次元に使いたい場合は
array of TStringList としてTStringListを配列にする方法以外ないの
でしょうか?
またこの場合のTStringList内の全てのカウントを知る方法は
for i:=0 to Length(stringlist)-1 do
 intTotal:=stringlist[i].Count+intTotal;

と一つずつ求めていく以外方法はないのでしょうか?

941 :デフォルトの名無しさん:03/01/04 02:18
>TStringListを覚えて配列代わりに
「動的配列」を知っててやってるんだよね?

942 :デフォルトの名無しさん:03/01/04 02:26
動的配列って最初、配列数を記述せずに
SetLengthで値を増減するやつですね
TStringListは簡単に並び替えやテキストに記入できるので
使ってるのですが、動的配列を使用したほうが
効率などよくなるのでしょうか?

943 :デフォルトの名無しさん:03/01/04 02:32
わかってないみたい


944 :デフォルトの名無しさん:03/01/04 02:36
どうわかってないのでしょうか?
解るように教えていただけないでしょうか?よろしくお願いします

945 :デフォルトの名無しさん:03/01/04 02:57
>>940
>array of TStringList としてTStringListを配列にする方法以外ないの
>でしょうか?
はい。

>と一つずつ求めていく以外方法はないのでしょうか?
はい。

946 :デフォルトの名無しさん:03/01/04 03:00
TStringList.Objects[]にTStringListを突っ込むとか。

947 :デフォルトの名無しさん:03/01/04 03:02
それならTListだろ

948 :デフォルトの名無しさん:03/01/04 03:16
>>945
ないのですか...それならこのまま進めたいと思います。有難うございます。

それと、最初の問いが解決した以上、書き込むのもどうかと思うのですが、
動的配列の件、どう認識不足なのでしょうか?本題とは異なりますが
私は基礎もほとんど解っていない状態なので、出きるだけ早めに間違いを
訂正しておきたく、教えていただきたいのですが...

949 :デフォルトの名無しさん:03/01/04 04:21
>>948
質問しすぎは逆効果。


950 :て。 ◆qnISHi2Po. :03/01/04 04:23
ハッシュってゆーの?
文字列とかをキーにして値を格納しておくような方法を調べてるんだけど
THashedStringList しか見当たらない。
これって文字列しか格納できないみたい

dat番号をキーにスレタイとレス数をペアで大量に持っておきたい檻はどないしたらいいんだしょ

951 :デフォルトの名無しさん:03/01/04 04:29
信じられないことに、いまどきのOOPLに当然のように
備わっているハッシュはDelphiには存在しないよ。

952 :デフォルトの名無しさん:03/01/04 04:36
>>951
C++も標準ではハッシュのコンテナはないです。
ハッシュテーブルは単なるデータ構造の一つでOOPLとは関係なし。

953 :デフォルトの名無しさん:03/01/04 04:40
C++は今時でもないしOOPLであるかどうかも疑わしいので確かに関係はないね。

954 :て。 ◆qnISHi2Po. :03/01/04 04:42
>>951
存在しないよ 存在しないよ 存在しないよ・・・  (エコー)

まじぇすか?!
DBからみのプログラムとか 一体どうやって書いてるんだろ みんな
悲しいけどしょうがないのでTHashedStringList を二つ用意することにします


次スレって檻がたてるんでしか? ところで

955 :デフォルトの名無しさん:03/01/04 04:55
>953
いまどきのOOPLって何?
Ruby?(w

956 :デフォルトの名無しさん:03/01/04 04:55
んなもん自分で作れ。

957 :デフォルトの名無しさん:03/01/04 05:00
まともなOOPLなら普通
Object.hashとか
Object.GetHashCodeとか
Object.hashCodeとかあるだろ。

958 :て。 ◆qnISHi2Po. :03/01/04 05:00
>>952
delphiにも標準でないところで実は便利なクラスがあるんじゃないのー?
ねぇねぇ あるんでしょ?


959 :デフォルトの名無しさん:03/01/04 05:02
>>958
TStringList.Strings[]にキーとしての文字列を格納して
TStringList.Objects[]に値としてのインスタンスを格納。
これしかないよ。

960 :て。 ◆qnISHi2Po. :03/01/04 05:10
>>959
すんません 勉強不足だた
いまよくヘルプ見たらTStringList のAddObjectでハッシュみたいなことできるんだね
感謝

961 :デフォルトの名無しさん:03/01/04 05:13
>>967
ハッシュ関数なんて目的と必要に応じて自由に定義すればいいだろう。
オブジェクト固有の属性にするなんてアホくさ。

962 :デフォルトの名無しさん:03/01/04 05:15
>>961
アホはお前だろ(藁
もうすぐdat落ちで助かったね(藁

963 :デフォルトの名無しさん:03/01/04 05:20
楽したいのなら、THashedStringList にdat番号を文字列にして追加。

964 :て。 ◆qnISHi2Po. :03/01/04 05:43
もっかいヘルプ見た
TStringList は頭から追加してくから検索に時間がかかって
THashedStringList はハッシュテーブル使うから検索早いぞってことか
今頃分かったのかよ >俺

>>963
ん? 楽したいけどよくわかんないかった
HashedStringList.addObject('1038880567', スレタイとレス数がセットになった何か);
ってこと?


965 :デフォルトの名無しさん:03/01/04 06:13
どーせスレ一覧画面に表示するんだろ。
ListViewに全情報もたせなよ。

966 :て。 ◆qnISHi2Po. :03/01/04 06:29
>>965
すまん あんたの想像しているいじょうにオレは初心者なのだ
TListViewって初めてみてすごい感動してたところだ
何コレ すごい便利じゃん 今まで何やってたの > オレ

967 :デフォルトの名無しさん:03/01/04 07:05
必殺技だかなんだかしらんが
2次元のTstringsはTstringgridを不可視にして使ってる俺。メモリ無駄かな・・・
縦と横が楽に扱えるから好きなんだけど

968 :デフォルトの名無しさん:03/01/04 07:21
初心者ならあっさりすっぱりC#使ったらどうよ?

969 :デフォルトの名無しさん:03/01/04 07:22
2次元の Dynamic Array じゃ駄目なの ? > 967

970 :デフォルトの名無しさん:03/01/04 07:25
たぶん2次元の動的配列で良いと思うのだがindexof とか馴れちゃったし
最初に作った頃は動的配列知らなかったしな・・・・・クラスも作れなかったしなぁ
なんか反省しておこう。 もうやりませんとも。はい

971 :デフォルトの名無しさん:03/01/04 10:05
RenameFileでフォルダの名前を変えたいときエクスプローラで
そのフォルダを開いてると必ず失敗するんだけど
いい対処法ない?ちなみにOSはXPです

972 :デフォルトの名無しさん:03/01/04 10:36
>>971
Delphi 以外では可能なの?
つーか OS の問題だと思うが。

973 :デフォルトの名無しさん:03/01/04 10:42
>>971
失敗したら、リネームではなくコピーしてみる。コピーに成功したら、削除バッチファイルをスタートアップに登録する

974 :デフォルトの名無しさん:03/01/04 11:02
98 サポートしなくて良ければ MoveFileEx に MOVEFILE_DELAY_UNTIL_REBOOT 。


975 :デフォルトの名無しさん:03/01/04 11:17
あらま、簡単にはいかないようですね
>>973
コピーだとディスク容量等考えないといけなくなるので
警告を表示させて処理中断させます
>>974
ちょっと興味あるので調べてきます
どうもです

976 :Delフサギコ ◆A6VzDeLphI :03/01/04 13:41
 ∩| 
 ミ ゙''゙゙゙つ    ________
 ミ∧,,∧   /
 ミ,,゚Д゚彡 < D6からAnsiIndexStrとか
 U U    \DynamicArray検索できるようです
           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

977 :デフォルトの名無しさん:03/01/04 15:23
質問1
インラインアセンブラで記述できるところは、そうしたほうが処理速度
は向上するのですか?

質問2
クラスとか関数とかあまり使わないで1ユニットにガンガンコードとか
書いていったほうが処理速度は速いのでしょうか?

978 :デフォルトの名無しさん:03/01/04 15:26
んなこたない。

979 :デフォルトの名無しさん:03/01/04 15:29
>>977
yes x2

980 :デフォルトの名無しさん:03/01/04 15:31
>>979
同意。

でも、

現状の速いCPUを使う分にはどれだけの効果があるかは疑問。
結局最適化で下手なアセンブラより速くなったりすることも。
可読性、保守性最悪。

な点であまりお勧めはしたくないですな。

981 :デフォルトの名無しさん:03/01/04 15:34
>インラインアセンブラで記述できるところは、そうしたほうが処理速度 は向上するのですか?

インラインアセンブラの方が低レベルなので、低レベル=自由度が高いだけであり
その自由度の高さをどう使いこなすかは、書き手しだいです。

が、勉強ならどんどん使ってみましょう。

>クラスとか関数とかあまり使わないで1ユニットにガンガンコードとか 書いていったほうが処理速度は速いのでしょうか
 関数やメソッド呼出には、コストがかかるのですが、それを無くせばその分短くなりそうですが、
 しかし、その分コードサイズが大きくなります。
 コードをHDD->RAMに読み込む為の時間は非常に大きいので、逆になる事も多いですよ。


982 :デフォルトの名無しさん:03/01/04 15:39
StringGridのFixedRowsで固定したセルをクリックされたかどうか
知りたいのですがどうすればいいんでしょうか
エクセルみたいにソートさせたいんです
ちなみにpersonal版なのでDBGrid使えません

983 :デフォルトの名無しさん:03/01/04 22:49
ActionManagerって使い物になりますか?
あまり良いうわさを聞かないのですが。

984 :デフォルトの名無しさん:03/01/04 23:52
>>983
釣り?
使えるかどうかなんて、あんた次第だと(略)

985 :983:03/01/05 00:21
釣りじゃないです。
実際にまともに使えた=使い物になった人がいるかどうかを聞きたいだけなんですが。

986 :Delフサギコ ◆A6VzDeLphI :03/01/05 00:50

 / ̄ \   Delphi相当のIDEを作れるとは思うですが
0⌒>   ヽ   BugBrowserってソフトでは
  ⊂ニニニ⊃   同機能を自分で実装してしまっている
  ミ,,゚Д゚,彡   ようですね。
  ミ,つ酒O
  と,,,,;;,,,,;;   有名ソフトでActManeger
          使っているのはあるのかな?

なぜか
irvineもRootFTPもCoolbarで
Controlbar実装はホットゾヌの編集窓くらいかな。

987 :デフォルトの名無しさん:03/01/05 00:57
>>985
(´-`)。o ○ (で、聞いたからどーだってーの?)

988 :デフォルトの名無しさん:03/01/05 01:05
GoogleでもActionManagerネタは
・機能紹介
・Personalにはありません
・バグバグで使えません
くらいしか載ってないね。

989 :Delフサギコ ◆A6VzDeLphI :03/01/05 01:12
           _____________
   ∧,,∧∩  /
  ミ,,゚Д゚彡 < ちょっとDemoプログラムを調べまた
   U  ミ   \
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪
$(DELPHI)\Demos\ActionBands
ここのサンプルの動作を見ると、
そこそこに使えそうですが、
とりあえず、カスタマイズメニュー自体が
消えてなくなった後、エンドユーザーは
どうしようもなくなるので、それを修正した方が
よさそうですね。

あと、メニューにどんなツールボタンでも登録できたりしますが
これを制御する方法はあるのかな?

>・バグバグで使えません
Toolbar.カスタマイズメソッドとか、この頃の某は
この辺りの機能、使えないもの多いですもんね。

英語圏の情報とかキボンヌ

990 :デフォルトの名無しさん:03/01/05 01:16
>>982
OnMouseUp でイベントを拾ってMouseToCellでFixedCellである事を
判断。あとはソートキーに従ってRowsプロパティをExchangeしまくり

991 :デフォルトの名無しさん:03/01/05 01:20
ControlbarってWinXPのビジュアルスタイルに対応できるの?


992 :デフォルトの名無しさん:03/01/05 01:24
>・バグバグで使えません
DelphiBugListページには載っていないので気のせいでしょう。

993 :デフォルトの名無しさん:03/01/05 02:41
TForm.OnCloseQuery で分岐処理をしていて、TForm.Close メソッドを呼び出しても
必ずしも Form が閉じられるとは限らない場合、当該 Form が閉じられたかどうか
確認するにはどうすればいいのでしょうか?

994 :デフォルトの名無しさん:03/01/05 02:42
それより埋めろよ

995 :デフォルトの名無しさん:03/01/05 02:43
質問してるバヤイかよ

996 :デフォルトの名無しさん:03/01/05 02:43
過去ログが中々 HTML 化されない板なんだから、なるべく埋めないでくれ。

997 :次スレ:03/01/05 02:44
Delphi相談室その8
http://pc3.2ch.net/test/read.cgi/tech/1037146781/


998 :デフォルトの名無しさん:03/01/05 02:44
埋め

999 :デフォルトの名無しさん:03/01/05 02:44
 

1000 :デフォルトの名無しさん:03/01/05 02:45
    
 
 
 
 

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

237 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)