ミ,,゚Д゚彡フサギコのフサフサDelphi談話室B

このエントリーをはてなブックマークに追加
1フサギコ
  ,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡<  DelphiやBorlandについて熱く語ろうや
 UU"""" U U    \_________
2フサギコ:02/05/16 22:16
前スレ

ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室A
http://pc.2ch.net/test/read.cgi/tech/1013298748/l50
3フサギコ:02/05/16 22:18
<関連スレ>
Delphi相談室その4
http://pc.2ch.net/test/read.cgi/tech/1018211735/l50

Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/l50
4フサギコ:02/05/16 22:19
今だ!4ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
     ∧,,∧,,,,,, )    (´;;
  ⊂ミ゚Д゚⊂ `つ  (´⌒(´
       """""

Borland Delphi 6 Personal ダウンロード
http://www.borland.co.jp/delphi/personal/

Borland Kylix Open Edition ダウンロード
http://www.borland.co.jp/kylix/openedition/

JBuilder 5 Personal ダウンロード
http://www.borland.co.jp/jbuilder/jb5/download/

Borland C++ Compiler 5.5 無償ダウンロードサービス
http://www.borland.co.jp/cppbuilder/freecompiler/
5デフォルトの名無しさん:02/05/16 22:19
チャンコロは小一時間ほど逝ってよしと思われ
Delフサギコじゃなくてただのフサギコなのか。
7フサギコ:02/05/16 22:24
  ,,,,,,,,,,,,,,,∧,,∧ 
〜′,,,,,,,,,,ミ,,゚Д゚彡
 UU"""" U U   

本当は、これで4のはずなんだけどなぁ。
でもAがあったんだからBができてもよかろうに・・・
まぁ、マターリとしていこうや。
本スレ

ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室B
http://pc.2ch.net/test/read.cgi/prog/1012435004/
>>8
マ板にあるからだろうけど
すっかりネタスレになっちゃってるし
本スレというのは、もはやふさわしくないな〜
10デフォルトの名無しさん:02/05/16 22:54
>>9
禿同
僕のDelphiはタスクバーにアイコンが表示されません。(タイトルのみ表示)
みんなはどうですか?
>>11
説明書読めばわかるがプロジェクトで設定。
DelphiXって死にましたか?
http://415.teacup.com/hori/bbs
1411:02/05/16 23:07
あ、Delで作ったソフトじゃなくてDel本体だよ。
みんなはどうですか?
16デフォルトの名無しさん:02/05/16 23:44
教室のみんなはどうですか?
だいじょ〜ぶで〜す
18デフォルトの名無しさん:02/05/17 00:12
Delphiは実際の開発現場では使われているんですか?
またDelphiで作られた代表的なソフトを教えてください。
>>18
かちゅ〜しゃ
>18

delphiで作られた有名ソフトって何がある?
http://pc.2ch.net/test/read.cgi/tech/990056026/l50
>>18
個人プレーで仕事してる人や
パッケージソフトを作ってるところでは
結構使われてるみたい

チームプレー重視のところだと「建前」でM$にせざるを得ないけど
そうじゃなければ効率重視だもんね
>>13
Delphi使いって変態さんの集まりですか?
>>22
プログラミングなんていう面倒な行為を好んでやる俺たちが
多少なりとも変態であることは認めるにやぶさかでない
23はキティガイ
ども、Delphi/Kylixなスレを立てたいのでご相談に参りました。

CLXを使ったクロスプラットフォームに関するスレを立てたいのです。
具体的には、、、

ネットで検索すればVCLを使ったフリーで素晴らしいコンポーネントが山ほど見つかりますが、
しかしKylixで使えるようなコンポーネントは中々無く、またあったとしてもクロスプラットフォームで
無いものばかりです。
もし、優れたクロスプラットフォームなコンポーネント(あるいはクラス・関数)が数多くあれば、
マジでWindows←→Linuxなことが出来るのでは?
そんなわけでがんばって作ってみますです…

みたいなスレを立てたいのですが…
2625 ◆U3XM4e82 :02/05/17 17:06
25です。
厨国語の使用&長文レススマソです。

実際問題、僕自身コンポーネントを作ったことが無い厨なので、
これから3日〜1週間ほどの間、こちらのスレのほうで何かしら
お邪魔させてもらってもよろしいでしょうか?
スレ違いでしたらモナスレか本家(?)相談室の方で
やっていこうと思うのですが…
>>26
いいんじゃねぇの
28デフォルトの名無しさん:02/05/17 19:32
新スレ記念age
29Delフサギコ ◆zE1iiRdQ :02/05/17 21:30
ミ ゚Д゚彡>>25
**をCLXで作ってくれなら
手伝えるかも。

LinuxのAPIとか知らんけど…

たぶん、Kylixで使えないコンポの中には
Kylixはもっていないので動作確認してないだけ。
とかいうのも、かなりあるかも。
....そでもないかな。

GUIが絡まなければ、クロスは容易なはずだけどね。
30デフォルトの名無しさん:02/05/17 21:37
  ,,,,,,,,,,,,,,,∧,,∧ 
〜′,,,,,,,,,,ミ,,゚Д゚彡 <Delフサギコさんの登場ですか。
 UU"""" U U  
>>29
>LinuxのAPIとか知らんけど…

どっちのAPIにも依存しないのがCLXだと思われ。
だからCLX+標準手続き以外は使えないっす。
32Delフサギコ ◆zE1iiRdQ :02/05/17 21:44
QtのAPIを理解するのが先だったか…

  ,,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < よー、わかりまへん
  UU"""" U U[大阪弁]_______________

Linux(or Qt)とWinと両方のコードを用意するのも
クロスの宿命かと.....
>>32
.NETとの兼ね合いもあるし某国としても解決は茨の道ですな。
34デフォルトの名無しさん:02/05/17 23:44
Linux.Free;
35 ◆VB6.V49. :02/05/18 01:10
かおりん祭り来ないね
36デフォルトの名無しさん:02/05/18 02:34
Personal使っているのだけれど、
デバッグの時に、ActiveXのバリアント型は評価できないの?
あと、IDLやらタイプライブラリを参照してどんなインターフェースやメソッドが
あるのか見ることはできないのでしょうか。VBのオブジェクトブラウザや、
入力支援機能みたいに。(入力支援はDelにもついてますけど、COMのクラスや
インターフェースについて)

それと、素朴な疑問なんだけど、ActiveXをインポートしてカプセル化して使う
ようですが、これってつまりはDispインターフェースを使ってないバインド方式
をつかってるってことなのでしょうか。VBで使うCOMは確かデュアルで作れって
MSDNで書いて書いてあったので、VBはDispインターフェースを使っているのだと
思っていたのだけど。 (VBはコンパイルすると早いバインドをするのでしょうか?)

以上、よろしくお願いします m(_ _)m
>>36
 ActiveX取り込み時にTLBが出来ているはずです。 それを見て下さい。
 デバック時も、Delのオブジェクトとしてデバック可能です

OLEVariantでアクセスした場合の話は別の話です

例えば
var nm,obj:OLEvariant;
begin
obj:=WebBrowser1.OleObject;
nm:='http://pc.2ch.net/test/read.cgi/tech/1021554929/';

として obj.Navigate2(nm); とすれば当然VBと同じような方式の呼び出し方になります
普通は WebBrowser1.Navigate2(nm); とします
\( ^▽^)/新スレおめでとうございまーす♪
フサギコ(Delじゃない)に期待age
4025 ◆U3XM4e82 :02/05/18 21:59
どもです、25です。
ヘルプ&Del4プロバイのコンポーネント作成に関するドキュメントを
軽く読んだだけけですが、コンポーネント作るのかなり大変ですね…

エディタでゴリゴリ作らなきゃならない、Object Pascalの文法を
ほぼ完璧にわかってないといけない、ある程度クラスライブラリについて
理解して無いといけないなどなど…
Delphian Worldで公開してる方々僕からしてみれば神だ…

スレ立ての承認ありがとうございます。
せめてTButtonから継承し、単純なプロパティやメソッドなどを
ひとつずつ持っているだけ…みたいな物ぐらい作れるようになったら
立てようかと思います。
>>40
(*
エディタでゴリゴリ作らなきゃならない、Object Pascalの文法を
ほぼ完璧にわかってないといけない、ある程度クラスライブラリについて
理解して無いといけないなどなど…
*)

いや、普通・・・。
まぁ、がんばろう。
4225 ◆U3XM4e82 :02/05/18 22:39
29−32の流れを見て思ったんですが、
CLXの中で普通にWinAPI使っているような気が…
(Delphi6-Source-ClxのQDialogs.pasとか…。)
コンパイラ指令使って、MSWINDOWS用とLINUX用の処理書いてやれば大丈夫かと…
ただ、ひとつの.pasファイルにWin用とLinux用の処理混在させるとソースが汚くなるし、
かといって2つに分けると、作るときに二度手間な箇所が増えてキツイ…
43営農ギコ:02/05/18 23:03
簡単な処理はCLXでやったほうがいいと思いますね。
速度が欲しいならプラットフォーム毎に書けばいいし。
44Delフサギコ ◆zE1iiRdQ :02/05/19 02:44
     コンポ作成方法は

 ∧,,∧ このあたりを、さらっと読めばサラサーティー
ミσ゚Д゚ミσ


●基礎からわかるDelphi5
三原 幸一 秀和システム \2,400 ISBN4-87966-937-7

これの6がでてる

●実践Delphiコンポーネントプログラミング
秀和システム出版編集部 秀和システム \2,800 ISBN4-87966-798-6

●Delphi 4 プログラミングバイブル
Marco Cantu 著篠原 慶 監訳 インプレス \5,680 ISBN4-8443-1273-1

これも6がでてる。
4525 ◆U3XM4e82 :02/05/19 03:05
おお!Delフサさんありがとうございます。
現在Del4プログラミングバイブルは図書館からのレンタルで手元にあり、
6版もすでに書店で注文済み(しかし到着予定2週間後…)
実践〜の方はコンポマターク作ったこと無い僕でも(とりあえずな)コンポ作れそうなヨカーン…
本買い過ぎて金無いんで、また近所の図書館に全部注文かけときます。
それまで頑張ってDel4プロバイの4部を読まねば…

ちなみにこんなの採取しますた
ttp://www.migaro.co.jp/rad/support/toptext.htm
このメルマガの第三回からコンポの作り方の入門程度を扱った連載してるデス。
>>41
そうしなくても普通には使えると思われてる言語なのかね、Delphiは。
いいのかわるいのか、微妙だ・・・。
47デフォルトの名無しさん:02/05/19 09:43
Delphiでのおすすめ書籍は?
>>46
まぁ、フリーのVBだと考えて入ってくると痛い目を見るぞと。
しかし、痛い目を見ないと人は学習しないという罠
>>49
しかも勉強しないと本当の良さはわからない罠。
>>47
ちと古いがコレが参考になる。
http://home1.infonia.ne.jp/~delphian/delphi/history/bookrank2/book.html

Del6Personalが出てきてからDelphi本が増えてきているみたいだから、
もう一度ランキングやってもいい気がするな
中村さんとこのも上げておくか
http://www.asahi-net.or.jp/~HA3T-NKMR/books.htm
>>44
>●実践Delphiコンポーネントプログラミング

これって今でも手に入る?
コンポの作り方だけじゃなくて、オブジェクト指向の勉強にもなるって言うから
けっこう気になってて前から探してるんだけど、見つからないよ・・・

漏れはコンポの作り方は、基本だけどDelphi2.0付属の「コンポーネント開発者ガイド」を
何度も読んだ。愛想はないけど読みながらいろいろやってると、だんだんわかってくるよ。
これも最近のDelphiにはついてこないのだろうか・・・・?
>>47
この本なんかいいんじゃない?
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4002-5.html
  ,,,,,,,,,,,,,,,∧,,∧ 
〜′,,,,,,,,,,ミ,,゚Д゚彡 <Borland Delphi6オフィシャルコースウェア好きだなぁ。
 UU"""" U U  
56デフォルトの名無しさん:02/05/19 14:07
>>37
レスありがとうございます。 返事が遅くなってスマソ。

OLEVariantを使ってるとDispインターフェースで使うことになるわけですかぁ。
VC++のスマートポインタみないなもんなんだろうか。

ところで、新しい疑問なのだけれど、
Dispインタフェースを使ってDispインターフェースを使えますか?
つまり、OLEVariantは内部的にDispインターフェースの利用をインプリメント
してあって、ドット演算子(?)をオーバーライドしてあるわけですが、

このOLEVariantからGetIDsOfNamesなどを呼び出せるのでしょうか?

ATLだと、確かIDispatchは純粋仮想な親クラスなので自分で実装しない
限りは不可能なように思えますが、OLEVariantをDelのas演算子などで
キャストしてDispインターフェースを呼ぶこと等は可能なのでしょうか。
57デフォルトの名無しさん:02/05/19 14:16
>>56
>Dispインタフェースを使ってDispインターフェースを使えますか?
この質問、よく考えたらおかしいです。
うまいことGetIDsOfNamesなんかを呼び出す方法を教えてください。
58デフォルトの名無しさん:02/05/19 14:19
Borland が一瞬 Imprise になった夢を見たんですが、
あれは何なんですか?
59デフォルトの名無しさん:02/05/19 14:42
気分を変えてみたのです。
ヘジルスバーグがMSにいる夢を見たのですが・・・・・
>>58

Inprise

はい、URLを打ち間違えたことのある人は挙手すること。
>>60
夢ではありません
>>60
おかげでC#Builderとも言える製品が私たちの元へ。
64デフォルトの名無しさん:02/05/19 18:38
>>56
OleVariant型変数からIDispatch型変数へ代入できませんでしたっけ?
あるいは直接キャストでもいけた気が。最悪TVarDataへキャストして中身を取るとか。
65営農ギコ:02/05/19 20:24
>>61
BorlandをBolandと間違えたことあるっす
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |    ________________
   ヽノ    /\_/\   |ノ  /
    ゝ   /ヽ───‐ヽ /  / >>65 そんなあなたにVisualBasic.NET
     /|ヽ   ヽ──'   / <  
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>>65
Rolandみたいだ。
漏れに言わせればBorlandは、Oralce程ボッタクッてはいないと思う。
むしろ商売下手…
ま、オラクルはCEOがあれだからね、

TActionManager と
TActionMainMenuBar を使ってメニューを作っていますが
分割線を作れません。

TMainMenu だと、Caption を - にするとできたのですが。
教えてください。
ウニ死す
>>71
オブジェクトツリー上で新規作成してそいつのキャプションをハイフンにするとか
74デフォルトの名無しさん:02/05/20 00:06

一応、Captionはハイフンになっているのですが、
表示が分割線にならずハイフンで表示されてしまうんですよ。

ActionMenuBar や、ActionToolBar使うなって事ですかね。
>>74
プロパティくらい全部見てから物言ってくれ。
76デフォルトの名無しさん:02/05/20 00:19
スローなブギにしてくれ。
>>74
そういう事です。
Buttonの Styleを
7925 ◆U3XM4e82 :02/05/20 01:07
ttp://freeclx.sourceforge.net/
このfreeCLXって結局何なんでしょう?
やっぱりやっぱりクロスプラットフォームな事よりも
Linux環境をPascalで扱うためのプロジェクトなのかなぁ…

#しかしスレ立てるのホントにどうしよ?
#ム板の状況から判断する限り、これ以上スレ立てるのは本当に危険かも…
#この際自由にDelの話題を扱えるサイトを作った方がいいかなぁ…
>>79
このスレには方向性が存在しないので
新スレたてるよりはこのスレを乗っ取るのがよいかと。
81QQQ:02/05/20 03:07
Delphiの勉強ができるいいサイトとかないですか?
できれば、DirectXをDelphiで使うみたいなやつですが?
8225 ◆U3XM4e82 :02/05/20 03:08
>>80
マジですか
何はともあれ即興でサイト作ってしまいました
(痛い文章になってる事には触れないでホスィ…。今日はもう眠いっす)
ただ、無駄にトップページにアクセス解析張ってしまったので、気になる方は
串でも刺してくださいデス…

ttp://members.tripod.co.jp/utuboku/

今考えているのは、
@CLXでテキストエディタの作成(機能も見た目もまだ全然駄目駄目。)
Aもし@の機能がそこそこ納得できるものにできたら、それを元に多機能なMemoコンポーネントの作成。

もちろんLinuxでも動くようにしたいっす…
>>81
知ってるかもしれないけど、DelphiでDirectXを扱うコンポーネント
ttp://www-fu.magma.ne.jp/~hayase/dddd/

これ使ったゲームは結構あるみたいだから…
Help見てよくわからなかったら、検索かけて入門サイトとか探してほしい…
>>81
サイトではないけど、
DelphiXの解説本。
ttp://www.shuwasystem.co.jp/books/wwwsrch/cgi-bin/content/952/index.htm
と、そのサイト
ttp://linux.yks.ne.jp/~hori/
ただし、DelphiXは、Delphi6ではそのままでは動かないので、少し修正の必要あり。

ところで、そこのDelphiX 掲示板って、ずいぶん前から死んでるよね?
「Delphiビジュアルプログラミング 秘密のテクニック150」って本の後ろのほうに、
堀さんからDelphi6対応版のアナウンスがあった。って書いてあるけど、
どこであったんだろう?
>>84
異色童子さんが移植してたような。
86Delフサギコ ◆zE1iiRdQ :02/05/21 15:59
    質問ですー
    ∧,,∧    /Webアプリの 
  _ ミ,,゚Д゚彡_<  ASPオブジェクトSessionとApplication
.=| |==U==U=| |= \の扱いはどうですか?
 | |@ミ  ミ .| |
 | | ∪''∪ | |  Session.OnStartとかある?
 | |      | |  Sessionに自作クラスを入れたりとかは?

 どとNETに移行考え中なんだけど
 VCL実装を知っておきたいのです。
>>88
(・∀・)カエレ!
90名無し~3.EXE:02/05/21 21:53
HSPからの移行なんですが、あれのコマンドリファレンスみたいに
詳しく分かりやすく紹介されたページってないですか?
例えば、
「画面に文字出力」→「ShowMessage」みたいな
>>88
とても参考になりました。
>>89 漏前は1件目のタイトルに惹かれなかったとでも言うのか!

>>91 (*^ー゚)b だろ?

>>90
大雑把だけど、とりあえずこんなのもあるよということで
・ヘルプ目次→・VCLリファレンス→・ルーチン一覧(カテゴリ別)
目的のページが見つかるまでこれでがまんしる
9390:02/05/21 23:10
>>92
ありがとうございます。
でもやっぱこのHELP意味不明ですね・・
理解できるよう勉強します!
そういえばDelフサギコさんは、エディタ何使ってる?
いや、何となく気になっただけなんですけど。
Delphiなら普通IDEのエディタな気が
96Delフサギコ ◆zE1iiRdQ :02/05/23 20:27
 /      ‖   /Delphiじゃコードはかけても
       ∧,,∧  <  AAはかけんぞゴルァ
二二二二ミ,,゚Д゚彡  \     
       ミつ/\ヘ      ということで、
 ̄ _∬__ ̄ /  //  ̄\   EmEditorっす・これでAAもバチシ
  &____ノ   \//     \  
                 \  自分でPlugIn作って
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|   Em文字列とDelphi文字列を
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   置き換えたりするライブラリ整備で急がしかりけり
      でもDelphiでPlugIn作るとDLLがでかくなって
      エヂタの起動が遅くなる罠に陥りかけっす。

    Emは行ごとに
    Modify情報をもつから、そのあたりのコード
    プログルマ泣かせです。
            かなりコッテリしぼられたよ。
97マイケルU世:02/05/23 23:19
Delフサギコ登場記念age
>>97
それは晒しageか?w
99デフォルトの名無しさん:02/05/24 20:52
質問です。
TTreeNodes や TTreeNode は TTreeViewなしで使えるのでしょうか。
TTreeView はアプリとしては利用したいのですが、表示したいTree構造を
必要に応じて Assign して入れ替えて使いたいと考えております。
Assign でやらないで、View に Tree のポインタを渡して再描画ってのが
理想なのですが、Delphi初心者なのでどんな方法が適切なのかわかりません。

具体的に実装部を以下のようにして見ましたが、これで問題ないでしょうか?
サンプルを探してみても、TTreeViewに付いてくるのを使っているものしか見
つかりませんでした。 (TreeNds:TTreeNodes;Node:TTreeNode)

TreeNds := TTreeNodes.Create(nil);
Node := TreeNds.AddChild(nil,'root');
>>99
使えるよ。
101デフォルトの名無しさん:02/05/26 11:16
>>100

Node := TreeNds.AddChild(nil,'root');

でエラーがでて停止します。

TreeNds := TTreeNodes.Create(nil);

この式を実行後 TreeNds の中身を評価すると、'()'になってました。
ではオブジェクトが生成されていないような気がするのだけど。
ん〜。 なんでだろう。
>表示したいTree構造を必要に応じて Assign して入れ替えて使いたいと
>考えております。
これはTTreeNode"だけ"でやるべきだろ
木構造を表すのはTTreeNodeよ?
103デフォルトの名無しさん:02/05/26 11:45
>>102
んー。TTreeNodesはTTreeNodeのコレクションですか。
確かに使う目的がちがいそうですね。

今TTreeNodeをCreateしようとしているのですが、成功しません。
TreeNds := TTreeNode.Create(nil);
とやっているのだけれど。

TTreeNodeはCreateの引数にTTreeNodeがあって、
TTreeNodesはCreateの引数にTCustomTreeViewがあるんですね…
>>103
TTreeNodeはCreateの引数にTTreeNodeがあって

TTreeNodeはCreateの引数にTTreeNodesがあって
>>103
TTreeViewのLoadFromStreamとSaveToStream使うとかは?
106デフォルトの名無しさん:02/05/26 12:07
>>105
うーん、でもそれだとロードされていない間はデータにアクセスできないです。
やっぱりTTreeViewを使わないとTTreeNodeは使えないんだろうか。
Webで探しても全然例がみつからん。
非表示のTreeViewを作って
TreeView1.Items.Assign(TreeView2.Items);
ってやるしかないかも。
108デフォルトの名無しさん:02/05/26 12:18
>>107
そうすると、このツリー構造のデータを扱うモジュールをフォームから
切り離せなくなるんだよなぁ。 おとなしくツリークラスを作るか…
その方がいいよ。 木構造はTComponent継承すれば勝手にやってくれるから、必要な項目持たせるだけだし
>>109
ありがとう、TComponentを調べて、ツリークラスを作ってみるよ。
TreeNodesはほとんどのメソッドがOwnerを必要としているから
OwnerにTreeViewを指定しないわけにはいかないんだな。
>>111
Ownerにnil渡しても問題ない罠。
>>112 それやって使ってみた?ソース見たら問題ないとはとても思えないが。
Ownerにnil入れると・・・
NodeをAddするとあぼーん
Count見てもあぼーん
何してもあぼーん
あぼーんくらい大したこと無い。
( ´,_ゝ`)プッ
117ダックソンU世:02/05/26 17:23
CNU + Cygnus + Windows = Cygwin (・∀・)イイ!
>>117
CNU's not UN*X.
CNU's?
120ダックソンW世:02/05/26 20:35
GNU + Cygnus + Windows = Cygwin (・∀・)イイ!
121デフォルトの名無しさん:02/05/26 23:01
age
122デフォルトの名無しさん:02/05/27 00:18
GNU=グニュッ
>>122
正解。
124デフォルトの名無しさん:02/05/27 00:22
GNU=グニュッ!メリメリッ ズポッ!リュッリュッ!ドピュッ!ドクドクドク…
つ *
  Y
なあ、なんでDelはコンパイル早いの?
漏れはコンパイラの仕組みはよくわからないが、
うるさい程の厳密な文法が早さの秘密なのか?
127デフォルトの名無しさん:02/05/28 00:22
>>126
PCの中にちっちゃいオッサンが200人ほど入り込んで処理するからです。
VBは16人くらいです。
ヘッダファイルが無いからだよ。
SHARPポケコンPC-G850のBASICインタプリタならコンパイル時間ゼロ秒ですが何か?
しょんべんちびりました
インタプリタ言語がコンパイル時間0なのはごく正常です。
ただし本当に0なのかは分かりませんが。
>>130
一行書き込むごとにその行を中間言語へコンパイルしてるんでしょ
>>131
字句解析−構文解析−意味解析−実行

コンパイラで言う中間コードは存在するか微妙だね。
JITとインタプリタの差がかなり曖昧。
コンパイラでなかった頃のVBは 実行させると最初にフォームが表示されるまで
同じくらいの規模のDelphiの何倍も時間がかかりました。
C++はメシが喰える程の頃でしたが、VBでもコーヒが飲めました

インタプリタであっても、しっかりしたモジュール化がサポートされていないとサイズが
大きくなるとサイズに比例以上の速度で遅くなるようです。
>>126
通常のC++のコンパイラ等と違い、Pascalは1パスでコンパイル可能だから。
後は、コンパイル速度を著しく落とすような極端な最適化をやっていないから。
とか(ごめん、かなり適当)。

Borlandのコンパイラの速度は昔から速いことで有名だね。
通常のC++のコンパイラは インラインアセンブラを使う場合
  C++ => プリプロセッサ => コンパイラ=>アセンブラ => OBJ  でこれをリンカーが処理します
 ヘッダが一つでも違うと、全てを再コンパイルからやりなおす必要があります

Delphiはこれらの工程を一挙に行います
 また、pascal言語は先読する必要がありません
 まるでアセンブラのように、1行解釈しては翻訳してゆけば良いのです

たとえば C言語だと、一つの関数でも 全部読まないと必要なスタックフレームのサイズが判り
ません。 だから昔のコンパイラだと、先頭で JMP文を吐いておいて、スタックフレームを一番
最後に作って先頭にJMPするなんてコードを吐いてました。
 pascalだと beginの前に必要なスタックのサイズが判ります
function isShiftJIS(s:string;var p:PChar):boolean;
var siz:Integer;
begin
p:=PChar(s);
siz:=Length(s);
while Siz>0 do begin
  dec(Siz);
  case p^ of
  {ShiftJisの第一バイト}
  #$81..#$9F , #$E0..#$EF: begin
   inc(p); //次の文字が {ShiftJisの第2バイト}でなければ
   if p^ in [#$40..#$7E,#$80..#$FC ] then inc(p)
   else begin Result:=false;Exit;end;
   end;
  {EOF }
  #$1A:
  begin Result:=True; exit; end;
  #0:
  begin Result:=false; exit; end;

  #$09,   {TAB}
  #$0d,#$0a,{改行}
  #$20..'~': inc(p);
  else begin Result:=false;Exit;end;
  end;
end;
end;
function MojiTest(s:string):string;
var p:PChar;
var isMoji:Boolean;
begin
isMoji:= isShiftJIS(s,p);
if isMoji then if p^ = #$1A then
isMoji := (Integer(p)-Integer(PChar(s))) <5;

if isMoji then Result:='たぶん文字' else
Result:=IntToStr(Integer(p)-Integer(PChar(s)))
+'文字目が$'+IntToHex(Ord(p^),2)+'だから変';
end;
var w:String;
begin
w:=Memo1.Lines.Text;
Memo2.Lines.Add( MojiTest(w));
w[random(Length(w)-1)+1]:=Char(random( 7));
Memo2.Lines.Add( MojiTest(w));

end;
137136:02/05/28 12:08
ゴメンスレ間違った
138Delフサギコ ◆zE1iiRdQ :02/05/29 01:21
  ∧,,∧   SJISのはとりあえず、サンクスコ
 ミ,,゚Д゚彡  
  ミつ[|lllll]) SJISに限らず、テキストとバイナリが区別つけられないかしら? 
〜ミ  ミ     
  U U.  

それはさておき、とある、EmEditorPlugInのDLLを
つくってまして、
usesからunitをはずして
チューニングしexeサイズを減らしてたら
そのPlugInがやたら不安定になってしまって

---------------------------
EMEDITOR.EXE - アプリケーション エラー
---------------------------
"0xff6400bf" の命令が "0xff6400bf" のメモリを参照しました。メモリが "read" になることはできませんでした。


プログラムを終了するには [OK] をクリックしてください
プログラムをデバッグするには [キャンセル] をクリックしてください
---------------------------
OK キャンセル
---------------------------

---------------------------
アプリケーション エラー
---------------------------
EAccessViolation がモジュール rtl60.bpl の FF63F0BF で発生しました。

アドレス FF6400BF でアドレス FF6400BF に対する読み込み違反がおきました。.

---------------------------
OK
---------------------------

こんなエラーが妙なタイミングで頻発するようになってしまいました。

rtl60絡みなので
D6UP2のせいかとおもって
D6アンインスコし、D6サイインストしたりしたのですが
症状、一緒ですた。
なんかぜんぜん直りません。

これって、何がどう悪くなってしまったのでしょうか。。。
ああ、もうさっぱり。
>>138
>SJISに限らず、テキストとバイナリが区別つけられないかしら? 

前も書いたがEUCはWindowsではバイナリ扱い。
何をもってテキストファイルとするか決めないとまとまらない。
EUC SJIS JIS ASCII unicodeくらいか、最近使われてるのは。
>>138
> usesからunitをはずして
> チューニングしexeサイズを減らしてたら

これがいかんだろ。必要なunitまで削ったと思われ。
元に戻すべし。
141Delフサギコ ◆zE1iiRdQ :02/05/29 09:34
    ∧,,∧  >必要なunitまで削ったと思われ。
   ミ,,゚Д゚彡   コンパイルエラ-が出ると思われ
    ミ つ旦)~~   なんですが......
  〜と,,,~),,~)   
           一休さんみたいに一休み一休みして
           落ち着いて調べてみたらいいアイデア出るかな。

あと、isEUC,isJIS,isASCII,isUnicode
関数があったらええなー,,,
たまたま同名の関数が複数あったってオチとか?
同じユニット名のソースがあちこちにあって別のユニットがリンクされてたというオチとか?
143Delフサギコ ◆zE1iiRdQ :02/05/29 10:24
|,,∧  とりあえず、その問題は
|Д゚彡  ヒトヤツミヒトヤツミしながら考えます
| U
| ミ   雑談スレという事で
| U   適当なカキコしてみるです。

別スレで話題になっていたので
C#と比べてDelphiの弱点とか
気になる点を言ってみるです。

・構造体?Object型?の扱いが中途半端
C#では構造体にもメソッドが使えるようになっているらしい?だっけ?
忘れたけど。

・名前空間の扱いが変、というか機能不足
自作でTComboBoxExとか作ってたとしたら
D6から標準搭載されてるから、どしたらいいの?
IndyだってTIdXXXって名前なんか変だよ。

・ファイル列挙が弱すぎ
俺は自作してるからいいけど
FindFirst、FindNextでループ回すコードが
きれいなわけない。

・Drag&DropがVCL標準で実装されてないとはトホホ。
IndyみたいにOLEDrag&Dropコンポーネントの権利ゆずってもらえ。
144デフォルトの名無しさん:02/05/29 10:24

厨な質問ですいません。
Delphi6 自体はWindows XPでの動作を保証していないですよね。
互換モードで動かせってボーランドに書いてあったし。

では、Delphi6を使って作ったアプリケーションについてのWindows XPでの
動作というのはどうなるんでしょうか??
何かまずいところあるのでしょうか?
Windows XPでの動作をさせるための方法や留意点はありますでしょうか?

ちなみにデータベースデスクトップでParadoxを使ってのアプリケーションを考えています。
データベースデスクトップについて詳しく書いてあるサイトや本もご教授願えればと思います。

よろしくお願いします。
145Delフサギコ ◆zE1iiRdQ :02/05/29 10:32
・コンポーネントインストールの仕組みがややこしい
[環境オプ]にファイルパス通さなきゃいけないやり方は変だし
わかりにくいし、使いにくし
従来のIDEにインストールのやり方もいいけど
旧VBのようにプロジェクト毎に取捨選択
出来てしかるべきだと思われ。

・インターフェースがちょっと使い方、わからなさすぎ。
VCLで普通に使われてないから、
どうやってインターフェースつかったらいいかわかりにくい。
身近じゃない感じ。

・XML.
俺はいらんがいる人もいるみたいだから
エンプラ版じゃなくても簡単に使えるようにしてくれい。

・Webアプリ
シャルロット?
スクリプト言語に手を出すのが遅すぎた。
DelのWebアプリ開発
誰も使ってないから、ネットで情報を得ることも出来なくて
誰も使いはじめようとしない悪循環に入っている気がする。
どうしても、.NETやASPに比べて使おうという気力が沸かない。

・Formのサイズ制限の実装がいまだに変
結局WM_GETMAXMININFOで自作する必要がある。
些細な所で気になるよ。
当然.NETのWinFormはそんなことないし。

・ApplicationForm
今時…いいかげん昔のVCLの仕様を
引きずる必要ないだろうに。
.NETじゃ当然そんなのもないし。

|,,∧   C#と比べない所でも
|Д゚彡 もっと、便利な機能が
⊂ミ   イパ^イホスイ
| ,;゙
|´  IDEエディタ部のソース公開とか
   IDEダイアログページの部品のVCL化とか
そういや JAVAランタイム上で走るコードが吐けるDelphiってどうなったの?
開発してるってアナウンスあったよね?

 まあ 素直にJAVA使った方がいいの当然だから辞めたのかな
147Delフサギコ ◆zE1iiRdQ :02/05/29 10:49
     ∧,,∧
     ミ,,゚Д゚彡  <XPで試し厨、ルナはOFFってますが。
     ミ つ且~~  
     ミ,,__ ヾ    モチカシシテ rtl60系エラーは
 ⊂二二二UU二二⊃ XPでコンパイルしてるからかしら?
              まさか…

  とりあえずフサの環境では
  Delphi6自体の動作は安定してるようです

>Windows XPでの動作をさせるための方法や留意点はありますでしょうか?
あんまし聞いたことはないっすね。
148デフォルトの名無しさん:02/05/29 11:16

>>141
>必要なunitまで削ったと思われ。
>コンパイルエラ-が出ると思われ
>なんですが......
そんなことないよ。
unit MyUnit;
interface
implementation
uses YourUnit;
initialization
 YourUnit.ChangeSettings(...);
end.
このMyUnitをusesするとYourUnitの挙動が変るけど
usesしなくてもエラーにはならない。
>>143
まあそうは言っても・・・
標準でアレもコレもついてないから、
 作ろうという意欲も湧くし
 作れば愛着も湧くし、
 そうこうしてるうちに作っても簡単ってレベルになれるし、

全〜部標準で、組み合わせるだけって、なんか楽しくないかもね
>>148 ああそういや JPEGもそんなふうに後追加方式だったよね
151144:02/05/29 11:37
フサさんどうも。楽しい話題中割り込み失礼しました。
>>143
ほぼ同意。
名前空間はすぐにでも何とかしてほしい。

ついでをいえばコレクションとかイテレータとかマップとか
Javaまでとはいわんがもうちょっと何とかしてほしい。
.netになるついでに
JAVAやC#のいいところを取り込んだ言語仕様にへんこうしてほしい。
154Delフサギコ ◆zE1iiRdQ :02/05/29 13:33
           _____________
   ∧,,∧∩  /
  ミ,,゚Д゚彡 < 同意してもらえますた。
   U  ミ   \____________
 @ミ  ミ
   ∪''∪

イテレータといえば、
.NETでは
イテレータインターフェースを備えたものに対して
ForEach文が有効になるのかな。
その仕様も入れて欲しいです。

>>149さん
標準でアレコレついた方がRADとしては
いいんではないでしょうか。

全部標準でついてきても、その標準を超えてみるとか
違ったアプローチで実装してみるとか
たのしみはいくらでもありだと思うです。。

それに、.NETでは標準なのに
VCLでは海外コンポを使わなければダメ
っつのは、うれしくはないっす。
155Delフサギコ ◆zE1iiRdQ :02/05/29 13:41
             _______________
  ,,,,,,,,,,,,,∧,,∧   /
〜′,,,,,,,ミ,,゚Д゚彡< VCL標準でないから抑止欄
  UU""" U U   \_______________

そもそも、マップとかハッスってなんですか?
  …また聞いても使わなきゃ忘れちゃうけど…
HashStringListはあるはずです。
  が使ってないので、有用性がわからん。

Vectorは似動的配列というのは
この前教わったから
わかったようなわからないような感じ。

スタックやキューはD5から搭載だったかな。
誤爆ハッケソ
>>155
mapは簡単に言うと連想配列。というか検索しれよ。
158Delフサギコ ◆zE1iiRdQ :02/05/29 13:59
  ,,,,,,,,,,,,,,,,∧,,∧      / ̄
〜′,,,,,,,,,,ミ;゚Д゚ミつ ))) < ご、ごめんなスマソ
  UU"""" U         \_
誤爆じゃなくて、誘導してみたんですが。
わかり肉買ったすか。

連想配列…ググって検索しても使わないとすぐ忘れる罠に,,,,
  あ・・・アボーン扱いですな。こりゃ。
  連想配列が役に立つ場面を想定しなければいかんですのね。
気付かずスンマソ
STL見て 
アルゴリズムのライブラリなんて標準にしちゃったら、
確かに初心者には優しいかもしれないけど、それでいいのか?

と漠然と不安を持ってた。
しかしまあパソコンの性能は有り余ってるんだからそれでいいんだろうとも思った。
お仕事はそれでいいとも思った。

でも、Delphiが好きだったのは、そういうのを自分で作る楽しみがあったからかもしれない。
C++やJAVAでそういうの自作してたら笑いもの扱いだものね
しばらくC#使ってたんだが、ライブラリが整いまくってるのはいいね。
DelphiもXMLやら正規表現やら標準ライブラリにあってもいいくらいだよ。
>>161
初心者に優しいのではなく可搬性が上がる。
STLは初心者に優しいとは思えんが。
>>155
HashStringList。。。
某はこのあたりは中途半端だね。

>>162
そう、正規表現が標準なのには驚いた。やっぱあると便利だよね。
165デフォルトの名無しさん:02/05/29 16:07
既存の有名VCLにサポートを投げつけてる気も。。。
>>162
でも、ひとたびライブラリにない問題にぶち当たると面倒に感じる罠。
167Delフサギコ ◆zE1iiRdQ :02/05/30 01:58
 はぁ〜〜
  ∧,,∧    /WinXPとD6で問題なさそうって言ったけど
  ミ  ,,ミ  < うそでした。問題大有りだよ、この糞OS。
  し   ミ  \
   ミ 〜ミ
   ∪''∪

どうやらVCLの内部で例外がたくさん発生して
それをさばききれなくなっているらしい。

IDEからデバッグ起動したら
こんなメッセージがでますた。

同じDLLでWin2000なら問題なし。
XPの互換モードも効果なし...

---------------------------
情報
---------------------------
プロジェクト C:\Program Files\EmEditor3\EMEDITOR.EXE で一度に多数の例外が発生しました。
'access violation at 0xff6400c9: read of address 0xff6400c9'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
---------------------------
OK ヘルプ(H)
---------------------------

でもって、XPのプログラムの落ち方がダメダメで
2000みたいにOSはなんとか落ちないって状態にならずに
D6が落ちたとたんに
タスクマネージャがGUIの足ひっぱって
全GUI道連れにしておちまする。。。。。

ダサダサOSだ。。開発にはまったく使えない。
ひょっとして…EmEditorのプラグインDLLを、VCL使って、しかもパッケージを使う設定で作ってます?
いや、ダメとは言いませんけど…
折角DelphiはVCL(Classes.pas)使わなければ非常に軽くなるのに…
メモリーが勿体ないと思う時代は過ぎ去ったのですね…

Delphiで作られた.dllの例外を、別の言語で作られたEmEditor.exeがさばけないのは当然のような気が。
(例外そのものはWin32の機構ですけど、ObjectPascalのクラスにすぎないExceptionを経由して情報を渡しているから)
片っ端からtryで囲って.dllの中で例外を表示させてみるとか。
>>167
XPが悪いんじゃなくて、XPに対応してないDelphiが悪い。
170デフォルトの名無しさん:02/05/30 02:16
Delphiで作ったアプリはXPで動きません。
171デフォルトの名無しさん:02/05/30 02:19
>>170
まじかよ!!
でるふぁい駄目じゃん!
プラグインとか使う場合はVCL使うのは感心できないね。
プラグインとか使う->プラグインとか作る
>>170
こういう拡大解釈も最近よく見るな…>>171も釣られなさんなって…

「Delphi.NETにランタイムが必要」というのもこの類の拡大解釈ではないかと最近思ってきました。
写真でusesにBorland.Vcl.〜と書いてあったのは事実ですが、スタティックリンクできないなんてどこにも書いてません。
記事を探しましたが大した事は書いて無かったし。
Delphi.NETで作られたアプリにはBorland.Vcl.〜.dllが必須と明記された記事があるなら教えてください。
事実無根ならBorlandを信じることにします。
( …これで実際に裏切られたら本気でC#に移行を考えないと…w )
なんかプラグインにVCL使ってる方がいるみたいなので聞きたいのですが、
VCL使ったDLL呼び出すとメモリリークする問題とか、
TThread使うとメモリリークする問題とかあったと思いますが、
それらはもう直ったんでしょうか?
>>174
釣られてるのはあなたじゃないんですか?
>>174
.NETでスタティックリンクってどういう意味?答えてみ。
.NETだろうがスタティックリンクはスタティックリンク。ライブラリ込みでexeを作ること。

C#でも csc A.cs B.cs でひとつのexeにくっつくじゃないですか。
dccilコンパイラがusesで書かれた先(.NETの名前空間やdllとは限らず、dcu相当の独自中間ファイルかもしれない)
をどう処理しようが別に構わないわけで。

まあ夢想でしかありませんけど。
http://community.borland.com/article/images/28649/Delphi.jpg

これを見ればわかると思うけど、ConvertIt.exeの中にBorland.〜ネームスペースの
クラスが一緒に入ってるよ。だからDLLは別途不要。
>>175
直ってないよ。
おお!ありがとうございます。
Borlandを信じていてよかったと思えた瞬間…

Microsoft.VisualBasic.dllだけでなくMicrosoft.VisualC.dllすら存在する状況下で
全く専用のdllが要らずmscorlibとSystem.〜にしか依存しないというのも
それはそれで疑問が…やっぱり巨大exeは健在か?(w
182デフォルトの名無しさん:02/05/30 04:03
ML見たら久々にpcodeハケーン!
>>182
書き込み自体は久々ではないんだけどね...
184Delフサギコ ◆zE1iiRdQ :02/05/30 09:36
とりあえず
Classes.pasはPluginによって
使ったり使わなかったりです..
StringListで処理させたい時もあるし,,,
             __________
   ∧,,∧      /とりあえずClasses重すぎ....
  ミ,,゚Д゚彡  <  クラスとか
  ミ つ且~~   \_詰め込みすぎじゃないかしら
〜ミ,,,,,, ,,ミ  TStringList自作しても
       結局TListは使うから..Classes使うのは同じなのかな。。

パケージってのは
実行時パッケージのことすか?

メモリがさすがにもったいなくなったので
usesのものは極力減らしてまするんですが
PlugInのモノによっては
PopupMenuを使いたくて
DataModuleに貼り付けて動的生成したりしてるもんすから…

>Delphiで作られた.dllの例外を、別の言語で作られたEmEditor.exeがさばけないのは当然のような気が。
じゃ…なんでWin2KはOKでWinXPはだめなんだろか..トホホ

>VCL使ったDLL呼び出すとメモリリークする問題とか、
はみつつです。(w
キシュツですか?
>>175 & >>180
情報源きぼーん

186デフォルトの名無しさん:02/05/30 13:26
>>185
Delphi MLとかC++BuilderMLとか
その他多数。すげえ有名。
この点C++Builderだと、
TStringListはstd::stringとvectorかlistで簡単に自作できるから強いね。
>>187 
 あ、それはDelphiでもSaveToFileを手で書けば解決するでしょう
>>188
VCL無しでですか?
気になってしょうがないんだが…
次に出るDel7では少しだけ.net対応になるんだろ?
少しだけってどれくらいなんだ?
そしてKylix3にC++Builder混入疑惑…
某板のコロスケ刷れでも話題だが、どこまで扱えるんだろう・・・?
191Delフサギコ ◆zE1iiRdQ :02/05/30 15:13
どれくらいかっていうと
 イヤーン 少しダケヨーン
   ∧,,∧  
  ミ゚Д゚*ミ
  ミ⊃ ⊂ミ
 〜ミ ▼ ミ
   U U  〜●・●〜

それぞれ名前は忘れたわ
Del7ではコンパイルしたとき
.NET用のバイナリも出力できわ
 >>だからWinCEとかでも動いたり動かなかったりするらしいわ

Del.NETでは
.NET用クラスライブラリをDelphiから使えるわ
VB<>C#<>Delphi相互のクラス利用が可能のようよ

って認識。違うかしら

Kylix3はLinux版Delphi+BCBだと思われよ
>>191
>.NET用クラスライブラリをDelphiから使えるわ
>VB<>C#<>Delphi相互のクラス利用が可能のようよ

俺はフォームデザイナがWindows.Formsに対応できてないだけと睨んだけど。
Pascal.NETとしては使えるが今のC#SDKのような悲しい環境で。
っていう話だと理解してた。
>>192

そんなもんつかうやついるはずないよ。
君の理解はまちがい
>>193
Delphi.NET

->従来のDelphiソースを.NET用にコンパイルできるミラクル環境。
>>194
だったらBorlandマンセーなんだけど
VB6とVB.NETみたいな悲しい関係になってほしくないなあ
俺は別にTComponent 継承のさえ移植できればいいや
>>195
VB.NET -> .NET対応を重視 -> 従来ソースとの互換性が・・・。
Del.NET -> VCL対応を重視 -> .NETとの互換性が・・・。

行き着く先はC#なのさ。
言語開発スレの新言語が.NET対応になったらもしかすると・・・。
VCLが変更されてもそんなに困らないけど?

従来のソース資産は普通、関数とかせいぜいTObject継承でしょ?
>>197
.NET対応を重視するとすべての言語がC#の文字面を変えただけのものになってつまらん。
ぜひともVCLとの互換性を重視してほすぃ
200Delフサギコ ◆zE1iiRdQ :02/05/30 22:06
            ∫    _________
   ∧,,∧     ∬   /プレゼンから想像するのも
   ミ,,゚Д゚彡っ━~  <  ファンならではの楽しみ
_と~,,  ~,,,ノ_.  ∀   \ ですね
    ミ,,,,/~), │ ┷┳━   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ .じ'J ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄  ┻
http://homepages.borland.com/aohlsson/BorCon2002/RAD1115.html
Pascal.NETじゃないし
VCL互換は保持するでしょう。
.NETでもAPIは使えるんだし。
VCLソースをCILコンパイラってのを通せばいいだけかも。
201デフォルトの名無しさん:02/05/30 22:31
>>200

>Also included in DCC32 compiler in Delphi 7

>・Nested types
…classの中でさらにclassが宣言できる?

>・Namespaces
…Borland.Vcl.StdCtrlsみたいにunit名が階層化できる?(ネイティブのときも使えると嬉しいですね)

>・Garbage collection
…流石にCLR上で動かす場合だけでしょ…ネイティブの時は恐らく無関係?

>・Class properties and fields
…今まで書けなかったclass propertyが書けるようになる?

Delphi for .NETの方に100% CILと書いているということは
Delphi 7 の.NET対応はWindows依存の部分が残っているということでしょうか

Windows.pasがそのまま使えたら、API宣言付きC#みたいなもので最強かも
202Delフサギコ ◆zE1iiRdQ :02/05/31 00:36

               _____________
   ∧,∧     ,::  /
  ミ,,゚Д゚彡っ━'~  | コンパイラ切り替え式じゃないかしら?
  ミ∪  ~,ノ    < Delphi for Winと for .NETは別Exeになるかもね。
   ミ  '' ミ       \____________
   し'~し'
     ____
   _i'__`i   
    ミ,,゚Д゚彡
    (ミ Hip ミつ やってきたぞ!Delphi最強!片っ端から投げ散らすぞ!
     ミ Hop ミ
     ∪ ∪ イエーイおまえらシコシココード書いてますかぁ?イエーイ
先生!!ネタハッケソしますた
ttps://sourceforge.net/projects/delphinet/
205144:02/05/31 11:44
>>167
げええ。Delphi6でWindowsXPで動くアプリケーションを作ることになっているのですが
やめた方がいいの??? 業務用アプリだからやばいよなぁ。。。
>>205
いやそんな書き込みだけ見て判断してはいけないよ。

DLLをプラグインとして使う場合、内部で例外が出ても、それを
   DLL内部でキャッチしてDLL外に出さないようにしないとダメとか

そういう細かい当然やるべき事をやってる上での事かどうかとかそういう情報と込みで見ないと
207Delフサギコ ◆zE1iiRdQ :02/05/31 12:58
>そういう細かい当然やるべき事をやってる上での事かどうかとかそういう情報と込みで見ないと

  ∧,,∧   やり方がわかりません鬱
  ミ,,  彡 鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱
 ミ   ∪ 鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱
 ミ〜,, ミ  鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱
  ∪ ∪  鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱
>>207
try catch
>>207
 俺はそのエディタのプラグインの事は判らないんだけど
 EMエディタから呼ばれる関数・手続きがあるだろ? それを hoge とする

procedure hoge( dt:THogeData);
begin
 try
except
  // 出来ればここで、キャッチしたエラーをデバック中はログに吐くとか
  // (ログに吐くのはVCLを使わずにAPIでやらないと意味がないけどね)
  // せめてメッセージを出すとか
   on E:Exception do MessageBox(0,PChar(E.Message), 'HogeDLLでエラー', MB_OK );
    else MessageBox(0,'鬱・・何だか判らん', 'HogeDLLでエラー', MB_OK );
 end;
end;

Delphiの例外は、APIの構造化例外で処理されてるから
こういうふうに、全部例外をDLL内で処理しないと exe側でキャッチされてしまう
 で、exe側でキャッチしても、当然例外オブジェクトの扱いが違うから
 鼻から悪魔が出る事もあると

そういや DLLの作成時にUNITのinitialization 節が 実行されない不具合直ってるみたいだ
もちろん try exceptの間に書きたい処理を書くんだよ・・
基本的にこういうのは別のメソッドにしとくといい
Delphi使っててほんとに例外処理知らんのか?
212デフォルトの名無しさん:02/05/31 13:28
>>211
そんなことはわかってると思うよ。
例外処理をしたってそのDLLがWindowsXPでは正常に動作しないことには
なんら変わりがないと思うが。落ちないだけで。違うのかな?
一度に多数の例外が発生出たって事だと
何かDLL側の潜在的なバグで例外が出てるのに
エディタ側は構造化例外をキャッチしてないのだと思うけどな
214デフォルトの名無しさん:02/05/31 13:44
他のいろんなところ探しても
windowsXP上でDelphi作成アプリを動かすと問題があるって
話は見つからないよね?大丈夫なのかな?
>>214
VisualStyleを使用しなければ基本的に問題ない。
ただし某のサポートは受けられない。
216デフォルトの名無しさん:02/05/31 19:31
delphi5ってどこかで落とせないんですかねえ?
pascalならあるんですけど授業と食い違うんですよ
>>216
6なら落とせる。
Delphiを授業に使ってるガッコがあるんだ・・・へえ〜
大卒には必須の知識ですが?
>>219
>大卒には必須の知識ですが?
取りあえず鉱石学部の奴に謝れ。
>>216
まぁDelphiはPascalじゃなくてObjectPascalだからなぁ。
でもdcc32使って、{$APPTYPE CONSOLE}しとけば、
いわゆるガッコウでやるようなPascalとほとんどかわらんだろ。

かわるとしたらファイル入出力とかかな?

標準Pascal
Reset -> Read or Readln -> Close
Rewrite -> Write or Writeln -> Close

ObjectPascal
AssignFile -> Reset -> Read or Readln -> CloseFile
AssignFile -> Rewrite -> Write or Writeln -> CloseFile

だったかな?
旧来のText/Assign/Closeという名前でも使えますよ。
TFormにこれらのプロパティやメソッドがあるから別名としてTextFile/AssignFile/CloseFileもあるだけで。
>>201
しかしこれ見るとdel6にはほとんどいいとこねーな…
ウリだったCLXも使ってる人は少数派だろうし
>>223
俺はPersonalで初めてDelphiに触れたんで、FreeのDel6Personalは
大きな意味があった。

ありがとう、Borland。
225いさかじゅうぞう:02/06/02 00:30
>>224
同じく。
226デフォルトの名無しさん:02/06/02 00:31
227デフォルトの名無しさん:02/06/03 00:14
フサギコはだいじょうぶなのかな?

タカラ、ギコ猫を商標登録していた!
http://news.2ch.net/test/read.cgi/newsplus/1023008632/

★ギコ猫略奪!強欲、極悪企業タカラに対抗処置を!
http://school.2ch.net/test/read.cgi/shikaku/1023008580/

スマソ モウシマセン。
。・゚・(ノД`)・゚・。

http://aa.2ch.net/test/read.cgi/mona/1023024788/
229営農ギコ:02/06/03 00:23
>>223
CLXは「今後」使う人が多くなるでしょ。

早くBCBのLinux版キボンヌ[w
230デフォルトの名無しさん:02/06/03 00:33
CLXイラナーイ
Linuxイラナーイ
Delフサギコもタカラに転職ですか・・・
フサギコは犬だから……
234Delフサギコ ◆zE1iiRdQ :02/06/03 13:17
T |
A | ・・・・イヌTAKARA・・・・
K |彡   
A ⊂ミ
R |ミ
A |J
まぁここで書くのもアレで申し訳ないが…

顔文字/AA板出身の俺としては『宝頃すけ』だ。
一人寂しく宝鯖にDoS攻撃スクリプトでアタックしてるよ…
逮捕されても良いさ

#スレ違い書き子スマソ
#(逮捕されに)逝って来ます
タカラは特許取り下げしたよ。
237Delフサギコ ◆zE1iiRdQ :02/06/03 16:31
 | T |
 | A |∧,,∧ 正直.フサもアタク
 | K ミ*゚Д゚ミ したかたかも。
 | A |⊂ ミ
 | R |  ミ
 | A |゙゙∪  
   
238Delフサギコ ◆zE1iiRdQ :02/06/03 16:34


      ●∩∧,,∧  アタックNoワン
        ミ゚Д゚,,ミ       ↑犬だから
        ミ   ,つ 
 ̄  ̄   ミ゙゙_  ミ〜 ト  ̄  ̄  ̄
       ∪゙ヽ ミ   オ
       /  ∪  \
  /       :    オ
     /    || .   ォ  \
     /     | :   ォ  \
    /       .
           | .   ォ


あたっく〜〜♪  あたっく〜〜♪

なー♪、んばー♪ わーーん♪

♪   ∧,,∧ ♪
    ミ,,゚Д゚彡  ♪
    ミつ[|lllll]).
   〜ミ  ミ
    U''U  記念カキコ
239 ◆Pc9801rE :02/06/03 18:39
ギコたん大丈夫 よかったね。
http://dailynews.yahoo.co.jp/fc/entertainment/toys/
240西村博之 :02/06/03 23:59
「タカラは、ギコ猫がインターネットのコミュニティーで生まれて広まったものであることを
考慮すべきで(事実上の作者である)ネット利用者の気持ちも分かるはずだ。
これまでもアスキーアートを使ったグッズや書籍などが生みだされている。
そういった自由にキャラクターを育て、自由に使える状況を存続させていきたい」
>>236
トッキョじゃなくてショウヒョウだと思われ。
242Delフサギコ ◆zE1iiRdQ :02/06/04 09:48
Linux向けの .NETツールを開発している――米BorlandのCEOが語る
http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20020603/2/
             _______________
  ,,,,,,,,,,,,,∧,,∧   /
〜′,,,,,,,ミ,,゚Д゚彡< Monoっぽいのが出来るかな?
  UU""" U U   \_______________
243デフォルトの名無しさん:02/06/04 10:43
>>242
>アピール材料は十分仕入れてきたようだ。
だって (w

Delphi 生き残れんのかな〜?
Kylix もいまいちのような気がするし...
(これは Linux とも絡むが)
Delphi 1.0 発表時の「これだ!」っていう衝撃がない。
なんとかせ〜 > Borland。 信で下さい > MS。
244デフォルトの名無しさん:02/06/04 10:49
MSに氏ねというより、某が頑張るべきだと思うべ。
最近のバージョンアップは不満。
>>243
MSが氏ぬとBorlandも氏にます。
246Delフサギコ ◆zE1iiRdQ :02/06/04 11:32
>MSに氏ねというより、某が頑張るべきだと思うべ。
>最近のバージョンアップは不満。

ミ ゚Д゚彡、同意同意.
MSの著しいVerUpをみせつけられたら
某何やってんのかと思われ
(Kylixに足はひっぱられたんだろうが)

リファクタリングとかJBで取り入れてるくせに
XP的ユーザーの意見反映が
ちっともなされてなくて鬱。
247243:02/06/04 11:34
>>245
不覚にもワラタ..... 現実を直視するとコワイ。
Win 止めて Linux へ行きます。 誰か仕事くれ〜。
でも Kylix2 へはバージョンアップしないぞ!
Kylix4 まで待ちだな....
248デフォルトの名無しさん:02/06/04 11:39
delphi初めて3年。
C#に移ります。delphiさようなら。

>>245
 どうだろう? Win32APIは十分に枯れているから
 今現在、 windows互換OSを作るのは難しい事じゃないだろうし
 それが間に合うまで、とりあえず緊急にはWIN95のUpdateキット
 でも出せばライセンス数的には十分だろう

 今MSが潰れて泣くのはXPユーザと、C#に期待してる人売業者
 だけだろう。
また馬鹿が紛れ込んできたよ。(w
>>242
またQtで作るのかな?
だったらGNOMEマンセーのXimianとはうまく棲み分けられそうだけど。
問題は、Monoの成果を搾取してまたBlackdownの悲劇を繰り返さないことだけ。
252デフォルトの名無しさん:02/06/04 11:57
Borlandは成果の搾取対象についても中立です。(嘲笑激藁
253デフォルトの名無しさん:02/06/04 13:03
>>252
消えろ
254デフォルトの名無しさん:02/06/04 13:06
>>253
上げんなカス。(嘲笑激藁
255デフォルトの名無しさん:02/06/04 13:26
Borlandってオープンソースの成果盗みまくり。
TAKARAみたいな企業だ。(嘲笑禿藁
>>255
>Borlandってオープンソースの成果盗みまくり。
企業が使っちゃいけない理由はなし。
257Delフサギコ ◆zE1iiRdQ :02/06/04 13:33
むしろ、積極的に取り込まなさ杉タン

ミ ゚Д゚彡 もっとユーザーサイドコンポーネントを
      標準コンポとして利用しる
>>255
MSのソフトがgzip使ってたってお話聞いたことない?
>>258
MSはユーザーに貢献してるから許されるんだよ。
MS
マイクロソフト
マイク ソフト
マイ クソフト
マイ クソ太〜
261デフォルトの名無しさん:02/06/04 20:58
>>257
DelギコはC使えますか?
Delphiスレなのに関係ない質問御免!
でもぜひ聞いてみたい・・・
誰でも使えると思うが?
>>261 が言いたいのは、ポインタを駆使し、もう誰にも
原因を特定することさえ不可能だと思われるメモリリークを
自ら作り込んだ後に、軽やかな、しかししなやかな演出で
自らリークを解消し周囲の絶賛を受けることができるのか
ということ。


そもそもCが使えなきゃBCB使えないだろ。
Del厨もCを勉強しておくと何かと役に立ちますよ。
CゲンガーもCOBOLを制覇しておくとろくな事ないですよ
>>265
安心しろ、Del系の書籍が少なすぎ&Helpが初心者向けじゃないから
大方のDelを使う奴は他のオブジェクト指向言語をある程度は使える。
ついでに言うとKylixを使用している奴の場合、何かとC・C++の知識は必要。

とネタにマジレスしてみるテスト

ところで今現在Kylix使っている奴いる?
色々な理由でKは小物ツールを作るには向いてないような気がするんだけど…
みんなはどんなの作ってる??
>ついでに言うとKylixを使用している奴の場合

そんなヤツいないよ(沙
> 大方のDelを使う奴は

>>265の言うDel"厨"はそれ以外の少数派のことだろうな。
kylixってネタでしょ。
本気でやるならclxなんてヘボイ形式作んないで、
既存のDelphiアプリがコンパイルすればLinuxで動くようにするだろうし。
271267:02/06/04 23:34
>>268
わかってるよ、散々各所で調べてきたんだから…
誰か漏れ以外に使っている、もしくは某の口車にまんまと騙されてKを買ってしまった奴居ないかなぁ…
>>271
無料版インストールして、HelloWorld動かして、おー動いた動いた。
で、それっきり触ってない。
LinuxでX立ち上げる事自体ほとんど無いもんなあ…
kylixってdaemonとかcgiとか作れるの?
>既存のDelphiアプリがコンパイルすればLinuxで動くようにするだろうし。


               爽 快 に 必 死 だ な 。


>既存のDelphiアプリがコンパイルすればLinuxで動くようにするだろうし。
>>271
買ったよ。
Kylixに限ったことじゃないんだがどうもdbExpressが好きになれないんだよなー。
あと、Enterでプロパティエディタがアクティブにならない点。
276デフォルトの名無しさん:02/06/05 00:01
Kylixイラナーイ
Linuxイラナーイ
学校ナイシー
278デフォルトの名無しさん:02/06/05 15:21
VS.NET付属のWinDiffって進化してるの?
(゚Д゚)ハァ?
日経ソフトウェアのムック「カンタン!Delphiプログラミング」買った人いますか。

「付属CD-ROMに収録したプログラムやデータなどは、著作権法により保護されていますので、
特別の表記が無い限り改変や再配布はできません。」と書いてあるのですが。
これはマジでしょうか?

再配布ができないのは良いとして、付属のサンプルコードを改変してはいけないとは悲しい。
買った。だが、
わ ざ わ ざ 流 用 す る ほ ど の 物 で も な い
が漏れの感想。
あなたは、「文字列検索」でUpperCase派?そりともLowerCase派?
どうもオレはその時の気分でゴッチャになる(分裂気味?)。
どっちがいいとかあるんだろうか?
283デフォルトの名無しさん:02/06/06 00:21
>>280
「改変して、『by オレ・作』はダメアルヨ」って意味じゃないの?
284283:02/06/06 00:26
追加
改変して、『by オレ・作』にして、それを公開する(ネットでとか)のはダメアルヨってこと。
>>282
LCMapString派
286280:02/06/06 01:20
>>281 >>282-283
スクリーンセーバーを作ってみたかったのです。
コピぺせずに一から作るなんてできないよー。

まあ参考書にソースコードが付属している場合、再配布、または改変しての再配布について
禁止しているのは珍しくないですけど。
でも個人的にソースをいじって試してみることについても禁止しているように見えたので。
使えねー本だ。ウワーン

結局他でサンプルソースコードをゲットしました。
すいません。ちょっと愚痴を言ってみたかっただけでした。
287Delフサギコ ◆zE1iiRdQ :02/06/06 01:24
 ∧,,∧
ミσ゚Д゚ミσ 常識の範囲内で対応シル

       そんな意味不明な使用許諾?
       守らなくていいだろ。

     守らなければ訴えられる時だけ
     気をつけれ。
288デフォルトの名無しさん:02/06/06 01:28
>>286
ああ、「Delphi で作るスクリーンセーバー制作講座」か。
あそこのソースは「どうぞご自由に」って書いてあるもんな。
「ソースアーカイブの2次配布はいかなるかたちであれ禁止」だそーだが。
289280:02/06/06 02:34
>>287 >>288 愚痴を聞いてくれてありがとう。フサギコタンニ レスシテモラエテ ウレチイ
結局使ったのはBorland Developer Network(旧 Borland Community)の記事とCode Centralにある
ソースです。

せっかく作った(実際はほとんどソースをコピぺなんですけど)スクリーンセーバーが
配布できないのに気づいたのでやつ当たりしちゃいました。
まあそれが普通なんですよね。日経ソフトウェアさんごめんなさい。
>>289
謝る必要は無いと思うが…
むしろ雑誌・書籍についてあるソースを改変不可にするなんて、まともな出版社のすることじゃないと思われ。
291デフォルトの名無しさん:02/06/06 10:12
>>282
SameText派
サメテキスト?

どちらかといえば UpperCase 派です。
293デフォルトの名無しさん:02/06/09 02:22
>>292
セイムだろ…
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?sw=0&MT=same

ねただったらスマソ
ageちまった
鬱出汁脳
(´-`)。o ○ (もちろん、ネタだろ…かわいそうに…マジツッコミ
入れられちゃって…)
>>282は「検索」って言ってるんで、文字列をUpperCase or LowerCase
で揃えてPos関数とかを使うって意味じゃないの?
SameTextで検索ってどうやんの?
297Delフサギコ ◆o7ab2ChY :02/06/09 09:55
/  、      \
       |_____G_|__     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       川|川 / 臭 \|ノ〜  <   VBマンセー! \(^〇^)/
       川川  ◎---◎|〜    \________________
       川川     3  ヽ〜  彡.| ̄ ̄ ヽ
       川川  ∴) A(∴)〜 :  . |G5  /
       川川     U  /〜     | ; ;/彡
       ;川川     ダッラ〜     |  /
     /  ̄\\;;;;;;;;;;ノ\____⊃⊆
    /   /  \ Vノ    //  .  ̄| ⊆
    |二二|  GI AヽヽNTSヽ/----- <_ヽ
    ヽ  |     ヽヽ  5 ヽ
     ヽ  ヽ     ヽヽ   )
      \ \    _)_) ノ
      / ヽ \g8gg& ;;\ 
     /;; ; ヽ  つ二3;; ; \          /
    ( ;; ; ;/\(;;;);;)\   )         .
::     \∴ヽ  しっっ彡|;∴;/
       \;;;\    /;;;/
       /   )   (  \
       UUUU    UUUU
>>296 部分文字列を比較すればできるだろ。俺はしないけど。

if SameText(Copy(Text1, Pos, Len), Text2) then
>>298
アホですか?
Pos が分かってたら苦労はありません。
>>299 検索だろ?Posをforでまわすんだよ。
>>300

サメテキスト派って、頭悪いんですね。
煽りか?「俺はしないけど」と書いてるが。
303299:02/06/09 11:01
>>298 = 302

あのね、298 のコードでは Pos が回ってません。
それから 298 は サメテキスト派 ではないことは分かっています
>>303
>>298のPosは検索位置、Lenは比較する文字列の長さを表す。
読み取れないか?
>>299
こういう使い方をすれってことだろ

 Len1 := Length(Text1);
 Len2 := Length(Text2);

 for i := 1 to Len1 do
  if SameText(Copy(Text1, i, Len2), Text2) then
306サメテキスト派:02/06/09 11:10
プ
307305:02/06/09 11:12
ああ、>>305は2バイト文字が考慮されてないとかのツッコミはなしね。
簡単な例だから。
>>305
2バイト文字が考慮されてないからダメじゃん(藁
309299:02/06/09 11:15
>>304

読み取れる。失礼した。
282 の質問では、「大文字・小文字」を区別しない検索だよね
この場合、SameText() でやるより、明らかに UpperCase()
か LowerCase() でどちらかに揃えて、Pos() というのが
一般的だよね。オレの Delphi は古いので SameText() という
関数がないのだが、あえて SameText() を使うとすると、どんな
メリットがあるのでしょうか?
>>299
無知を露呈する前にヘルプでも読み耽ってくれよ。
>>309
そのメリットは>>291に聞かないとわからんな。
俺(>>298)は>>296

> SameTextで検索ってどうやんの?

に答えただけだから。>>298に書いたように実際に使ったことは無いので。
312299:02/06/09 11:24
>>310

310 はヘルプでも読み耽ってるんですか。暇なんですね。
わたしが無知だとどうしてわかるんですか?
アフォほどよく吠えるって知らないんですか?
314デフォルトの名無しさん:02/06/09 11:31
ギスギス キタ━━━━━(゚∀゚)━━━━━!!!!
煽りが混じってるな
>>313 アフォ
メリットってシャンプーですたっけ?
最初にアフォと言い出したのは>>299だったりする
「>299=>316=アフォ」でいいですね?
>>318 それ以前に使ったひとはいないのですか。
それはすごいですね。サメテキストも変ですが
バカという奴がバカと同じだな。
>>321 同じだな
>>320
必死ですね(プ
del厨の程度の低さ
>>323 同じだな(プ
>>324 同じだな
> 読み取れる。失礼した。

ここだけ口調が違います
たかだか「比較する前に大文字(or小文字)に揃える」か
「大文字・小文字の区別無しに比較する」かの違いだろ。
なんで引っかかるんだ?このアフォ(>>299)は
329299だが:02/06/09 11:49
>>328 なんで引っかかるんだ?

なんにも引っかかっていませんが。どこのことでしょう?

みんな暇を持て余してたんだ。
じゃあ黙れよ(プ
日本戦をはやく始めてくれ
333真性299だが:02/06/09 11:53
328 はアフォよばわりして逃げですか?
もげそうだよ・・・
>>328 引っかかるというか、SameTextで比較する方法を考えることができなかったんだろうな。
アフォに加えて粘着だし(藁
337デフォルトの名無しさん:02/06/09 11:57
祭ですか?
338真性299だが:02/06/09 11:57
>>355 SameTextで比較する方法

検索だってこと分かってます?
339355:02/06/09 11:59
検索するとき一度も比較しないんですか?>アフォ
>>338 本当にアホか?検索するための比較だろ?
    読解力無い奴だな。(298からの流れでわかりきった事だが)
比較だけで検索できますか >アフォ

Pos() の実装はともかく、コード上では比較しないよ。
>>299
天然ですか?藁
>299=>341
ぁ〜ぁ、こいつやヴぁw
>>341(=299?) SameText使った検索の話に、なんでPos()の実装が出てくるんだ?
>>342 人工です

みなさん、お付き合いありがとね!
・゚・(ノД`)・゚・。
さようなら・・・アフォな人・・・
つまらんことでスレ伸ばすなよ。
348真性299だが:02/06/09 12:15
お昼時にたくさん釣れますた!!
ああ、釣れたと言わなければやってられないよね・・・
みーんなアフォ
   ,へ、        /^i
   | \〉`ヽ-―ー--< 〈\ |
   7   , -- 、, --- 、  ヽ
  /  /     i      ヽ  ヽ
  |  (-=・=-  -=・=- )  |  < 読み取れる。失礼した。
 / 彡   ▼    ミミ   、
く彡彡   _/\_    ミミミ ヽ
 `<             ミミ彳ヘ
    >       ___/
352デフォルトの名無しさん:02/06/09 15:41
∋oノハヽo∈
 (# `D´)ノ<つぃはてんさいなのれす!
馬鹿って言うほうが馬鹿の法則は正しかったのね
354Delフサギコ ◆o7ab2ChY :02/06/09 16:47
bakaは、死ね
今更だけどスレタイトルに機種依存文字を使うのは…。
>>354
本物は ◆zE1iiRdQ なんですけど。
>>355
Aで、Delphiユーザ=丸付き数字表示可、ということでOKになりますた。
なかなかの自己厨っぷり。
>>353
はいはい、馬鹿って言っちゃいけないんだよね。
アフォ はいいけど。

よい子は手を洗って寝ましょうね。
Delphi関係なく盛り上がってますな。
俺に絡む>>359はアフォの>>299ですか?
>>282
case-insensitive boyer-moore
3人寄れば文殊の知恵 この言葉は正しくありません。
3人寄っても馬鹿は馬鹿。
incaseだったらkmpの方がよさげ。
365Delフサギコ ◆zE1iiRdQ :02/06/09 23:06
AnsiPosのサメテキスト版を作るおうって
意気込みの人は折らんのかえ…
           _____________
   ∧,,∧    /似たようなのを作ってみてるので
  ミ,,゚Д゚彡 <  もっと優れたのに改造スレ
  (ミ  ミ)   \
 〜ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪
   サッカー勝ったはいいが、俺は仕事だったよ。


範囲で検索AnsiPos
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1023631451&rm=100
>>365
作るんなら >>362 >>364 のあたりで(笑)
367Delフサギコ ◆zE1iiRdQ :02/06/12 00:33
ちょっと遅れ気味だけど
Delphi6プログラバイブ読んで
Interfaceの実装を改めて復習してみてます。

で、ふとした疑問です。

propertyでのインターフェースの実装委譲って
何のために実装されてるんすか?

はっきり逝って、Interfaceって概念自体、
Delphi使いには理解しにくいのに
更に意味不明な領域まで引き込んでくれる
実装委譲って仕組みはInterfaceの学習の際に
わかりにくすぎて学習意欲が一気に萎えてしまうような
変な仕様だと思うのですが、詳しくわかっておられる方、
実装委譲の必要性はなんなのでしょうか。


なんかTAggregatedObjectとかいう聞いたこともないような
クラスもあるみたいだし、、
ほんと、Interface周りはヘジタンの言うようなシンプルさに
程遠い実装だなー。ってなDQNな感想をもってしまったのですが
どうなんでしょう。

プログラバイブの著者さんも、Interface実装と委譲とを混ぜたら
メソッド名のぶつかり問題に遭遇するってのを書いているし。
まじで、Delphiに幻滅する仕様なんですが....

長文スマソ。
           _____________
   ∧,,∧    /なんか、Interfaceに
  ミ,,゚Д゚彡 < いっつも文句言ってるぞ
   U  つ   \オレ...
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ もうそろそろ、Delphiにも言語的限界を
       感じちゃうな。
368Delフサギコ ◆zE1iiRdQ :02/06/12 00:52
          雑談ばっかですが、

   ∧,,∧    /WinXPでCtrl+Shift+Zで
  ミ,,゚Д゚彡 < 窓のフォーカスが外れるのは
   ミつ つ   \MSの嫌がらせかなあ??
 @ミ  ミ      
   ∪''∪   どんなエディタでもみたいなんだけど,,,,,  


あと、D6ってなんだか
array of Stringに対して
AnsiIndexOfとかで内容を検索できるみたい
StringListは使わないつもりかな?

文字列処理ルーチンをみましたが関数が増えすぎて正直なにがなんだか...

AnsiContainsStr/TextとかAnsiStartsStr/Textとか
AnsiMatchStr/TextとかConcat、DupeString....
AnsiReplaceStr/Text(StringReplaceでいいのでは?
調べてみると,,,,全部いらんし......
(自分で作って3行程度の関数なんてVCLにならんくていいyo...

いったい、誰が製作指揮とってるんだろ?
オレにすら、設計がイマイチ、と思わせる開発されても
正直失望...
369素数2:02/06/12 06:40
既存のだと多機能or欲しい機能がないのばっかりなので画像ビューワー作り出したっす。

やっとの事でJpegが表示できるようになった!(Gifその他は無視することに決定。
ビューワーって意外とむつかしいのね。 知識が追いつかないですよ・・・
370デフォルトの名無しさん:02/06/12 11:49
       ∧_∧
       /⌒ヽ )
      i三 ∪ ←Del
       |三 |
      (/~∪
     三三
>>369
Jpeg展開ルーチン実装したのならすごいと思う。
でも、Susieプラグインに対応する方が死ぬほど楽だと思う。
372無責任だが:02/06/12 12:08
>>367
implements については VCLでもactiveX関係の実装にしか使われていません

詳細は、ヘルプの
 Delphiプログラマーズガイド
   一般的なプログラミングタスク
     委任した実装の使い方
 前後から読むと良いでしょう


もし、 implements の機能が無ければ、例えばこのヘルプの例で
IRGB8bit のインターフェースの
Red,Green,Blue をいちいち書かなければいけません。
で、それは、メンバーとして持っている FRGB8bit: IRGB8bit;をそのまま
呼び出すだけなの殆ど意味の無いコードを書く事になります
> はっきり逝って、Interfaceって概念自体、
> Delphi使いには理解しにくいのに

こういうこと書く奴のせいでdel厨とか呼ばれるんだよな…
374Delフサギコ ◆zE1iiRdQ :02/06/12 12:35
ミノ゚Д゚彡ノヲオヲ、、コメントありがとございます。>>無責任だがさん

返信もらえて。よかった、
相変わらず詳しいっすね。

>もし、 implements の機能が無ければ、例えばこのヘルプの例で
>IRGB8bit のインターフェースの
>Red,Green,Blue をいちいち書かなければいけません。

いちいち書くのがオーオーピーでのHasAの関係で
それが冗長でもわかりよいコードになるのではないでしょうか?
(HasAには不必要メソドを隠蔽ってのもありますが,,,それはおいておいて)

もしInterface無しで、HasAのクラスに
実装委譲する機能があったと想像すると
そんな機能、混乱を招くだけではないかしら。

>implements については VCLでもactiveX関係の実装にしか使われていません
という事は、implementsは忘却してもよろしそうですね。
>>373 違うよ。
Delphiに対する批判に過剰反応する奴がいるからDel厨って言われるんだよ。
そういう奴にはDelphiに対する要望すら批判に聞こえるらしい。
implements重要ですよー。
ObjectPascalが他のOOPLをリードしている点のひとつだと思ってるのですケド。

面倒な委譲メソッドの数を減らせるのはもちろん、
・機能の問い合わせ方法をas演算子に統一できる。
・全てがTObjectから継承という世界観を崩さないまま多重継承(もどき)ができる。
ほらね…

>>377 ハイハイ そっち行きますよ。
InterfaceはCOMを実装するために作ったad hocな仕様なんでしょう。
implementsはCOMのアグリゲーションそのまんまですね。
静的な設計におけるインターフェイスはInterface型よりもメソッドポインタ
を使ったほうがベターでしょう。
380Delフサギコ ◆zE1iiRdQ :02/06/12 12:42
ミ ゚Д゚彡んー
   Delphi使いでInterface使って便利な
   何か機能を実装してるヤシって見たことないんだけど...
 それで、Del使いには理解しにくいって言うのは言い過ぎかな。

D6バイブ読んで初めてしったんだけど
InterfaceにGUIDのある無しで機能が変わったりするらしいね。
そういう仕様のInterfaceはちょっと面倒っすね。

>>376さん、
うっそーんミ゚Д゚;彡多重継承モドキはIntefaceだけで十分じゃないのかしら?
  ,,,あ、そうじゃなくて実装を委譲してしまうから、多重継承に近くなれるのか...
  深すぎて、フサにはわかんない。
381Delフサギコ ◆zE1iiRdQ :02/06/12 12:45
ミ ゚Д゚彡
D6バイブの受け売りだけど
>InterfaceはCOMを実装するために作ったad hocな仕様なんでしょう。
いまは違うみたいです。(こじつけかもだが)

>静的な設計におけるインターフェイスはInterface型よりもメソッドポインタ
>を使ったほうがベターでしょう。
それはやり方がわかりませんです。
インターフェイスの使いどころはOpenToolApiのように実行時に機能を
追加したり外部から機能を呼んだりする時にしっくりきますね。やったことはないですが。
メソッドポインタは
TFireworkInterface = record
Fire: procedure of object;
end;
TUchiageHanabi = class
procedure Fire;
function GetFireworkInterface: TFireworkInterface;
end;
function TUchiageHanabi.GetFireworkInteface: TFireworkInterface;
begin
result.Fire := Self.Fire;
end;
という感じです。
383376:02/06/12 13:07
COMを真似るだけならウィザードで委譲メソッドを吐かせれば充分でしょ。

例えば、IObserver/IObservableなんてのを作ったとき、implementsがあると
IObservableの実装を使いまわせます。

OpenToolsAPIのように、機能の問い合わせをひとつのオブジェクトに集中して
個々をasで問い合わせるという作りができます。

アクロバットなアイデアとしては
派生クラスで、幾つか用意された実装クラスのどれかをimplementsするのを当てにして
Self as IXXX なんてのも考えられます(やりすぎと思いますけど

Javaに同様の機能が無いのでデザインパターンに使われていないのが惜しいぐらい
あーasで引っ張るのは面白いですねえ。
でもまあDelphiの場合、実行時型情報が強力なので
せっかくinterfaceがあっても、つい実行時型情報を使ってしまわない?

published にさえしておけば、メソッド名から検索出来てしまうんだから
機能を名前で管理出来てしまう
386Delフサギコ ◆zE1iiRdQ :02/06/12 13:32
ミ,,゚Д゚彡
...面白さがいまいちわからない...っ酢>>384

>implementsがあると IObservableの実装を使いまわせます。
implementsがなくても記述をバンガレは実装を使いませると思うのだけど、

>>385
それは美しくなさそう,,,コンパイルエラーも出ない?

いま、ふと考えたんだけど
Memo1.Textに'MyObject.MyMethod'という文字列がある場合
ソース中のMyObjectのMyMechodを呼び出すって
事も、RTTIなら出来ちゃうんだろうかしら。
型チェックが無いと怖い体質(wなので僕は専らinterfaceですけど、
RTTIも駆使すれば色々できそうですね。
詳しくないので幾つか応用例を教えて欲しかったり。

interface/RTTIを駆使したDelphi専用デザインパターンなんてのも
列挙してみれば面白いかも。
C#ですべてできることを必死で議論してますな。(藁
MyObjectがパブリッシュなプロパティで MyMethodがそのパブリッシュなメソッドならね
>>388
>C#ですべてできること

VB.NETでもできますね
>implementsがなくても記述をバンガレは実装を使いませると思うのだけど、
それが嫌なんですよ〜
IObservable程度なら少しですけど、メソッドが幾つもある巨大な実装ならどうします?
変更時単なる委譲部分まで書き直すのも鬱ですよ。

特に問い合わせ元を集中したばあい、implementsが無いとやってられません
(5つ以上のインターフェースを他にimplementsしているクラスなんてのも作ったことがあります)

>>388, 390
implementsに相当する機能はC#に存在しませんが何か?
もちろん VB.NET にもないし
でもなあ、 VBで

Interface MyInterface
Function MyFunc1( MyInt As Integer) As Integer
End Interface
とか見ると、なんか ObjectPascalにそっくり
>>387

別のスレで正規表現をエスケープした名前をメソッド名にして
lexのように処理させるというアイデアが出ていた。

でも、publishedなメソッド名を列挙して
http://www.users.gr.jp/ml/archive/delphi/54178.asp

列挙したメソッド名から引数が一致するかどうか迄判るのだろうか?
>>379
禿同。
interfaceの仕様って、ObjectPascalの文法の中でかなり浮いてるよな。
他の部分は芸術的とも言えるような言語仕様なのに、interfaceだけは
後からこじつけたような仕様だし、、

       ∧_∧
       /⌒ヽ )  >>394
      i三 ∪  だって後からこじつけたんだもん。
       |三 |    しょうがないじゃん…
      (/~∪
     三三
>>394
 そんなふうにいうが、ActiveXやCOMがこれだけ使い易く、しかも同じくらい使い易いVBよりも
 高速に扱えるようにしてしてくれてるのはその interfaceのお陰では?
こじつけでも、実際役に立っているので構いませんが。
不満があるとすれば、

・GUIDを書かなかった場合は内部で勝手に生成して欲しい
・インターフェースを返す関数の戻り値を受け取らなかった場合
 _Releaseが呼ばれるのが呼び出した側の関数の最後になるのを早めて欲しい(文の直後とかに)

ぐらいです。強いていうなら、
参照カウンタとは無関係な純粋にFreeで解放するモデルの延長としてのinterfaceも欲しかったですね。
折角IInterfaceを設けたのですから、IUnknownをIInterfaceから派生し、
_AddRef, _ReleaseはIUnknownで定義され自動増減もIUnknown(からの派生)として取り扱う時だけ有効、とか。

interfaceに不満しか言わない人は、一度COMとは無関係に、
interfaceを使いまくった設計をしてみるのは如何でしょう?
5ボタンマウスの余計な2個のボタンに機能を割り当てたいのですが
どうすればよいのでしょうか・・・。
自作ビューワーの 進む、戻る にしたいんですけれども。教えて偉い人!
WM_XBUTTONDOWNをPlatform SDKで調べると幸せになれるかも。
具体的な値はSDKのヘッダーファイルを検索すれば調べられます。
まあ、実は同じことやったことがあるのでコピペしておきます。

const
 WM_XBUTTONDOWN = $020B;
 WM_XBUTTONUP = $020C;
 WM_XBUTTONDBLCLK = $020D;
 XBUTTON1 = $0001;
 XBUTTON2 = $0002;

もっといい方法があれば、教えて偉い人!
>>400は粘着
インターファイスを使ったよい例がのってるところってある?
そういえばWebServceとかはInterfaceつかってるな
404増田ジゴロウさんの正体が知りたいっ子:02/06/13 23:59
どうもCOMはよく分からん…。
他が分かってんのか?と言われたら自信無いけど(藁
「解放する必要が無い」って読んだ気もするけど、どーなの?
どうも勘違いしてる気がする>オレ
name only...
IInterface型は他のPascal文法にあわせて綺麗な仕様として、
その派生としてICOMInterface型を宣言して、そっちはM$仕様の
ばっちい実装にすれば良かったのでは、と最近思う。
VariantとOleVariantみたいに、oleinterfaceとか、OleWideStringとか作って、
普通のinterfaceはシンプルにまとめ、普通のWideStringはAnsi同様参照カウンタでメモリーの節約を…
とかやって欲しいですね。
>>407
はげどう。DelphiってMSに歩調を合わせるために、かなり設計思想を犠牲にしてるような。
409398:02/06/14 06:33
>>399-400 ありがとおぅ。
何となく簡単そうなむつかしそうな・・・一段落したら試してみるです。

今日やってみようとおもったのだが先にサブフォルダ検索の実装
をやろうと思ったら6時間も掛かっちゃって・・・
苦労して作った割には動作は重いし・・・
フォルダ20個で合計2000ファイルの読み込みに20秒・・・アホな
インターフェースは仮想メソッドポインタだけの構造体と同じ
 ただ、メモリー管理を楽にして欲しいという要求に答える為に参照カウンタ型の
 メモリ管理機能を組み込もうとした。 その為に仮想メソッドポインタだけの
 構造体という姿勢を崩すよりは、AddRef Releaseををコンパイラが呼び出す
 だけにした方が綺麗だし簡単となったんじゃないの?

その機能のないinterface型を作ってしまうと、Delphiのクラス型はJAVAと違って
自動メモリ管理されないから逆にややこしいし
COM型のインターフェースと共存して混乱してしまう
411デフォルトの名無しさん:02/06/14 20:56
 ちょっときーてください。
Delphi6 Personalで、
 「オブジェクト変数の参照」と、「オブジェクト変数」の監視(ポインタ)表示で
値が違ってるんです。
 で、スコープはクラスのメンバにしてあるのに、
そのオブジェクトのインスタンスのポインタを代入したメソッドを抜けると
監視表示できなくなるんです。 

NewTag := TTag.Create(inTag);
SetNewTag(inTag,Ele,NewTag);
TagList[TagMX-1] := @NewTag;

TTagはTComponentの派生、
NewTagはメソッドの頭で宣言したTTag型のオブジェクト変数、
SetNewTagはTagのメンバ変数(プロパティ)を設定(代入)してるだけ、
TagListは^TagList型のこのクラスのパブリックな静的配列、
TagMXは1です。

問題のオブジェクト変数はNewTagで、こいつの監視(ポインタ)表示が
@NewTagと違っていて、メソッドを抜けるとTagList[0]が見えなくなるんです。
インスタンスは破棄していないのに。

どうやったらこのTagList[0]の値を別のこのクラスのメソッドから使えるように
なるか、教えてください。 お願いします。
412デフォルトの名無しさん:02/06/14 23:11
誰か答えてやって。読みづらくて。
>>411
そりゃObjectPascalでは、C++とは違って、オブジェクト変数ってのは
元々ポインタだから、@NewTagってのはポインタ変数のポインタになりますねん。
NewTagってのがメソッドのローカル変数なら、メソッドを抜けたら@NewTagの
値は不定になりますねん。
414デフォルトの名無しさん:02/06/15 00:01
>>413
ガーン

ってことは、

@NewTag -> NewTag にすればいいの?
>>412
ごめん、どの辺が読みづらいか教えて。
ひょっとして改行?
>>414
>@NewTag -> NewTag にすればいいの?

いや、@NewTag -> pointer(NewTag) だと思ふ。

>>413
Wow!(泣いている) うまく行きました。 ありがとう。

これで2時間ちょっと悩んでました。
子供の頃から10年以上CやC++をいじってきて、ポインタも解ったつもり
になってたのに、実は才能ないじゃん、中国へでも売られてしまえばいいんだ
なんて思い詰めていました。 やっぱりまだ日本にいることにすます。


>>417
Pointer型にキャストしろってことですか?
TagList を array[0..99] of TTag にしました。 代わりに。
でも、これでうまくいくんなら TList を使ってPointer型に
キャストした方がシンプルですね。 やってみます。
ありがとうございました。

ところで、オブジェクト変数がポインタってことは、キャスト
すれば継承によらずにどんな変数にでも代入できちゃう
ってことですよね? いや、コンパイル通すだけなら
C++でもできるけど、それで動くようにできちゃうんですね。

ついでですみませんが、いまMSHTMLを使っているのですが、
ActiveXの取り込みで取り込んでも、このクラスが現れません
よね。 VBのオブジェクトブラウザからなどだと見えるように
なるのだけど。 入力支援機能が働かないのでオブジェクト
ブラウザと行ったり来たりでコードを書いてます。
支援機能を使う方法はないのでしょうか?
>>419
オブジェクトならTObjectの方が美しいけどね。
uses mshtmlで行けないですか?
>>419
継承と無関係な型にキャストするのは危険と思われ。
プロパティやメソッドにアクセスしたとき何が起こるか…
第一、コンパイラに怒られなかったけ?
TClassA = class(TObject)
public
property A: …
end;

TClassB = class(TObject)
public
property B: …
end;

procedure Hoge;
var
Obj: TObject;
begin
Obj := TClassA.Create;
TClassB(Obj).B := x; // どっか〜ん!
>>422
クラスである前にやつらはポインタって話じゃないの?
 バージョン情報の、メジャー・マイナー・リリース・ビルドって
皆さんはどんな規則でつけてる?
初公開が β1
そのあとバグ取りだろうが機能追加だろうがなんだろうが必ず1ずつあがる・・・現在β24だってさ。
427425:02/06/15 22:44
 というか、正式なバージョン情報の付け方ってあるんですか?
自分の場合

メジャー:
 0〜1未満 未完成
 1 一通り完成
 2〜 ガラリと変わる場合(ほぼ1から作り直しぐらい)の時に上げる

マイナー:
 大きな機能追加、修正があった時に上げる

リリース:
 ちょっとしたバグとり、修正の時に上げる

ビルド:
 IDEにより自動更新

ちなみにUNIX系みたいな、奇数は不安定、偶数は安定みたいなつけ方は特にしてない
画像ファイルの一覧を作るのにこんな手続き書いてるんだけどサブフォルダがいっぱいあるフォルダを検索したときにやたら遅いです。
なにか高速化のいい手はあるでしょうか? filelist Tstringlist でグローバル変数。 

procedure TForm1.filesearch(ddir:string);
var
sr:TsearchRec;
res:integer;
i:integer;
ext:string;

begin
ListBox1.Items.BeginUpdate;

res:=FindFirst(ddir+'\*.*',faAnyFile,sr);
while res=0 do
 begin
  if not ((SR.Name='.') or (SR.Name='..')) then
   if ((SR.Attr and faDirectory) = faDirectory) then filesearch(ddir + '\' + SR.Name); //対象がディレクトリの場合、自分を再帰呼び出し
  else
   begin //対象がファイルの場合リストに追加
    ext:=LowerCase(extractfileext(sr.name));
     if (ext='.jpg') or (ext='.jpeg') or (ext='.bmp') then filelist.Add(ddir +'\'+sr.name);
   end;
  end;//if end
res:=FindNext(sr);
end; //while end

findclose(sr);

ListBox1.Items.Assign(filelist);
for i := 0 to ListBox1.Count-1 do
begin
 ListBox1.Items[i]:=ExtractFileName(ListBox1.Items[i]);
end;

ListBox1.Items.EndUpdate;
end;
431430:02/06/16 09:34
>>430がミスってたので修正&余計なところを削除しました。ごめんささい
filelist は Tstringlist でグローバル変数。 

procedure TForm1.filesearch(ddir:string);
var
sr:TsearchRec;
res:integer;
i:integer;
ext:string;
begin
res:=FindFirst(ddir+'\*.*',faAnyFile,sr);
while res=0 do
 begin
 if not ((SR.Name='.') or (SR.Name='..')) then
  begin
    if ((SR.Attr and faDirectory) = faDirectory) then
      filesearch(ddir + '\' + SR.Name) //ディレクトリの場合再帰
    else
     begin
      ext:=LowerCase(extractfileext(sr.name));
      if (ext='.jpg') or (ext='.jpeg') or (ext='.bmp') then
       filelist.Add(ddir +'\'+sr.name);
    end;//else end
 end;//if end
 res:=FindNext(sr);
end;//while end
findclose(sr);

end;
432無責任だが:02/06/16 09:58
>>430
1、 手続きを作る時は出来るだけ依存関係を引数に纏める事
2、 再帰を使う時は関数内関数を使うと格好良く書ける

procedure filesearch(ddir:string;ListBox1:TListBox);
var filelist :TStrings;
 procedure files(ddir:string);
 var sr:TsearchRec;
 ext:string;
 res:integer;
 begin
   res:=FindFirst(ddir+'\*.*',faAnyFile,sr);
   try
    while res=0 do
    begin
     if not ((SR.Name='.') or (SR.Name='..')) then
     if ((SR.Attr and faDirectory) = faDirectory) then files(ddir + '\' + SR.Name) //対象がディレクトリの場合、自分を再帰呼び出し
    else
      begin //対象がファイルの場合リストに追加
       ext:=LowerCase(extractfileext(sr.name));
        if (ext='.jpg') or (ext='.jpeg') or (ext='.bmp') then filelist.Add(ddir +'\'+sr.name);
      end;
    res:=FindNext(sr);
    end; //while end
   finally findclose(sr); end;
 end;
var i:integer;
begin
ListBox1.Items.BeginUpdate;
filelist:=TStringList.Create;
try
  files(ddir);
  ListBox1.Items.Assign(filelist);
 finally filelist.free;end;
for i := 0 to ListBox1.Count-1 do
begin
  ListBox1.Items[i]:=ExtractFileName(ListBox1.Items[i]);
end;
ListBox1.Items.EndUpdate;
end;
433無責任だが:02/06/16 10:13
>>431 それはそんなに遅い? それで遅いとなると難しいかも
434430:02/06/16 11:21
>>432 ありがつお。関数内に関数を置けるとはしらなんだ。
listboxなどを引数にするなどするのも気がつかんかったけど、確かにこっちの方が管理しやすそうですね。
>>433
同じフォルダを開いたときに
今メインに使ってるビューワーだと3秒で済むのに、俺の作ったのだと20秒掛かるんです・・・
435無責任だが:02/06/16 11:39
>>434
ええと、遅いのは ループ中にあった
  ListBox1.Items[i]:=ExtractFileName(ListBox1.Items[i]);

これのせいだと思うよ。 >>432のように再帰ループ中から外して さらに
 assignしてからを止めて

  ListBox1.Items.Add(ExtractFileName(filelist[i]));
と末尾に追加した方がいい
>>435 おおすごいっす。20秒だったのが5秒掛からなくなりますた。
実用に耐える速度です。感謝です。

関数内関数って宣言が実装を兼ねてるんですねぇ。面白い
findfirst失敗してもfindclose呼ぶんだっけか?
>>437
よんじゃ駄目
えっ・・・findfirstって失敗すること在るのか・・・深い深すぎる・・・
そりゃ、一致するファイルが見つからなければ失敗するだろう……
(´-`)。o ○ (「失敗」って、そーゆー意味なのか?)
FindFirstはファイルが見つかったときは0、
それ以外の場合はエラーコードを返しますですよ。
で、ヘルプに載ってる例では、0返したときだけFindCloseを呼んでます。
コンポーネントがインストールできない〜

インストールした筈のコンポーネントは
起動時はコンポーネントパレットに表示されてるのに、プロジェクトを開くと消えてる・・・
del6 proですが、こんなことあるんか!

del6インストールし直してみるか・・・
444443:02/06/18 06:11
>>443 出てきた!
その時点で使えないコンポーネントは消えるのか・・・ お騒がせする間もないけど済みません。
445Delヒッキー:02/06/18 21:09
W杯 日本敗北記念age
>>443
独り言は日記帳に書いてください。
TreeNodeで教えてくん!
TreeNodeをTreeView無しで使いたいです。
んで、TreeNodesを作って、TreeNodeをAddChildすると「親ウィンドウがない」って怒ります。
仕方ないので、動的にTreeViewを作ってItems.AddChildしたのですが、これも怒られます。
やっぱ、画面に見えちゃう系のオブジェクトはSelfがnilだと駄目なんでしょうか?
フォーム無しのイケてるアップリケーションでも使いたいよ。
>>447
寝ろ。
純粋にツリー構造を使いたいなら、自作するべし。データ構造の初歩です。
TComponentあたりを流用してもいいですけどね。

ストリーミングなどでTTreeNodeでなければいけないなら、
TTreeViewはコモンコントロールのラッパーなので、項目も外部で管理されているため
ウィンドウハンドルが必要です。Visible = False で使うしか無いでしょう。
450447:02/06/19 00:48
>>449
ありがd。
やっぱ無理か。。
最初は、自分で作ってたんだけど、ノードの移動とかを考えると
MoveToがあるTreeNodeが便利かなあ、と思って使ってみたら
使えなかったよ。。。トホホ。。
なんか代替案考えます。
451447:02/06/19 00:56
ギャー!いい案思いついた!
CLXのTreeNodeを参考にして作ればいいんだ!MoveToあるし。
すげー!パオーン
>>TreeNodeをTreeView無しで使いたいです。

これが一番の謎です。
アトランティスの謎です。
里見の謎です。
コンボイの謎です
コダックのOCX使って、スキャナ制御してるんですけど、
なぜか色数の指定とサイズ指定ができないんです。
スキャナの制御とかやってるかた、つーかTWAINですな。

なにかいい方法ないでしょうか。
Cマガに「delphi7は今年の第2四半期に出る」って書いてあったけど、マジ?
>459
「今年の第二四半期」ってあと一週間しかありませんケド……
最近 Delフサギコ見ないけど生きてるか?
>>461
けど、一度現れると、朝まであらゆる場所で見かけたりするけどな。
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |仕事疲れたら出るダロ.|
 |_________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
実は>>463=Delフサギコ
各Delphiコミュニティの有名人
nifty Delphiフォーラム:
 謎の全知師(最近見ないけど)
 瑠ろう
Delphiメーリングリスト
 中村
Delphiスレ
 Delフサギコ

あと、誰いる?
MLのあの人はあえて出さなかったよ。
>>465
Delphiスレなら
最近、「無責任だが」氏はなかなかがんばっているようだね
トリップつければいいのに...
467Delフサギコ ◆zE1iiRdQ :02/06/23 12:44
            _____________
    ∧,,∧    /激務→出張→缶詰→激務→失恋 
  _ ミ,,゚Д゚彡_<  で、踏んだり蹴ったりで、現実逃避してますた
.=| |==U==U=| |= \
 | |@ミ  ミ .| |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | | 何もする気がありませんが何か?
 | |      | |
>>467
昨年末に、彼女と別れた、とかいっててもう失恋ですか。
もてるんだか、そうでないんだか、分かりませんね。
469Delヒッキー:02/06/23 15:29
>>467
苦労してますね・・・
470Delフサギコ ◆zE1iiRdQ :02/06/23 15:42
            _____________
    ∧,,∧    /失恋ってっても人妻さんに単なる片思いですし
  _ ミ,,  彡_<  いいことなんて、なんにもないです。
.=| |=ミ   ミ=| |= \"あーきらめましょおー♪あきらめましょー♪"
 | | ミ@ ミ | |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | | 近所の猫にオリジン弁当のから揚げを
 | |      | | やったら、なつかれました...
          女の子もなついてくれないかな。
471Delフサギコ ◆zE1iiRdQ :02/06/23 15:43
            _____________
    ∧,,∧クルッ / ついでに言うと
  _ ミ,,゚Д゚彡_<  元カノは半ストーカーと化してます,
.=| |=ミ   ミ=| |= \
 | | ミ@ ミ | |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | |
 | |      | |.ポリ公には相談に逝きました.....欝だ...
         
もうみずぽですか?みずぽなんですか?
逝きるってなんですか。日曜昼からAA書く事ですか・・・・・・
>逝きるってなんですか。日曜昼からAA書く事ですか・・・・・・

日曜の昼間も仕事しつつ息抜きに2chすることです・゚・(ノД`)・゚・
しんでいいよ
にんげんがいきるりゆうなんてなにもないんだから
しんでいいよ
人生、踏まれたり蹴られたり、沈んだり潜ったり、嫌なことや辛いことがあったり、
忘れたいことや思い出すと錯乱状態に陥ったりすることもあります。けれど、
生きることには何の具体的な希望があるわけではありません。ですから、
地獄の底を這いずるように生きましょう。我々には氏ぬことも許されません。
>Delフサ
まあ、発泡酒でも飲んでおけ。
476Delヒッキー:02/06/23 23:34
>>Delフサ
まぁここでマターリしていきなされ・・・
  |
  |,,∧
  |д゚彡
  ⊂ノ  2chってたまにヤサシイよな
  |ミ
  |
━━━━━━━━━━━━━━━━
>>Delフサ
>人妻さんに単なる片思い
オレにも経験がある。つらいよねぇ.....
いい女はだいたい人妻だしね

>逝きるってなんですか。
うーむ、結婚して子供つくると、この答えは自明になる、と思う
適当にみつくろって、身を固めることを勧めたいと思ふ

>現実逃避
2ch は現実逃避の一つだね。たまにはコテハンよして、
「デフォルトの名無しさん 」で書き込んでみるとよいと思ふ
>>478
>>>Delフサ
>>人妻さんに単なる片思い
>オレにも経験がある。つらいよねぇ.....
>いい女はだいたい人妻だしね
同感です。
くどいけど引用しときますた。 マーフィーの法則にもあるんじゃろか。

>>逝きるってなんですか。
>うーむ、結婚して子供つくると、この答えは自明になる、と思う
>適当にみつくろって、身を固めることを勧めたいと思ふ
犬もいいよ。素直でかわいくて。
  ∧,,∧     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,, ゚Д゚彡  < >>478 結局AAでDelフサとわかる罠(w
 ミ つ[|lllll]). \_________
@ミ  ミ
  ∪∪漏れDelフサじゃないよ
いい男は大抵既婚者かホモだそうですが
独身のホモでもない俺はいい男じゃないんだろうなーいい男ってなんだろうなーいい女もわかんねーや。

最近ファイルのD&Dで起動したときに勝手に変わる作業フォルダの悩みを解決してちょとうれし。

絶対パス指定以外にいい方法はない物だろうか。
ファイルメモリ
GetTempFolder
483デフォルトの名無しさん:02/06/24 09:33
あるファイルが読み取り属性だった場合にそれを解除したいのですが
どうすればよいですか。
VCLのFileSetAttrかWin32APIのSetFileAttributesをどうぞ。
っつーかヘルプ読んでくれ。
             __________
   ∧,,∧      /
  ミ,,゚Д゚彡  <  貴様等中村師の御相手して差し上げやがれ
  ミ つ且~~   \__________
〜ミ,,,,,, ,,ミ お世話になってる奴多いだろ?
猫に小判
過去ログは全て戸田のものではないかという気もしてしまう今日この頃
>>487

つまり、使い物にならん、と?
>>488
それはいくらなんでも過去ログに失礼
(´-`)。o ○ (うわー… 某所の質問レス、すごいなぁ… えらいことになってるなぁ…
これ、どう答えんのかなぁ…?今まで見た中でdelphiでは最強な初心者質問レスだなぁ…)
でも本当に鬱なのは、自分が人を傷つけたり
納得できない自分に気がついたときだという罠。
取り返しがつかない。exceptなときだね。
>>490
>質問レス
質問なのか回答(レス)なのか分からんが?
493490:02/06/25 00:21
(´-`)。o ○ (まぁ、「レスポンス」ってことを考えるとおかしいのは間違い無いけど…。
「質問」だけで良かったか…。つーか、広げると怒られそうだ…)
で、どこの話?ちょっとヒントを。
495TeamB/2ch ◆SE69s0c2 :02/06/25 10:07
で、雑談スレはこちらですか?
マ板のスレッドはみんな流れてしまったようで...
496Delフサギコ ◆zE1iiRdQ :02/06/25 22:07
  ∧,,∧   鬱ダ
  ミ,,  彡 
 ミ   ∪
 ミ〜,, ミ
  ∪ ∪

   ∧,,∧   あ、TeamBさん、こんばんちは
  ,ミ ゚Д゚彡
  ミ  ∪  
 ミ〜,, ミ
  ∪ ∪

  ∧,,∧   すいませんリアルに鬱です
  ミ,,  彡 
 ミ   ∪
 ミ〜,, ミ
  ∪ ∪
      夜中一人だと大変寂しいので
      もう寝ます。
      サカー見る気も起きません。
497Delフサギコ ◆zE1iiRdQ :02/06/25 22:37
   ∧,,∧  とかいいつつ、見ちゃった... 
  ,ミ*゚Д゚彡
  ミ   つ  
 ミ〜,, ミ
  ∪ ∪
    駄目じゃん
    ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄
         ∩ ∩
        〜| ∪ |         (´´
        ヘノ  ノ       (´⌒(´
       ((つ ノ⊃≡≡≡(´⌒;;;≡≡≡
         ̄ ̄ ̄(´⌒(´⌒;;
         ズコーーー
>>497
韓国がフツーに負ける様を見て、少しは和みましたか?
(´-`)。o ○ (Hotkeyタソのソフト(軒並みバグだらけの模様)に、金払った
人いるんだ…。凄いなぁ…)
(´-`)。o ○ (500 はあの粘着だったんだぁ。キモイ)
(´-`)。o ○ (粘着は認めるよ(藁 しかし、驚くなぁ…。どんなもんでも
金払うヤツいるんだなぁ…)
(´-`)。o ○ (まぁ、どんなことにでも粘着するヤツはいるもんだ)
504デフォルトの名無しさん:02/06/27 00:13
(´-`)。o ○ (そりゃー、2ちゃんだしな。ここは(藁)
(´-`)。o ○ (貴様等このAAに粘着しすぎ
506デフォルトの名無しさん:02/06/27 04:34
Del厨も早く目を覚まして.NETに移行しよう!

http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2002_06.html
>>506
俺、VisualStudio も .NET も普通に使うけど、
川俣はいやだ。オピニオンって感想文とは違うんだけどな。
>>506
MSマンセーの小デブのいうことなど知らん
>>506
 なんかその文章の途中からC#をDelphiに置き換えてたら、俺の気持ちとよく会うなあ

Delphiを使うようになってから良くコードを書くようになった。
そして周りとは話が合わなくなった。
>506
別に。
嫌でも次バージョンのDelphiで.NETはとりこまれるし、
その次でフル対応になるみたいだし。
常に80%ってのは疑問だなあ
 自分でメモリ管理したい場合はそれなりの手間が必要だし
 インラインアセンブラでSIMDでゴリゴリとかだと0点近いだろし
 サンクとか、ネイテブコードを動的に作るとかコルーチンとか
 そんなテクニックを使いたい奴はどうする?

 自分の作りたいアプリで常に80%程度にしとけや!
>>506
このデブ、前は「コードはなるべく書くな。」ってほざいてませんでした?
513Delフサギコ ◆zE1iiRdQ :02/06/27 13:25
            _____________
    ∧,,∧クルッ /昔、マ板に
  _ ミ,,゚Д゚彡_<  彼のスレが立ってたんじゃないかな
.=| |=ミ   ミ=| |= \
 | | ミ@ ミ | |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | |
 | |      | |.
>>506
読むに値しない駄文ですた。
515デフォルトの名無しさん:02/06/29 08:44
フサギコはねほんとはね、いぬなんだよ。
516デフォルトの名無しさん:02/06/29 10:55
フサギコはねほんとはね、ねこなんだよ。
>>515
モナー板に帰る。
518デフォルトの名無しさん:02/07/01 09:16
定期age
519デフォルトの名無しさん:02/07/01 12:28
あの…
タスクバーもどきを作っているのですが、
タスクトレイに登録されているアプリケーションのハンドルを得るにはどうすればよいのでしょうか。タスクトレイのアイコンと、そのアイコンがクリックされたときの
メッセージを取得してタスクトレイのアプリケーションに送信、というのを実現したいのですが。
>>519

難しそう。タスクトレイのクラスって、機能が公開されてない
>519
ここで質問するよりWin32API質問箱に投げるべきだよな、これ。
Delphiには関係ないやん。

とりあえずLiteStepのソースを解析してみることをおすすめする。
ttp://indiestep.sourceforge.net/
これが理解できないなら諦めな。
マルチポストはかっこわるい?
フサギコは夏の間毛を短くしないの?
暑苦しくないの?
意味不明?
523おながいします:02/07/01 23:35
522は放置でおながいします
524素人:02/07/02 00:00
>>519
TrayNotifyWnd
SysTabControl32
MSTaskSwWClass
この辺を検索すると、ど…どうにか…な…なるかなぁ…。
Pちゃんの久しぶりの登場に何故かホッとしているのは自分だけですか?
あんただけ。でもまだ生きてたのね。
Pちゃんて、誰?
Pちゃん相変わらず低段者に優しい
吐田の突き放し過去ログ攻撃とえらい違い
530Delフサギコ ◆zE1iiRdQ :02/07/03 01:22
         ├だっちの投稿を見て、
  ∧,,∧   / フト思い出したですが
 ミ*゚Д゚彡< 桜島子宮ってなんか
  ミつ つ  \ やらしい響きがするんですが
〜ミ ,, ミ.  猫の思い過ごしですか?
  ∪ ∪   
531Delフサギコ ◆zE1iiRdQ :02/07/03 01:27
         _________
  ∧,,∧   /
 ミ;゚Д゚彡< でもタクちゃんには
  ミつ つ  \ 厳しいみたいだぞっと>>529
〜ミ ,, ミ.     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∪ ∪   
そういえばpちゃんと言えば
黒い子豚だったような...
猫?
533Delフサギコ ◆zE1iiRdQ :02/07/03 01:31
     アセアセ
   ∧,,∧ っっ
  ミ;,゚Д゚彡 っ   ワッ・・・ワン
   ミ ⊃⊂ミ
   ミ   ミ    
   ∪ ∪  ス デ ワスレテタ....イヌ ダッテ コトヲ
認知度はいかほどか。彼らは主張を続ける・・・
http://aa.2ch.net/test/read.cgi/mona/1019790685/
535Delフサギコ ◆zE1iiRdQ :02/07/03 10:12
              _____________
  ,,,,,,,,,,,,,,,,∧,,∧   /P3とかP4とかセレとかモバP3とか
〜′,,,,,,,,,,ミ,,゚Д゚彡 < CPUの種類を出来る限り
  UU"""" U U    \プログラで求めたいのですが
           どうしりゃいいでしうか?
過去ログですか?
どっか、CPUのレジスタ見ればPentium以降はわかるはづ
MMX/SSE/SSE2/3DNow/Enhanced3DNowとかのフラグもあるはず
右も左もわからんVB厨房がレスしてスマンコ
537埋め立て係 ◆UmeesDJs :02/07/03 10:30
静かにsageで無駄なカキコを大量生産し
538埋め立て係 ◆UmeesDJs :02/07/03 10:30
ごめん ゴバークした
539埋め立て係 ◆UmeesDJs :02/07/03 10:30
半年位洗ってなかったので、ヤニの塊が付着してますた
>>535
CPUID 判定
あたりで検索
541埋め立て係 ◆UmeesDJs :02/07/03 10:30
二重投稿No〜〜〜〜〜〜〜っ!!
542無責任だが:02/07/03 11:40
ふう 暑かった。 閉じこもって仕事してたら昨日朝からクーラ壊れた。
組み込み技術者の意地で今直した所。
修理屋を呼びたかったけど、部屋が散らかりすぎてて恥ずかしくて断念。
2時間かかった。
 原因は過電流検出回路の信号用ダイオードが抵抗に化けていた事
 こんな電流の流れない所のダイオードが壊れるなんて驚き。

さあ後納期は1週間、まだ影しか出来てないけど頑張るぞ・・・・
543デフォルトの名無しさん:02/07/03 20:17
質問です。
このスレで毎日コミュニケーションズの「Delphiパーソナルプログラミング」という本を読んだことある方、いらっしゃいますか?
その中で実際ソフトを作る所で、グラフィックパズルとか作ってるんですけど、難しくないですか?
他の部分はほぼ完璧に理解してると思うんですが、実際作る所が理解できません。
544デフォルトの名無しさん:02/07/03 20:34
CPUの種類ってアセンブラでこねこねして出すんでしょ?
そう。>>540のCPUIDで。
546Delフサギコ ◆zE1iiRdQ :02/07/04 09:59
自作しようと主タら、CPUIDで検索すると
もっといいソフトがみつかりましたので
作るのやめました。です。DLLもあるようですね
http://homepage2.nifty.com/smallroom/soft/soft.html
             ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  ありがd。
   ミ つ日   \___________
 .@ミ,,,,,, ,,ミ
>>546
そういわずにこれ、お読みなさいな↓
http://appzone.intel.com/scripts-util/download.asp?url=/jp/developer/jpdoc/24547003_j.pdf&title=IA-32+インテル(R)+アーキテクチャ・ソフトウェア・デべロッパーズ・マニュアル、上巻:基本アーキテクチャ&fullpg=3&site=jp
http://appzone.intel.com/scripts-util/download.asp?url=/jp/developer/jpdoc/24547103_j.pdf&title=IA-32+インテル(R)+アーキテクチャ・ソフトウェア・デべロッパーズ・マニュアル、中巻:命令セット・リファレンス&fullpg=3&site=jp
http://appzone.intel.com/scripts-util/download.asp?url=/jp/developer/jpdoc/24547203_j.pdf&title=IA-32+インテル(R)+アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル、下巻:システム・プログラミング・ガイド&fullpg=3&site=jp
そのものズバリ↓
http://appzone.intel.com/scripts-util/download.asp?url=/jp/developer/jpdoc/24161819_j.pdf&title=AP-485+インテル(R)+プロセッサの識別と+CPUID+命令&fullpg=3&site=jp
549デフォルトの名無しさん:02/07/06 11:20
       
  ,,,,,,,,,,,,,,,,∧,,∧
〜′,,,,,,,,,,ミ,,゚Д゚彡
  UU"""" U U
夏場は暑苦しい
  ,,,,,,,,,,,,,,,,∧,,∧
〜′,,,,,,,,,,,,彡゚Д゚ミ
  UU"""" U U
552デフォルトの名無しさん:02/07/06 12:05
   _____________∧,,∧
o〜′__________(゚Д゚) <床屋行きました
  UU U U
553デフォルトの名無しさん:02/07/06 12:05
   _____________∧,,∧
o〜′__________(゚Д゚) <ずれ修正
  UU    U U
554デフォルトの名無しさん:02/07/06 14:21
  ,,,,,,,,,,,,,,,,∧,,∧
〜′,,,,,,,,,,,,彡゚Д゚ミ <また生えてきました
  UU"""" U U
555デフォルトの名無しさん:02/07/06 15:57
  ,;;;;;;;;;;;;;;;;∧;;∧,
〜′;;;;;;;;;;;彡;゚Д゚ミ <かえって、毛深くなってしまいました
  UU"'"'"'"U U
556デフォルトの名無しさん:02/07/06 23:11
Delphi広場がパス付きになりますた?
557デフォルトの名無しさん:02/07/06 23:28
VBScriptが壊れますた。
(´-`).。oO(NT鯖いい加減やめようよ…)
559modoki ◆zVn/zRzw :02/07/07 00:46
例えば、スタートメニューの「ファイル名を指定して実行」の
参照ボタンのような、ファイル参照画面を出すのには
どうすればいいでしょうか?
560素人:02/07/07 00:53
出すっつーか、opendialogでいいんでないの?
自作しても良し。
http://www.hidecnet.ne.jp/~sinzan/tips/win/win_tip15.htm
のコードを置き換えれば一応できますな
562素人:02/07/07 01:04
>>561
COMで、しかもCですなぁ。アッシはCOMはよく分かってないでやんすが、
559さんは分かってるでやんすかねぇ。
>559
[Dialogs] の TOpenDialog を Formに置いて

if OpenDialog1.Execute then
  処理

こんなふー。
564西安 ◆CYANh33g :02/07/07 01:08
>>559
OpenDialog1.Execute
つーか、HSP から Delphi に転向か?(藁
>>564
つーか、もう既に二人もこたえてる質問だよ(藁
566西安 ◆CYANh33g :02/07/07 01:15
>>565
書く直前にリロードかけてなかったんだよ。
悪かったな(藁
567素人:02/07/07 01:16
「スタートボタンのファイル参照ダイアログ」限定の話じゃなかったのか…?
単にopendialog?
どっち?
568modoki ◆zVn/zRzw :02/07/07 01:27
procedure TForm1.Button1Click(Sender: TObject);
var OpenDialog1: TOpenDialog;
begin
  OpenDialog1.Execute;
end;
end.
ボタンを作って、こう↑書いてみたんですが
押しても参照ダイアログが出ないですね。

>>563のようにオブジェクトをフォーム上に配置したらうまくいきましたが
こんな感じでやりたいことはすべてフォーム上にあらかじめ配置しておく
というのがDelphiの基本なのかな・・・?
イマイチイメージがつかめないけど勉強します。
>>568
そりゃ、おぶぜくとをせーせーしてねーから。

var
 od : TOpenDialog;
begin
 od := TOpenDialog.Create(Self);
 if od.Execute then begin
  ほげほげ
 end;
 od.Free;
end;
570素人:02/07/07 01:35
>>568
なるほど(^^;。
先に言っておくと「アクションマネージャ」は無いのでチュートリアルは(略)。
571西安 ◆CYANh33g :02/07/07 01:35
>>568
そりゃ当然。
OpenDialog1 は変数宣言したはいいけど実体を生成してないし。

procedure TForm1.Button1Click(Sender: TObject);
var
OpenDialog1: TOpenDialog;
begin
OpenDialog1 := TOpenDialog.Create(nil);
OpenDialog1.Execute;
OpenDialog1.Free;
end;

みたいに自分で生成するか、フォームにあらかじめ配置するかしなきゃね。
572西安 ◆CYANh33g :02/07/07 01:36
またかぶったー(藁
573素人:02/07/07 01:39
ケコーンしませう(藁

つーか、「ポトペタ」って死語なのかねぇ…。
>>569
と思ったのですが、TOpenDialogをフォーム上に配置したとき、
Unit1.pasのどこにもCreateしている個所が見当たらなかったです。
これは、どこか目に見えないところでDelphiの神様が
生成してくださっているのでしょうか?
>>572
もうね、はげしくわろた
>>574
{$R *.dfm}
577574:02/07/07 01:44
>>576
ありがとう。この中にその辺の仕掛けが入ってるんすね。
いつか勉強するとして、今日のところはおいときます。

>>572
(゚∀゚)空振りでも、その気持ち受け取った
578松ちゃん信者:02/07/07 01:45
>>574
ちっちゃいオッサンが大勢でPCの中でダイアログを一生懸命作っています。
解放するのも彼らです。        
>>578
Inside Delphi の8章に詳しく載ってる(プロフィールつき)。
580デフォルトの名無しさん:02/07/07 01:56
TOpenDialog で、ファイルを選択ではなく フォルダを選択したいときは
どうするのでしょうか?
プロパティではとくに見当たらなかったので、できないということですか?
581ほどほどに:02/07/07 01:59
>>>580
569と同一人物ですか?検索しないと怒られますよ。
582569=580:02/07/07 02:04
>>581
同一人物です。
ヘルプは 「TOpenDialog フォルダ」 で検索しましたが
とくにそれらしい情報がなかったので。

ファイルを選択して、そこからパスを取得しファイル名部分を削除
という処理でいいのかな。
>>580
SelectDirectoryをヘルプしてやれ
>>581
(#・ж・)プンスカプン オコッタゾオ!
585素人:02/07/07 02:05
>>582
死ぬほどTIPSですよ。
>>585
たぶん、死ぬほどFAQですよの間違い。これ、今日のポイントです。
587素人:02/07/07 02:12
そうそう。間違い間違い。FAQ。
>>TOpenDialog で、ファイルを選択ではなく フォルダを選択したい

これって、「洗濯機でご飯を炊きたいんですけど」、という感じ
専用のダイアログを使えよ

掃除機で洗濯したいですけど、Delphi ではどうしたらいいでしょう
「Delphi 掃除機」で検索しましたが見つかりません。
590MFCマソ:02/07/07 03:20
もうWindowsはDelphiでいいじゃないか
なあ。
>>589
わかり辛いネタですが何はともあれ検索してみました。
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=Delphi%20掃除機

あなたが求めているのは「窓の手」付属の「不要ファイル掃除機」でよろしいですか?
>>589
ヘルプ詠め。
なんでもいいんじゃないでしょうか
595Delフサギコ ◆zE1iiRdQ :02/07/07 04:22
             ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  初心者スレで話題にしたネタですが
   ミ つ日   \___________
 .@ミ,,,,,, ,,ミ  

列挙型⇔文字列
集合型⇔文字列の相互変換関数

作りました。
Iniファイルの値保持時などに使うと
キットいい感じ。

列挙型⇔文字列、集合型⇔文字列の相互変換
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1025982772
めがびはイヤン
597デフォルトの名無しさん:02/07/07 05:01
改行コードって \n じゃないの?
sBreakLine使え
599Delフサギコ ◆zE1iiRdQ :02/07/07 10:04
  ∧,,∧
 ミ,,゚Д゚彡 なんで集合型はByteにキャストできるんですの?
Byte0..255符号なし 8 ビット
256パターンしか判別できなさそうなんだけど....

ふと疑問思いました。
type
 TNumber = 0..512;
 TNumbers = set of TNumber;

こんなのをコンパイルしてみると

「集合型は 256 個以下の要素しか持てません」

なんていうエラーが出ました
だからByte型より大きい型にキャストする必要がないんでない?
ちなみにDel6です
>>599
そのまんまでしょ。。。
602Delフサギコ ◆zE1iiRdQ :02/07/08 01:54
  ∧,,∧
 ミ⊃Д`彡 ウワーン
回答を楽しみに2ch来たのにー...

なんか俺が激しく勘違いしてるのか
質問の意味が通じてないのか、どっちかで
さっぱりワカメだよー


えっと、集合型、set of TNumberは

たとえば
TNumber = (n0, n1, n2, ... , n255); //≒TNumber = 0..255;
って定義されているものを

複数個まとめて

[n0, n1, n2, n5, n100, n254]

とか管理できるもんだと思うのですが

そうすると
256個それぞれに対して集合の中の有る無しを
調べなければならなくて
256個の所にそれぞれ2進数のフラグ値が必要なんじゃないかと....

あ、あ、、、きっと俺が激しく勘違いしてるんだろな。
  ∧,,∧
 ミ⊃Д`彡 ウワーン
603Delフサギコ ◆zE1iiRdQ :02/07/08 01:55

  ∧,,∧
 ミ⊃Д`彡 ウワーン、ageてやる

やっばし、激しくわけわかりません。

適当に調べてるさいちうに書いたコード
type
TEnumNumber = 0..7;
TEnumNumbers = set of TEnumNumber;

procedure TForm1.Button3Click(Sender: TObject);
var
EnumNos: TEnumNumbers;
B: Byte;
begin
B := Byte(EnumNos);
end;

このコードはコンパイル通るのに

TEnumNumber = 0..8;

にすると"正しくない肩キャスト"エラが出るんです。

これはなせ?
604西安 ◆CYANh33g :02/07/08 02:33
>>603
1byte は 8bit なんだから Byte では 8 パターンの T or F しか表現できないのでは?
すなわち 0..7。
605西安 ◆CYANh33g :02/07/08 02:37
>>603
違った、ずれてる。
だから 0..8 だと 8bit で表現できなくて Byte より大きい型でキャストしないといけないのでは?
多分 WORD。
606Delフサギコ ◆zE1iiRdQ :02/07/08 02:39
  ∧,,∧  
 ミ⊃Д´> ウワーンニダ

2^8=256でByteで表現できたよー

でも、それだったら
Byteにキャストできるのは
要素が8個の列挙型だけじゃない!

もっとたくさん要素ある列挙型は何に
キャストしたらよいの?

  ∧,,∧  
 ミ⊃Д`彡 ウワーンヤッパワカナイヨ
607Delフサギコ ◆zE1iiRdQ :02/07/08 02:48
試したら
Byte8個>>Word16個>>Longword32個
の要素数でキャストできるけど・・・

  ∧,,∧  
 ミ⊃Д`彡 ウワーン、それ以上キャストする肩がないよ-

そんでもって、要素数によって
キャストコード変えなきゃいけなくて、鬱

   ∧,,∧  
  <⊃Д´> ウワーン、某ランドは
         イルポンに謝罪しるニダ
608西安 ◆CYANh33g :02/07/08 02:53
type
TEnumNumber1 = 0..7;
TEnumNumbers1 = set of TEnumNumber1;
TEnumNumber2 = 0..15;
TEnumNumbers2 = set of TEnumNumber2;
TEnumNumber3 = 0..23;
TEnumNumbers3 = set of TEnumNumber3;
TEnumNumber4 = 0..31;
TEnumNumbers4 = set of TEnumNumber4;
TEnumNumber5 = 0..39;
TEnumNumbers5 = set of TEnumNumber5;
TEnumNumber6 = 0..47;
TEnumNumbers6 = set of TEnumNumber6;
TEnumNumber7 = 0..55;
TEnumNumbers7 = set of TEnumNumber7;
TEnumNumber8 = 0..63;
TEnumNumbers8 = set of TEnumNumber8;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers1)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers2)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers3)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers4)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers5)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers6)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers7)));
Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers8)));
end;

結果
1
2
4
4
5
6
7
8
609600:02/07/08 04:26
(つД`) ウワァァァン
漏れも激しく勘違いしてたみたいだ
何で256個も要素をもてるのにByte型で十分なんだよー
鬱だし脳
>>607
64個までならInt64型があるよ

type
 TNum = 0..63;
 TNums = set of TNum;

procedure TForm1.Button1Click(Sender: TObject);
var
 num: Tnums;
 i: Int64;
begin
 i := Int64(num);
end;

これでコンパイル通ったよ
Delフサギコってしお韓住人だったのか・・・
そもそも、何故整数型にキャストする必要があるのでしょ?
set A は元々 superbitpacked array[A] of Boolean みたいなものだし。

単に集合→文字列変換の関数の引数に総称的に渡したいとかなら
型無しconstパラメータで充分な気が。
集合はビットの配列で,各ビットはその集合に各要素が含まれるかどうかを示します。集合の要素の最大数は 256 です。 したがって,集合が 32 バイトを超えることはありません。集合のバイト数は次の式で計算します。

(Max div 8) - (Min div 8) + 1

Min と Max は集合の基本型の下限と上限です。特定の要素 E が何バイト目かは次の式でわかります。

(E div 8) - (Min div 8)

そのバイト内で何ビット目かは次の式でわかります。

E mod 8

E は要素の順序値を表します。可能であればコンパイラは CPU レジスタに集合を格納しますが,集合が汎用整数型より大きい場合,または集合のアドレスを取るコードがプログラムに含まれている場合は,集合は常にメモリに格納されます。
>>607
>ウワーン、それ以上キャストする肩がないよ-

こんなのどうでしょうか。

type
 TNum = 0..255;
 TSetNum = set of TNum;
 TSetCast = array[0..31] of Byte;

function ByteToBitStr(bt:Byte):string;
var
 i:integer;
begin
 result := '';
 for i := 0 to 7 do begin
  if Odd(bt) then
   result := '1'+result
  else
   result := '0'+result;
  bt := bt shr 1;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 SN:TSetNum;
 SC:TSetCast;
 s:string;
 i:integer;
begin
 SN := [3,8,255];// Test
 SC := TSetCast(SN);
 s := '';
 for i := 0 to 31 do
  s := ByteToBitStr(SC[i])+' '+s;
 Memo1.Lines.Add(s);
end;
>595
Delphi6のTypInfo.pasに、SetToString/StringToSetを見つけてしまったのは気のせいでしょうか
616Delフサギコ ◆zE1iiRdQ :02/07/09 01:19
 ∧,,∧  >>615
ミσ゚Д゚ミσ そのソースはすでにしこぶる参考にしてますです。

TypInfoのヤシはどうやらプロパティに限定した
使い方を想定してるみていですね。

 ∧,,∧  >>614
ミσ゚Д゚ミσ byte/word/longwordなどにキャストするのではなく
        array[0..31] of Byte;
        とかにキャストしるってことですね。
        参考にしたいと思います。

 ∧,,∧  >>612
ミσ゚Д゚ミσ 俺のもっとも尻鯛情報を知ってなさるような気がシルニダ<`Д´>
      
 ∧,,∧  >>610
ミσ゚Д゚ミσ サンコスク
function SetToStr(TypeInfo: PTypeInfo; const Value; Brackets: Boolean = True): string;
type
 ByteSet = set of 0..7;
var
 ByteValue: ^ByteSet;
 I, M: Integer;
 ElemTypeInfo: PTypeInfo;
 ElemTypeData: PTypeData;
begin
 Result := '';
 ElemTypeInfo := GetTypeData(TypeInfo)^.CompType^;
 ElemTypeData := GetTypeData(ElemTypeInfo);
 ByteValue := @Value;
 for I := ElemTypeData^.MinValue to ElemTypeData^.MaxValue do
 begin
  M := I mod 8;
  if M in ByteValue^ then
  begin
   if Result <> '' then
    Result := Result + ',';
   Result := Result + GetEnumName(ElemTypeInfo, I);
  end;
  if M = 7 then Inc(ByteValue)
 end;
 if Brackets then
  Result := '[' + Result + ']';
end;
…というわけで整数型を介する必要なんて無いんですね。
Delフサギコさんは某ランドに謝罪して下さい(w
619Delフサギコ ◆zE1iiRdQ :02/07/09 06:17
           _____________
   ∧,,∧    /
  ミ,,゚Д゚彡 < StrToSetはどうやって作るのでしょうか?..
   U  つ   \戻り値に肩無しConstは無理だろうし...
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ 
           _____________
   ∧,,∧    /
  <ヽ`Д´> < まだまだ謝罪を要求するニダ
   U  つ   \
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ 
type
 TMaxSet = set of Byte;
 PMaxSet = ^TMaxSet;

function StrToSet(TypeInfo: PTypeInfo; const Value: string): TMaxSet;

という宣言を持ち

type
 TEle = (e00, e01, …(中略)… e38, e39);
 TRan = e01..e35;
 TSet = set of TRan;
var
 A: TSet;
begin
 PMaxSet(@A)^ := StrToSet(TypeInfo(TSet), 'e10 e20');

という使い方で動作する関数StrToSetを作ることができた、とだけ言っておきましょう…
なんか悔しいので中身は教えてあげない。

ヒント: メモリを破壊する心配は不要。レジスタに収まらない戻り値は、
呼びだし側が確保したバッファのアドレスが渡されるので、使う分だけ書き換えればOK。

( まあこんな事しなくても procedure StrToSet(…, out Result); でいいですけどね )
621デフォルトの名無しさん:02/07/09 11:05
FAQのサイトが軒並みダウン
<ヽ`Д´> < Delフサニダに改名するニダ!

  ,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,<ヽ`Д´><  DelphiやBorlandについて熱く語るニダ
 UU"""" U U    \_________

スレッドクラスから、フォームを表示する方法を教えてください。

procedure TManager.Execute;
var
BForm : TForm2;
begin
{ ToDo : スレッドとして実行したいコードをこの下に記述してください }
BForm := TForm2.Create(Application);
BForm.Visible := true;
end;
end.

と、スレッドクラスでやってもフォームが表示されません。

中身の二行を最初のフォームのボタンのイベントの中に書いたら
表示することができたのに。 なんで?

ちなみに、スレッドの起動は、同じように最初のフォームのボタンのイベント内に
MyThread := TManager.Create(true);
MyThread.Application := Application;
MyThread.Resume;
などと書いております。 よろしくおながいします。
別スレッドでウィンドウつくってもメッセージループが回っていないのでは。
オレだったらメインスレッドにメッセージ送って From2 を作らせる
626624:02/07/09 22:38
>>625
Application.CreateForm(TForm2, Form2);
これをシンクロで呼んだりしてもいいのかな?

デバッガで動作を追ってみると、新しく作ったスレッドからTForm2.Create(Application); を実行するとその次の行のBForm.Visible := true;が実行されていませんでした。
イベントディスパッチャにでも化けてるんですかね?
ん?Delフサギコがカミングアウトしたのか?
628624:02/07/10 00:26
やってみました。 シンクロ。

procedure TManager.Execute;
begin
{ ToDo : スレッドとして実行したいコードをこの下に記述してください }
//BForm := TForm2.Create(Application);
Synchronize(CreateForm);
end;

procedure TManager.CreateForm;
begin
BForm := TForm2.Create(Application);
BForm.Visible := true;
end;

で成功しました。

なぜ?メッセージループってプロセスの共通リソースで管理してるものじゃないの?
新フォームのメッセージループへメッセージをApplicationが振り分けてくれる必要があるとおもうのだけど、これはApplication.Runを実行したスレッドでないと登録してくれないってことでしょうか。
別スレッドでフォームを作ると帰ってこないので、やっぱり新メッセージループを作ってるのでしょうか。
だとすると、Windowのハンドルをなんとか捕まえてVisibleにすれば見えると思うのだけど、そこまで実験できませんでした。
Application.CreateFormとTForm2.Create(Application)の違いもわかりませんでした。
629625:02/07/10 01:17
>>メッセージループってプロセスの共通リソースで管理してるものじゃないの?

詳しくは知りませんが、メッセージキューは、ウィンドウを作るスレッドごとに
ウィンドウズによって作られます。ですから、ウィンドウを作って、メッセージ
ループをまわさないスレッドはそこで止まります。これを避けるために、
VCLのオブジェクトをつくるメソッドはメインスレッドで実行するように
TThread.Synchronize があるのですね。こうすると、メインスレッドの
Application.Run の中のメッセージループの圏内に入るのですね。
TWinControl の派生クラスをメインスレッド以外で作るときは、
Synchronize を使うか、Form1 に適当なメッセージ(WM_APP+55とか)
を投げて、そのハンドラに作らせればよいのかな。ウィンドウをつくらない
スレッドにはメッセージキューは割り当てられません。
>620に自己レス。

CPUウィンドウで確認したところ、最適化の状況(Aの割り当てられ方など)によってメモリを破壊する事が判明。
嘘情報書いてしまいました。

やはり、procedure StrToSet(TypeInfo: PTypeInfo; const Value: string; out Result): とするしか無いかも。
631625:02/07/10 01:41
>>Application.CreateFormとTForm2.Create(Application)の違いもわかりませんでした

これは TApplication.CreateForm のソースを読むと分かるが、
MainForm(デフォルトでは Form1) 以外のインスタンスを作るときには
ほぼ同じだと思います。
632624:02/07/10 13:08
>>629
メッセージキューがスレッドを区別してるわけですか。

既にメッセージキューを持っているスレッドなら、新しいウィンドウのイベントもそのキューを使うわけですね。
で、新しいメッセージのディスパッチルーティンを実行してくれるわけですか。
C++風に解釈すると、ディスパッチルーティンをチェーンできるように関数へのポインタが一つ空けてあって、それを使ってチェーンしていくのかな?

考えてみると、OSはキューにイベントを入れた後、コールバックでディスパッチルーティンを非同期で呼び出す必要があるわけですが、このときにスレッドを指名する必要がありますね。
もし指名できないなら、そのプロセスの全てのスレッドにタイムスライスを与えてみるとか…激しくリアルタイムで無くなりそうですけど。 まさかメッセージループを処理するようなイベントを送ればいいなんて言えないし(w

そういうと、MFCにもメッセージを処理するスレッドと処理しないスレッドがあったような気がします。
忘れていました。
633625:02/07/10 21:32
>メッセージキューがスレッドを区別してるわけですか。

まぁ、そうとも言えますが、OSがウィンドウにメッセージをポストするとき
そのウィンドウをつくったスレッドのキューに入れる、ってことですね。

>既にメッセージキューを持っているスレッドなら、新しいウィンドウのイベントもそのキューを使うわけですね。

そうです。動的に TForm2 のインスタンスをつくっても動くのはそのためです。

>で、新しいメッセージのディスパッチルーティンを実行してくれるわけですか。

いえ、ひとつのメッセージキューには、最低ひとつのメッセージループがあれば
よいのです。これは、Delphi の GUI アプリの場合は Application.Run の
中にあります。

>OSはキューにイベントを入れた後、コールバックでディスパッチルーティンを非同期で呼び出す必要があるわけですが

いや、キューにポストして、たんにそのスレッドにタイムスライスを与えてメッセージループ
を回すだけです。メッセージループが、キューからメッセージを取り出して、DispathMessage()
でコールバック関数(ウィンドウ関数)を呼び出します。ですから、GUI アプリの
メインルーチンは、メッセージループだけであり、キューを経由するメッセージはもちろん
SendMessage() で送られたメッセージもすべて、メッセージループのなかの PeekMessage()
または GetMessage() が実行されるタイミングで、メッセージ処理ハンドラが呼び出している
と解釈しても間違いではありません。ハンドラを直接・間接に呼び出しているわけですから、
各ハンドラの処理が終わると、また、メッセージループに制御が戻り、それがまわって
次のメッセージ処理を行なうわけです。
>>633
×メッセージ処理ハンドラが
○メッセージ処理ハンドラを

スマヌ
基本的に4行以上は読みません
636624:02/07/10 23:25
>>633
>まぁ、そうとも言えますが、OSがウィンドウにメッセージをポストするときそのウィンドウをつくったスレッドのキューに入れる、ってことですね。
あ、スレッドのスタックを使ってるんだ。 ふーん。

>いえ、ひとつのメッセージキューには、最低ひとつのメッセージループがあればよいのです。
メッセージループとディスパッチルーティンを混同しておりました。DispathMessage()とやれば、OSが適切なディスパッチルーティンへ振ってくれるんですねェ。

あと、メッセージループって回りっぱなしなんですね。メッセージなくなったら空回りしてるんでしょうか?
スレッドがサスペンドしてるのかと思ってたのですが。
>>メッセージループって回りっぱなしなんですね。

無駄に実行することがないように、GetMessage() では、キューにメッセージが
入るまではサスペンデッドになりますね。VCLでは OnIdle を呼ぶために、
PeekMessage() と WaiteMessage() でやはり無駄な実行を防いでいます。

ですから、あまり空回りはしてませんよ。
638624:02/07/11 00:01
>>637
なんだ、そうかなとはおもったんだけどね(w

で、スレッドのスタックを使っているって言うことは、
あるスレッドで作ったウィンドウへのディスパッチを別のスレッドのメッセージループから行うって言うのは無理なのかな。
これができれば、ウィンドウの乗っ取りができるようになるんだろうけどなぁ。
OSの管理してる構造体にアクセスする必要があるのかなぁ。
639624:02/07/11 00:01
>>637
レスありがとうございます。
640Delフサギコ ◆zE1iiRdQ :02/07/11 00:09
 ミ,,゚Д゚彡 新幹線で名護ひゃに足止めされた。。。
       やっと動きだした〜よ
     東京は雨やんでるかしら。到着はいつになるかしら
。。。
641デフォルトの名無しさん:02/07/11 00:15
同じ車両か?
>あるスレッドで作ったウィンドウへのディスパッチを別のスレッドのメッセージループから行うって言うのは無理なのかな。

GetMessage() も PeekMessage() も取り出す先のキューを指定するパラメータ
がありません。暗黙にそのコードが書かれているスレッドのキューを対象にしている
のですね。ですから、別スレッドのメッセージキューを直接覗く手段はありません。
フック関数をインストールするとGetMessege() 直後のメッセージを覗き見することは
できると思います。メッセージを加工することはできませんが。
pcodeきたじまがまたMLでどうでもいい発言してるんですが
どなたか退会コマンドを代って打って下さい。
>>643
こんな所で苦情言ってる場合か、
オマエにはオマエにしか出来ない事、
オマエのやるべき事があるだろ
まずそっちを片付けてから出直して来い
本人?
んなわけねーよな
647チェキナ名無しさん:02/07/11 18:11
>フサギコさんて 
ほの板にも いらっしゃいませんでした?
同じ人ですか?
遅レスだけど、>>620

もし、
>>620ホントにコード書いたのか?」
って疑ってるヤシが居るかもしれないってのが気になるなら、
PGPとかで暗号化してからコードをカキコ、
パスフレーズをあとから公開って手でちゃんと書いたって
証明できるよ。

とりあえず参考までに。


>>647
Delフサギコと単なるフサギコは別物だと思われ。
>>647
フサギコはクラスオブジェクトです。
>>649
インスタンスの一つがDelフサ?
継承図

AA

2chキャラ

ギコ――――――
↓          ↓
フサギコ     Delギコ
↓          ↓
Delフサギコ  ←

>>651
ギコ――――――
↓          ↓
フサギコ     Delギコ
↓          ↓
Delフサギコ  ←

なんかやな継承だな・・・。
Delphiをインターフェースとした方がスッキリしそう。
なんか変なスレになってきたねぇ…
TGikoHanyan=class(T2chAAChar)
 procedure Itteyosi;
 procedure Golaa;virtual;
end;

TGikoFussell=class(TGikoHanyan)
 procedure Fusafusa;
 procedure Golaa;override;
end;

TDelGikoFussell=class(GikoFussel)
 procedure DelphiOperation;
procedure DelphiNeta;
end;

  喝!

悪しきマ板の流れを止めよう。
---------------------------------------------
マ板がどーしたって?
>>648
ありがとうございます。
でも>>630にも書いたのですが、状況によって使えないのであれは無かったという方向で
658Delフサギコ ◆zE1iiRdQ :02/07/12 09:35
           _____________
  ∧,,∧    /
  ミ,,゚Д゚彡 < out使っても俺には実装できんがな
  ,;゙  ミ     \_____________
 ミ.  ミ
/゛゛゛゛ なんかAccessVaioが出るの.
>>654
TGikoFussell.Fusafusaはpropertyだと思われ。
しかし型が何かわからない罠
660Delフサギコ ◆zE1iiRdQ :02/07/12 17:10
            _____
   ∧,,∧    /
   ミ;゚Д゚,,ミ < なついあつですねー
   ミ つ つ  \_____
 @ミ   ミ
   (ノ'''''∪

           _____________
    ⌒    /
   /⌒ヽ <  そろそろ衣替えの季節
  ( ヾ''""ツ, \__________
 @| ミ    彡
   (ノミ ゝ ゞミ
    彡,,o,...oヾ 

            _____________
    ∧ ∧   /
   (*゚Д゚) <  すっきりんこ
   ( つ⊂)  \_______
  @|   ,.|,.,
    (ヾ''"_, _,."彡.  
    彡,,,,,o,...o,,..ヾ 
>>660
Delニダーが出てくると思ってたのに・・・。
>>652
Delphiでは多重継承はできません。
>>659

type
TFusafusa = (ffNone, ffShort, ffMiddle, ffLong, ffHuge);

property Fusafusa: TFusafusa read FFusafusa write FFusafusa;

かな?
  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 <=(*゚Д゚) < 俺DelギコだけどDelphiの起源は朝鮮なんだよ
 (    )  \__________
 || |    
 〈_フ_フ
もしかしたら「フサフサだぞ」という台詞のことかも。
666Delフサギコ ◆zE1iiRdQ :02/07/14 12:59
       エットー
     ∧,,∧   いまさらながら質問す..
    ミ,,゚Д゚彡  まだ文字列→集合型の変換で
     ミ つ⊂ミ   out指定しても、うまくキャストできませんです。
     ミ   ミ  
     ∪ ∪   教えてくださいませませ
         
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1025982772&res=5
667Delフサギコ ◆zE1iiRdQ :02/07/14 16:09
     ∧,,∧  まさか毛皮を脱いだから
    ミ   彡   答えてもらえないなんて、
    (o   ミ   そんなことないよね..................................
     ミ ν ミ  
     ∪ ∪  暑くなってストリーキングしたくなること
          誰だってあると思うんだ。

|
| ∩
|∀`) < ねえよ
| ⊂)
| /
|/
procedure StrToSet(TypeInfo: PTypeInfo; const Value: string; out Result);
 function NextWord(var P: PChar): string;
 var I: Integer;
 begin
  while P^ in [',', ' ', '[', ']'] do Inc(P);
  I := 0; while P[I] in ['A'..'Z', 'a'..'z', '0'..'9', '_'] do Inc(I);
  SetString(Result, P, I); Inc(P, I);
 end;
type TMaxSet = set of Byte;
var
 ElemTypeInfo: PTypeInfo; ElemTypeData: PTypeData; P: PChar;
 EnumName: string; I, ElemValue: Integer;
begin
 ElemTypeInfo := GetTypeData(TypeInfo)^.CompType^;
 ElemTypeData := GetTypeData(ElemTypeInfo);
 for I := ElemTypeData^.MinValue to ElemTypeData^.MaxValue do Exclude(TMaxSet(Result), I);
 P := PChar(Value);
 repeat
  EnumName := NextWord(P);
  if EnumName = '' then Break;
  ElemValue := GetEnumValue(ElemTypeInfo, EnumName);
  if ElemValue < 0 then
   raise EConvertError.CreateFmt(SInvalidPropertyElement, [EnumName]);
  Include(TMaxSet(Result), ElemValue);
 until False;
end;
で、>>617と併せて、最大である256要素までおっけーな変換関数ということで。
Excludeで必要なとこだけ消しているのが一応ポイントかなあ…

Delフサギコさんのは、いきなりset 0..63固定で空集合を代入しているので、
サイズが異なる変数を渡していると上手くいかないのだと思います。
…正直、Int64にこだわっている辺り、「人のいうこと聞いてねー」思いますた
ついでに、GetEnumName/GetEnumValueがChar/WideCharに対応していないことを発見しました。
tkChar/tkWCharの処理を書き足すだけなのに…
もうひとつ追記(汗

>>617のコードでは、最小値が8以降の集合で誤動作します。
MとByteValueを撤廃し、要素の判定を「if I in TMaxSet(Value) then 〜」に置き換えて下さい。
672Delフサギコ ◆zE1iiRdQ :02/07/14 16:51
>>668コードでこんなんしたら、

Enums01A := [0, 1, 7];
StrToSet(TypeInfo(TEnumNumber01), '[0,1,7]', Enums01B);
Check(True, Enums01A=Enums01B);


---------------------------
デバッガ例外が発生
---------------------------
プロジェクト Project1.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'Project1.exe' のアドレス 00453714 でアドレス 00000000 に対する読み込み違反がおきました。'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
---------------------------
OK ヘルプ(H)
---------------------------
           _____________
   ∧,,∧∩  /
  ミ,,゚Д゚ 彡< 先生!!こんなんでました...!
__ミ ミ  ミ   \___________________
\,,∪  ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||"
 ...|| ̄ ̄ ̄ ̄||

           _____________
   ∧,,∧∩  /Delフサギコさんは
  ミ,,゚Д゚ 彡< 「人の言うこと聞いてねー」よりむしろ
__ミ ミ  ミ   \「人の言うことよくわからな」
\,,∪  ̄ ̄ ̄\  になってる、思い素股。
||ヽ|| ̄ ̄ ̄ ̄||"
 ...|| ̄ ̄ ̄ ̄|| 悪気ないんだけど、理解できないの....(スマンコ
引数に渡すのは集合型の型情報です。
TEnumNumber01とやらがリンク先のものだとしたら、TEnumNumber"s"01の方を渡してみて下さいな
674Delフサギコ ◆zE1iiRdQ :02/07/14 17:52

♪  .∧,,∧ ♪    >>673のヒントでできました!
   ,ミ,,゚Д゚ミ.  ♪  
   ミ,,つ[|lllll]).    ありがとうです。
 〜 ミ,, ,,,..ミ
    ∪ ∪    集合型の基本形ってこんなして求めるんですね。


>617のコードでは、最小値が8以降の集合で誤動作します。
ってのは、わからないです。
基本形の最小値が8以下ってことでしょうか?
(調べてみまする
675Delフサギコ ◆zE1iiRdQ :02/07/14 18:52
>>617を以下のようにしてみました、  ミ゚Д゚,,彡

function SetToString(Info: PTypeInfo; const Value;
Brackets: Boolean = True): string;
type TMaxSet = set of Byte;
var
 ElemTypeInfo: PTypeInfo;
 ElemTypeData: PTypeData;
 I: Integer;
begin
 Result := '';

 ElemTypeInfo := GetTypeData(Info)^.CompType^;
 ElemTypeData := GetTypeData(ElemTypeInfo);

 for I := ElemTypeData.MinValue to ElemTypeData.MaxValue do
 begin
  if I in TMaxSet(Value) then
  begin
   if Result <> '' then
    Result := Result + ',';
   Result := Result + GetEnumName(ElemTypeInfo, I);
  end;
 end;
 if Brackets then
  Result := '[' + Result + ']';
end;

これで動作していますが
無理やり、集合型に範囲外の値を代入した場合
たとえば以下のように。
type
 TMyEnum = (mrOne, mrTwo, mrThree, mrFour);
 TMyEnums = set of TMyEnum;

  Include(MyEnums, TMyEnum(5));
  Check( '[]', SetToString(TypeInfo(TMyEnums), MyEnums) );

このとき、SetToStringの関数内部でEConvertErrorを発生させたいと
思っているのですが、どうやったら、できるですか?

SetToStringに入る直前でヲッチ窓でみると

MyEnums: [(範囲を超えています) 5]

こんな表示がされているので、変な値が入っていることは
確認できるのですが。
676Delフサギコ ◆zE1iiRdQ :02/07/15 10:26
  ミ,,゚Д゚ミつ
SetToStringに問題があるのではなくて
無理やり代入できるIncludeの仕様がおかしいと
気が付きますた。

Includeは
Set := Set + [これ,あれ]
より高速っていうのは、ある意味罠かもですのね。

ということで、
   ∧,,∧   ありがdございますた
  ,ミ。_。ミ 感謝感謝.
  ミ∪  ∪  
そう言えばDelphi6からEnum = (e0 = 0, e9 = 9);みたいな宣言が可能になった筈。
この中間の無名の値はGetEnumNameでどう処理されるのだろう…と試してみたのですが。

型情報を持っていないといわれて撃沈しました。
>>676 それは無理やり代入する方が悪いだろう。
 Includeは単に
  MyEnums or (1 shl ord(5))
 に置き換わるから高速なわけで

必要なら TMyEnum(5)で例外を出せば良いのでは?
679Delフサギコ ◆zE1iiRdQ :02/07/17 01:23
     ∧,,∧
    ミ   彡   それにしても話題ないなあ...
    (o   ミ 
     ミ ν ミ   AcidFloorも閑散としすぎてるっす....
     ∪ ∪
680TeamB/2ch ◆SE69s0c2 :02/07/17 02:53
Delphi-ML とかしか見ていないと閑散としていると思うかもしれませんが、
US の Newsgroups とかだと活発ですよ。

Public Beta がいくつも出ているし。
思うに今後は ServicePack のでる回数は減っていくのではないかと。
>>680

なんだか意味が分からんな。

>>US の Newsgroups とかだと活発ですよ。

以前より活発かよ?

ServicePack がなんの関係あるん?

ML が閑散としているのは事実。初心者が投稿できる雰囲気ではないから。

>>680
>US の Newsgroups とかだと活発ですよ。

これを読むとどんな厨房質問にもそれなりの回答がつくんだよね。
「過去ログみれ」という門前払いはないよ。
結局、初心者が初心者的質問をできないような ML は過去ログの
遺産だけを残して先細りになる。そうそう、目新しい質問があるわけでは
ないし。
683デフォルトの名無しさん:02/07/17 06:34
p-chan ?
684デフォルトの名無しさん:02/07/17 08:22
データの管理方法について悩んでいます

1) データ本体(実体)があり、
2) それを参照しているリストは複数個ある (List1, List2, List3, ...)
3) あるリスト List からデータを削除した場合に、他のリストの
該当データも削除又は無効にしたい

4) ところが、これを以下のように書くと、大変時間がかかってしまう

procedure Remove(Data:TData);
begin
 List1.Remove(Data);
 List2.Remove(Data);
 List3.Remove(Data);
 ....
 ListN.Remove(Data);
 Data.Free;
end;

↑のようにすると、データ数が多くなった場合に処理時間が
かかってしょうがないのです


最初は以下のようにやっていたのですが、うまく行きません

procedure Remove(Data:TData);
begin
 Data.Free;
 Data := nil;
 List1.Pack;
 List2.Pack;
 List3.Pack;
 ...
 ListN.Pack;
end;
>>684 TListはListと名前が付いていますが、リスト構造ではなく、アレイに近いというかアレイそのものなので
途中削除のコストは大きいのです。

削除のコストを減らすには
1、削除せずに nil を削除マークとして書く方式にする
2、TListを使わずに自前のリスト型コンテナを作る
686684:02/07/17 08:32
作っているのはツリー構造のリストで、ファイル構造にたとえて言うと

TDirectory
 Files: 自分が含むファイルのリスト
 Directories: 自分が含むディレクトリのリスト
 AllFiles: サブディレクトリも含め、自分以下に存在するすべてのファイルのリスト(これが問題)

ようなデータ構造です。で、自分が今作っているものは
ファイル構造でたとえれば
「複数のディレクトリが、まったく同一のファイルを持つ事もある」
ような構造なのです
>>682
NGとMLを混同しちゃだめ。
(それにしても日本のNGの放置プレイはいつまで続くのか・・・
OhNoさん、Next Engineerに記事かいてばかりいないでたまには顔だしてよ。)
混同、って?
入れ物が違うと中身も変わるの?

日本で NewsGroup がはやらないのは単に読み書きできる人が少ないからでしょ。
企業では禁止しているところもあるし。
689Delフサギコ ◆zE1iiRdQ :02/07/17 15:23
>>686
  ∧,,∧
  ミ,,゚Д゚ミ
  Itemに参照しているListのリストを
  もたせておいたりしたらどうでそ。

 List.RemoveItem(Item)をすると
 Item.Removeが呼ばれて
 そいつ自身は
 Item.Lists[i].Removeを呼び出してから
 Item.Freeしたりするような
 そんな感じに実装してみては?
690Delフサギコ ◆VzDeLphI :02/07/17 15:34
トリプを変えて見ますタ

∧,,∧
,, ゚Д゚彡
  つ
TeamBタンはUS系とかお詳しいみたいなので
教えてホスイのですが、
.NET対応の情報とか、D7情報とかは
どこかで、漏れ漏れで出てきませんでしょうか?

C#の勉強をすればするほど、"よくできてるなー"
という印象を受けますですして、
こんなのあったらDelphi売れるかぁ?
Borland大丈夫かなあ?
Javaだけの下位者になっちまうのかしら。
相変わらずマーケティング下手なのが、とうとう致命傷になるのかな。

と思っていると、夜もぐっすり寝むれないほどに
ぐっすりスイミングしてしまいます。

結構、な数のDelヒャイ使いは同じように考えている
カモシレナイので
我に情報開示をキボンヌしてます。

某のロードマップがより詳細に尻たいです。
長文スマソ
エディタでhtmlファイルのソースを開いて、
ボタンを押してプレビューとして、そのhtmlを表示したいのですが、
WebBrowserコンポーネントを使ってやるには、
どうすればいいんですか?
694 ◆tare/k3c :02/07/17 22:59
>>692
いろいろ方法はあると思いますが、とりえあず。

with WebBrowser1 do
begin
OleObject.Document.Write(Memo1.Text);
OleObject.Document.Body.Style.FontSize:=12;
OleObject.Document.Close;
end;
パネルのキャプション、editのtextっていらないと思う…。
696695:02/07/18 00:40
「最初から入ってる値は」が抜けた…(^^;。
>>695

いっぱい同じのがあるときの設計時の目印がわりだよ
698695:02/07/18 00:52
>>697
あ、なーるほど…。そっか…。
699TeamB/2ch ◆SE69s0c2 :02/07/18 02:33
>>690
>US系とかお詳しいみたい

NDA ってご存知ですよね?NDA を結んでいる。という事実も NDA の対象なので
この手の質問には答えられましぇん。
700名無しさん ◆BDDELPHI :02/07/18 06:12
hoge
Delフサギコ ◆zE1iiRdQ
Delフサギコ ◆VzDeLphI

この二人の同一性の証明は?
◆zE1iiRdQが証言すればよい。
703Delフサギコ ◆zE1iiRdQ :02/07/18 08:29
  ミ,,゚Д゚彡面倒だな....トリップ変えます
>>695
Form初期化時に子コンポーネント全検索して
Caption=Name or Text=Name, Lines.Count=1 and Lines[0]=Nameだったら
空文字列代入って処理を書けばよい。
>>704
そんなことするより、素直にコンポーネント継承したほうが早いような...
>>705 いや、手間を考えると 704に1票
ちょっとした機能拡張程度で安易にWinControl拡張するのは嫌だね。
いちいち登録しないといけないし、複数の機能追加しようとすると破綻するし。
誰かIDEの小枝まとめてくれよ。
>>703
トリッパーってソフトでトリップ探したら?
とりあえず、6文字していくらいだったらすぐに見つかるよ。
ごめん。すでにさがしていたのね。。
711デフォルトの名無しさん:02/07/18 17:48
ボーランドの新しい使用許諾契約
http://www.borland.co.jp/products/newlicense.html

これって何が変わったんだ?
diff使え
>>703
新トリップでのレスの中で、旧トリップのキー晒しちゃえば?
旧トリップ使えなくなるけど、同一性証明にはなる。
つーか、どーでもいい気がする<同一証明              
715Delフサギコ ◇zE1iiRdQ:02/07/19 00:33

  ,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡<  トップリ変えたぞゴルァ
 UU"""" U U    \_________
>>715
ぉぃ!!
今度Delphi+DB2(Win)の組み合わせで開発するですけど、
この場合DelはProバージョンでいいんですか?
ODBCはProにあるみたいだけど、直接アクセスする
dbExpressドライバはProにはないみたいですけど。
Proとエンプラの価格が違いすぎるんだよな。。。
718Delフサギコ ◆VzDeLphI :02/07/19 08:11
           _____________
   ∧,,∧    /
  ミ,,゚Д゚彡 < DB2の方がスゲ高なんじゃないんか.....
  (ミ  ミ)   \
 〜ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ アマリ シランケド

>699
チェッ ツマンナイ

というか、USのNGで話題になってることとか
皿してくださるだけでも楽しめるかと....
719717:02/07/19 11:15
>>718
3人でやる予定なんで、Pro×3はエンプラ×1より安い。。。
とりあえずDB周りをいじるヤツだけエンプラであとの2人は
Personalでいきます。
720TeamB/2ch ◆SE69s0c2 :02/07/19 11:46
お仕事、ですよね?
Personal を使うことを公言するのは何かと問題が。

ほんとの仕事であれば企業法人向けディスカウントや製品リースサービスを
考えるべきでしょう。
>Personalでいきます。
ぅおぃ
722717:02/07/19 12:28
まちがえました、Proです。
ちらりとボリュームディスカウントとかリースを調べてみたんですが、
数本でこういったサービス受けられるんでしょうか?
大企業が何十本と買うときのサービスのようですが。。。
某の営業部聞けば?
そういうための部署なんで別に恥ずかしくないよ。
724デフォルトの名無しさん:02/07/19 16:50
type TMyType = (mtFirst, mtSecond = mtFirst + 1);

って構文って気持ち悪いと思いませんか?
だって「mtFirst + 1」って、列挙型と整数型を足し算してるんすよ、本来だったら
文法エラーでしょ。

type TMyType = (mtFirst, mtSecond = Ord(mtFirst) + 1);

だったらまだガマンできるんだが。
多少ソースが長くなっても硬派な所を貫いて欲しかった… > 某国
>>717
ちゃんと心を入れ替えて
Enterprise版を3本買ってくださいね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  シゴトニPersonalナンテ ツカッタラ
 | 某|  アトデ タップリ シボリトルカラナ
 (__)_)
PersonalはDBコンポつかえねーだろ。
(CerateObjectで無理やり?)
727717:02/07/19 19:51
とりあえずエンプラ×1とPro×2で稟議とおりました。
早速会社に出入りしている業者に注文。
はやく届かないかなー。
728デフォルトの名無しさん:02/07/19 20:16
ちょっとききたいんですが
今、仕事で使用しているのですが、これを使って情報の部分を書く手間を省こうとしています
かちゅーしゃで、>>レス番号 と書くと、レスがポップアップしますが
これは、どんなコントロールを利用しているのですか?

使用環境はBT4.0+delphi6.0です
>>724
それ面倒くさい
>>724
せめてSucc……
731Delフサギコ ◆VzDeLphI :02/07/19 23:13
           _____________
   ∧,,∧    /
  ミ*゚Д゚彡 < 俺もつけてみた。
  (ミ  ミ)   \
 〜ミ 棒 ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪

Typeの床では言語処理は行われなさげ、
だから、
 Odd(..
ってのは言語処理系として面倒なんじゃないでしょうか?

よくわか、ですが、
mtFirstが定数として表されてて
mtSecond = mtFirst +1
mtSecond = 1 +1
mtSecond = 2
と認識されてるのでは?
732デフォルトの名無しさん:02/07/19 23:27
aviファイルを扱うにはどのような方法がありますか?
>>732
ファイルとして。
734デフォルトの名無しさん:02/07/19 23:33
>>733
ファイルとして扱いたいのは山々ですが
フォーマットを知らないのですが
>>734
調べろよ。
736デフォルトの名無しさん:02/07/19 23:38
みんなavifileを使えばいいというだけで
使い方わかんないし、フォーマットしらんし
それで困ってるんですけど
738デフォルトの名無しさん:02/07/19 23:44
いや、何言ってるんだか。
736=734だよ。
再生するだけならメディアプレーヤコンポで十分だが、
作成するとなるとAPIを調べる必要があったはず。
ここにいくがよい。
ttp://members.jcom.home.ne.jp/ganzo/
740デフォルトの名無しさん:02/07/20 06:58
定期age
>>732
aviと一口に言ってもいろいろあるんだよね。
だから、aviをどう扱いたいかいわないと答えようがない。
aviを環境依存で言いから再生するだけするのと、
自力で解析して書き込んだり読み込んだりとじゃ、コーデックの問題もあるし労力がまるで違う。
>>724
厳密には
type TMyType = (
 mtFirst,
 mtSecond = TMyType(Ord(mtFirst) + 1)
);

では?キモくない?
743デフォルトの名無しさん:02/07/20 10:45
age
>>742
それだと結局、列挙型と整数型の加算をしているような気が。
mtSecond = Ord(mtFirst) + 1
とすれば、少なくとも右辺は整数型同士の加算だから無理が無い、と言いたいんでわ?
745デフォルトの名無しさん:02/07/20 16:01
自分は学生なんですが、夏休みを利用してDelphiをやってみたいななんて思っています。
他の人などからはVBやCをやったらと言われているんですが、本当にそうなんでしょうか?

それと、できれば初心者にも最適なDelphiの本を教えてください。
よろしくお願いします。
>>745
CはともかくVBはやめとけ。
言語仕様変すぎ+すでに発売中止。
VB.NETなら勧めるがその場合、C#覚えた方が得だろうしなぁ・・・。
747デフォルトの名無しさん:02/07/20 16:10
Delphiに未来はあるのでしょうか?
>>747
あるとは言わない。
でも、そこで得たエッセンスは他の言語でも役に立つと思う。
DelphiとVBってたいして変わらないでしょ?
BasicとPascalの違いだけでしょ?
VB.netにはDelphiは太刀打ちできてないよ。
C#とは勝負にすらならない。




何か?
>>749
>DelphiとVBってたいして変わらないでしょ?BasicとPascalの違いだけでしょ?

さようなら。
>>749
BasicとPascalなら勝負は見えてるが・・・。

このスレでBasicはPascalより優れてる!とか叫ぶ奴はいないと思われ。
って言うかBasicで思い出したけど最近HSPスレ見ないね。
>>749
Delphi使ってもVBと同じことしかできないのって、ちょっと悲しいかも、と言ってみるテスト。
C>∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞>BASIC>∞>ObjectPascal








何か?
754752:02/07/20 16:23
いかん。トリプった。
>>752
そう?簡単にコンポーネント作れたり他の言語から呼び出せるDLL書けたり。
楽しいけどね。
756752:02/07/20 16:33
>>755
VBと同じこと「をやる」のは自由だけど、同じこと「しかできない」のはちょっと、ね。
>>756
ああ、なるなる。同志かw
Delphiって趣味でプログラミングする人が使うんだよ。
VBは大手の馬鹿が使うんだよ。
普通の人はVCを使うんだよ。
>>758
何となく同意。
夏やね・・・
日曜プログラマーにはDelphiほど相性のいい開発環境はないんじゃないかと。

N88-BASIC はファイル処理で挫折。
C はポインタで挫折 ←なんであんなに難しく書いてあるんだろう・・・
Delphi 萌え
ポインタはCよりDelのほうが難解じゃないか?
>>762
って言うか妙に柔軟性無いのよね。Pascalの。
            ☆ チン
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < VCLで正規表現サポートまだ〜?
             \_/⊂ ⊂_ )   \___________
       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /|
     | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  | BCBのpcre/regexp ツカワナイデヤリタイノ
     | Borland            |  |
     |      JBuilder7SE 返品|/
      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Cのキャストの
(型名)変数名
よりも、Pascalの
型名(変数名)
の方が255倍わかりやすいと思うのは漏れだけですか?
最近はDelphiよりC#をやってるけどこれはかなりいいね。
でも考えてみれば俺がC#でやってることってVB.NETでも同じくできるんだよな。
そう考えてみるとDelphiがVB.NETに追いやられてるというのも嘘ではないかも。
独り言?
>>765
Cでできないんだっけか。C++ならどちらでも出来たと思うけど。
まあ、どちらがどうとは思わない。
>>766
C#のいいところはJavaライクな簡潔さと.NETのクラスライブラリの豊富さ+α
VB.NETはVB6と違って、C#にVBの皮をかぶせたようなものだから、
機能的にはVC#と大抵同じことができる(細かくは違うよ)が、
BASICな字面のダサさはどうにもならんな。
個人的な予想では、
VB.NET→VB6をなんとか使ってたところが必死こいて使う。出来上がったものの品質もVB並
C#→そこそこスキルがあれば、.NET中最適な言語として選択。

いままでVBしか使わなかったようなところは、初めからDelphiなんか
眼中にない(選択する能力がないor選択する権限がない)から、
DelphiがVB.NETのせいでどうこう、ということはないだろう。
一度Delphiを知ってしまったらC#はともかくVB.NETをやる気にはならないと思う。
C#を知ったらVB(.NET)なんてやる気にならないでしょ?それと同じ

Delphiは.NETの登場で「豊富なクラスライブラリ」という売りがなくなった。
BorlandがDelphi.NET/7でどんな手を使ってくるのか楽しみ。
単に「.NETアプリ作れます」じゃC#と変わらんしな。
今のところ、.NETランタイムが要らないぐらいしかC#に対するアドバンテージはない。
これだけじゃそんなに長くはもたないだろう。
それよりC#/.NET風な環境を5年以上も前から提供してきたのは驚くべきこと。
>>769
文字列型に数値を代入できるとか、そういうVB.NETの便利さを知ったらC#なんか使う気にもならないよ。
お前ほんとにそう思ってるか?
772745:02/07/20 21:49
>>746
レスありがとうございます。WinMeなのでVisual Basic.netはインストールできないんです。
Visual C#も同じですね・・・
となるとDelphiあたりがいいんですかね?
>>770
便利さって・・・それって従来のVBでも出来てた
バグの温床になりやすい仕様じゃん。(; ´Д`)
>>773
ソースはタイプセーフじゃなくても出力されるILはタイプセーフなんだ。
そこがC#よりも進化してるところなんだよ。インテリジェントとでもいうか。
>>772
グダグダ言ってないでPersonalインストールしる!
77658:02/07/20 23:10
>>774
お前、マイクロソフトの「インテリジェント」とやらを信じてるの ?
おめでてえな。
Delphiってタイプセーフなコードしか書けないんだろ?
ダメじゃん。(藁
>>774
多分煽りだろうがILがタイプセーフかどうかという問題ではない。よく考えてみろ
>>777
Delphi(てかPascal)の型チェックが鬱陶しいと思うのは最初だけ。
慣れれば余計な心配がいらない分、気楽。
>>779
たまに死にたくなるけどねwSocket使うときとか。
爆速コンパイルはC#にゃ真似できまい。
つっても、逆にそれくらいしかメリットないような。便利は便利だが。
速けりゃいいってもんじゃないよ
速さこそ正義!!
というか、コンパイルが速いということはそれだけ何もしてないということ。
.NETの場合はメタデータやILの検証が必要だからね。
俺は気が短いから作るときも作ったコードも早くないと駄目だ!!
料理も中華やイタリアンが好きなんだよ!!
786マジレス:02/07/21 01:38
中華やイタリアンは作るの時間かかるよ。後片付けも。
>>784
厨房発見!
Pascalつー言語はコンパイルが早くなるように計画的につくられてるの。
>>760

禿堂です。(w
>>787
まーでもVC++よりは最適化は弱いな。
>>789
>>787の反論としては疑問だが内容自体は同意。
まぁ、それは言語の問題じゃないわさ。
pascalそのものはそういう意図はなかったんだろうと思う
たんにTurboPascalを書いた人の腕が良かったのだろう。

その技術を継承可能な範囲で、ObjectPascalを発展させたのだろう
そしてその発展させた人がMSに移ったわけだ。
>>791
>pascalそのものはそういう意図はなかったんだろうと思う
pascalそのものにそういう意図(高速コンパイル)があるんです。
>>793
pascal呼び出し規約は関数側でpush popを行うので・・・な話?
ソース出せばすむ話なんだが。
呼び出し規約っていうかスタックフレームの解放の方法の事?
それは pascalには既定されてないと思う
単に 実装がそうであったというだけでは? 現実に Delphiでは
Cスタイルも可能だし、それを使ってもコンパイルが遅くなるわけではない。
ttp://www2.odn.ne.jp/~aar72690/
>この新しい言語 Pascal の特徴は、順序立ったプログラミングを要求し、
 データ型をプログラミング制御の基盤としていること、
 それに、事前に宣言が必要であり、構造化プログラミング技法を要求している、
 ということだ。 またこの言語は、プログラミングを教授するクラスで、教材として使うためにも設計されていた。
>>796
798745:02/07/21 15:19
ここの話を聞いているとDeiphiをやっていいものなのかを迷ってしまいます。
Delphiじゃなくて別の言語を覚えた方がいいんでしょうかね・・・
>>798
VB.NETがいいと思うよ。ユーザー数が一番多いので気軽に質問・相談もできる。
Delphiだと質問しても「過去ログ読め」とか「そんなことも知らないのか?さてはお前ブビ厨だろ。(ゲラ」とか罵倒されるからなあ。
>>800
そもそも発売されてない。
>>798
言語は違えどノウハウは役に立つと思うがね。
>>802
それを言ったらDelphiに限ったことじゃないよ
>>798 覚えるという発想だとVBの方がホントにいいと思うよ

 ただし、覚えて作る事が可能な範囲は.狭いし、それに誰でも出来るわけで
 面白くないと思うんだが・・・・まあ人それぞれだから

>>804
しかも言語仕様ぐちゃぐちゃ。
ね。Del厨ってこんな閉鎖的な感じでしょ?
807745:02/07/21 16:01
レスありがとうございます。
VB.NETならいいがVB6はよくないということを上の方で言われたんです。
うちのOSはWinMEなので.NET入れられないんです。
そう考えるとやっぱりDelphiがいいんですかね?
>>807
まぁ、ただなんだから試しに使って判断してみれば?と。
アンインストールもちゃんとできますw
>>807
プログラミング以前にまずMeから卒業しようよ。2000かXPに。
>>807
プログラミングの勉強をしたいなら、Delphiはお勧め。
ただで手に入るし。

VBからCに行くのはハードルが高いが、Delphi→VBは応用が効くし、
Cの知識もある程度身につく。

参考書も種類が少ないから迷わずにすむ。 (w
>>810
>Delphi→VBは応用が効くし、

これに何の意味があるというのだ。

第一比較対象変じゃないか?

VBからCに
Delphi→VB
812745:02/07/21 17:09
>>810,811
DelphiとVBって似ているんですか?

個人的にもDelphiかVisual Basicがいいかななんて思っていますが・・・
Delphiを覚えると後にどんな言語に応用が利くんでしょうか?
>>812
C C++ Java Perl C# PHP JavaScript etcetc...


>>813
それはどういった理由から? 命令は同じじゃないでしょ。
815745:02/07/21 17:12
>>813
そんなに応用幅が広いんですか!?すごいですね〜
質問ばっかりで悪いんですが、Visual Basicを覚えると後にどんな言語に応用が利くんでしょうか?
816745:02/07/21 17:13
>>814
>>814


ポカ━━━━━(゜д゜)━━━━━━ン
>>814
それを言ったらVBなんかもっと狭いぞw

ObjectPascalは結構高級なオブジェクト指向言語です。
クラスの継承やオーバーライド、オーバーロード(これは違うな)も思いのままです。
よって、その考え方は他のクラス型オブジェクト指向言語に応用(と、言うか適用)できます。

後、Cだけど。個人的にはCとPascalは一部のキーワードが変わっただけでプログラミングスタイル
自体はかなり似ています。まぁ、どちらも同じ親から生まれたので当たり前と言えば当たり前かと。
>>815
VB for Applications
VBScript

以上。
820745:02/07/21 17:17
ということは、最初に覚えるなら
Delphi>Visual Basic
の方が後にも有効って事ですね?
>>820
DelphiとVBは全然違うので応用できません。
>>820
まぁ、厨とか言われるから押しつけないけどさ。
個人的には断然そうかと。

今ではなんやかんやで6〜7言語ほど使えるようになりましたわ。
>>820
って言うかなんでそこまでしてVBをやりたいのか・・・・。
VBの方が良く使われているから
825745:02/07/21 17:22
>>821
そうなんですか?
よくDelphiとVB比較している人いるんですが、比較できないんですね。

>>822
6〜7のプログラミング言語を使えるんですか!?すごい・・・

>>823
最初に覚えるんなら簡単なものがいいかなと思ったからです。
求人はVBの方が多いな。
>>824
大丈夫。すでに発売中止だ。
>>825
簡単ですが応用は利きません。
829745:02/07/21 17:23
>>824
それもありますね。VBは雑誌も出てましたよね?
>>827
ウソはいかん。

>>829
VBにするならVB.NETにしておけ。
>>818ので言っていることはVB.NETにも当てはまる。
831745:02/07/21 17:29
>>830
以前もいったんですが、うちのOSはWinMEなので入れられないのです・・・
買うならVB6です。。。
あんまり前のレス読んでないけどC/C++は選択肢にないの?
833810:02/07/21 17:33
DelphiとVBは開発スタイルが似ている。
DelphiとCは言語仕様が似ている。
以上、あくまで「その他の言語と比べて」の話ね。

あと、最初にVBを覚えると変なスタイルが身につく(ことがある)のでお勧めしません。
VBはDelphiをやってからでも遅くない。
>>830
6月いっぱいで旧VBは死んだんじゃ?

>>833
>VBはDelphiをやってからでも遅くない。
耐えられないだろうなぁ・・・。
>耐えられないだろうなぁ・・・。
必要悪を受け入れる柔軟さが身につくよね(w
>>833
変なスタイルって具体的にどんなこと? Delphiなら大丈夫なの?
837745:02/07/21 17:44
>>832
C/C++は難しそうですし、最初はDeiphiやVBがいいというのを聞いたような・・・

>>833
やっぱりDelphiですかね。VBは選択肢から外そうとと思います。

ちなみにDelphiで初心者でもわかりやすい本ってありませんかね?
>>836
簡単に言うと隠匿されてるところが多い。
どっから出てきたこのコントロールとか。
後、hwnd取得するにも一苦労だったり。
839745:02/07/21 17:47
いやあ、アホがいっぱい釣れるなあ。(w
>>839
大変ですな。がんばれ
>>838
具体的じゃないなぁ。濡れ衣の可能性も・・・。
>>841
まぁ。昔Del3にするかVB5にするかで悩んだときの判断材料だけどね。
VB使いの人俺の誤解を解いてくださいな。
Delphi Personalはやめた方がいいです。
商用アプリ開発に使えません。
商用のものなんか作らないよと油断してはいけません。
ライセンス条項の穴を突いてBorlandが警告のメールを出してきます。
警告を受けた場合、ペナルティとしてEnterprose版を強制購入させられます。
>>843
今からプログラミングを勉強しようって奴が商用アプリ云々が関係あるとでも?
作りたくなったらProでも買えばいい。

煽りにしても機械的すぎる。後、個人ユーザか企業ユーザか判断してから煽ってくださいな。
845745◇Pouk254:02/07/21 17:56
>>839
あなた誰ですか?
勝手に745を語らないでください。
Delphiやります!
846745 ◆VGCcTeys :02/07/21 17:57
いろいろ考えた結果、VB6にすることにしますた。
>>846
まぁ、自分で判断したんだからいいか。
がんばれよ。
848745◇Pouk254:02/07/21 18:00
>>846
まぁどうぞご自由に・・・

とりあえず、この休みはDelphiをやりたいと思います。
みなさんお騒がせしました。ありがとうございました。
またこのスレに来るかも知れませんが、よろしくお願いします。
849745◇Pouk254:02/07/21 18:01
>>847
その人は私じゃないです・・・
STLのvectorの代用になる、マクロベースのテクニックってあったよね。
記事へのリンクをロストしたんで誰か知ってたらきぼんぬ。
>>849
わかってるよ。わざわざ突っ込むなよ。
>>832
C/C++が難しいから別のから
って結局遠回りな気がするんだよな…。
変に先入観持たずにやれば、なんてことないと思うんだけど。

って友達にも同じ事言ったけど結局そいつはVB買っちゃった(w
×>>832
>>837
854745◇Pouk254:02/07/21 18:05
>>852
C/C++が難しいと思うのは先入観なんでしょうかね?
変な質問ですが、なぜみなさんはDephiをやろうと思ったんですか?
トリップもどき付けてるのが本物?
856745◇Pouk254:02/07/21 18:08
>>855
私が本物なんです。
トリップってどうやってつけるんですか?
745#適当な文字列
>>854
1)BCBが重かった。
2)BCBよりもDelphiの方が商品として寿命が長そうだった。
3)BCBでのVCLサポートはいつもDelphiに遅れていた。

つーわけでBCBへの不満の裏返し。
言語としての寿命や特徴は考慮しなかったんだね・・・
860745 ◆VGCcTeys :02/07/21 18:15
>>854
マジレスするとね、今Delphi始めても次の次のバージョンですべて知識が無駄になるよ。
VB.NETやった方がいいって。WinMeだっていうなら、Delphiよりもまず新しいOS買いなよ。
>>860
VB.NET勧めるくらいならC#を勧めるべきかと。
862858:02/07/21 18:18
>>859
BCBのC++は変則バージョンだからな。
C++の寿命とBCBの寿命は全く一致しない。
言語の特徴はまあ仕方ないのないことだから。
客先に入れるのにはDelphiの方が相対的に安心できる。
>>862
> BCBのC++は変則バージョンだからな。

変則的に使うこともできる。じゃないの?
C++からPascalのライブラリが呼べる時点で変と言えば変。
865858:02/07/21 18:24
>>863
VCLを使わないんならそれは正しいが、それじゃBCBを使う意味がない。
VCLのプロパティ、イベントなどがその変則部分で実装されてる。
VCL周りじゃ多重継承もできないし仮想コンストラクタなんてのもある。
866745◇Pouk254:02/07/21 18:24
>>860
OSを買うお金がないです・・・ 高いですからね・・・
でもなんで次々バージョンで無駄になるんですか?
>>863
すくなくともVCLを使うと変則的に使うしかなくなる。
868745 ◆VGCcTeys :02/07/21 18:26
>>866
Delphiのクラスライブラリが廃止されてMSのクラスライブラリに統一されるから。
>>866
VBがVB.Netで互換がなくなったようにDelphiも7の次は.Netに移行します。
でも、元々まともなオブジェクト指向だったので言語的な変更は少ないであろう。
問題はライブラリ。まぁ、どうせライブラリなんて2,3知ってないと使い物に鳴らんし。
>>868
こらこら (w
>>870
Delphi.NETのクラスライブラリって互換性維持のためのVCLぐらいでしょ。
>>843
お前、ライセンス読んでないだろ。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )
 | 某|
 (__)_)
873デフォルトの名無しさん:02/07/21 19:12
  ∧ ∧     ┌─────────
  ( ´ー`)   < シラネーヨ
   \ <     └───/|────
    \.\______//
      \       /
       ∪∪ ̄∪∪
874Delフサギコ ◆VzDeLphI :02/07/21 19:20
 /      ‖   /
       ∧,,∧  <  みんな、たのしそうだな。
二二二二ミ,,゚Д゚彡  \     
       ミつ/\ヘ      
 ̄ _∬__ ̄ /  //  ̄\   
  &____ノ   \//     \  
                 \ 
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| 
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< Delフサギコはこのスレを裏切ったモナー
  (    )  \_____
  | | |
  (__)_)
>>872
突っ込むとこは、そこじゃなくて "Enterprose版" じゃねーのか。
877Delフサギコ ◆VzDeLphI :02/07/21 19:38
         _____________
  ∧ ∧  />>850
 ミ,,゚Д゚ミ<  真黒ベースって何?
 @_ミ   \________
これか?
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1020833969
>>876
突っ込むも何もご購入いただくのは
Enterprise版じゃなくてProfessional版だからな。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  モチロン Enterpriseカッテクレレバ
 | 某|  ナオヨシダケドナ
 (__)_)
879デフォルトの名無しさん:02/07/21 19:57
コンポーネントをインストールしたのですが、コンポーネントタブに追加(表示)されていません。
コンパイルのときはエラーなどはでませんでした。
パレットの設定を見てもインストールされていません。どうすればいいのですか?
>>879
当社のBronzeSupportのご利用を
お勧めいたします。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  1インシデント30000エンナ
 | 某|
 (__)_)
某ってM$より汚い会社だね
>>879
procedure Register;
begin
 RegisterComponents('ここ', [あれ]);
end;
 の部分がソースにある?
883デフォルトの名無しさん:02/07/22 07:59
C,C++,JAVA>>>>>>>>>>Delphi
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  
 | 某|
 (__)_)
ネタはマ板でやってくれ、たのむから。
相談室として機能してないじゃん
そんなもんさ。
>>884
ここは相談室じゃないよ。タイトルよく見て。
887デフォルトの名無しさん:02/07/22 11:52
>>882

procedure register;
begin
RegisterComponents('samples',[TFileRes]);
end;

というのがあります。
じゃあ、サンプルページにあるんじゃないの?エラーが無ければ。
889デフォルトの名無しさん:02/07/22 12:17
サンプルのところにも見当たりません。
あと、書き忘れていたのですが、Delphi6を使っているので
uses 節 の "DsgnIntf" を "DesignIntf,DesignEditors" に変更しました。
>>887
 試してみたよ。 確かに D6でパレットに出なかったね
でも

1,TFileRes -> TFileDFM と名前を変えた
2,//uses DsgnIntf ,DesignEditors; とコメントアウト
3,RegisterComponents('Samples', [TFileDFM]);
 と Samplesにした。 また、 余分な空白を消した

と書き換えていったらいつの間にか登録出来た。
元に戻しても登録出来てる様子・・・・変だね。
891デフォルトの名無しさん:02/07/22 13:45
>>890
試してみたけどダメでした。。。
もう諦めます。ご迷惑おかけしました。
892890:02/07/22 14:10
判った!
× procedure register;
○ procedure Register;

なぜか、Register手続きだけは先頭大文字にしないとだめみたいだ!
893デフォルトの名無しさん:02/07/22 14:16
>>892
おお!できました!!
ありがとうございます。マジ感激です。
CLXの影響か?
もしかして、次くらいのバージョンでは 識別子に
 大文字 小文字区別されるのかなあ・・・・・ .NET対応だとついでに識別子に日本語が使えたりして
896動物園:02/07/22 17:03
>>892
Register の R を大文字にしなくてはいけないのは C++Builder との整合性を取るためです。
Delphi 4 からこうなりました。

# 早く言えって? ゴメン、ついさっきこのスレッド見たので。
897デフォルトの名無しさん:02/07/22 17:39
Delphiにはファイルの作成日時を取得する関数ってないんですか?
FileAgeで取得されるのは更新日時のようなんです・・・
たった今気付いた衝撃の真実。
Del6ProってリモートデバッグねーYO!
FindFirstFile
>>898
使わない機能イランだろ。
たった今まで気づかないくらいの機能だろ。
>>900
Delphiで分散アプリ作るヤシはいないと?
902デフォルトの名無しさん:02/07/22 21:41
Delphiマンセー
>>898
Delphi6 Enterpriseのご購入を
お待ちしています。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  イマスグhttp://store.borland.co.jpヘ
 | 某|  エンプラハ リモードデバッグ デキルゾ
 (__)_)
>>903
商売上手だな(w
905フサギコ:02/07/22 22:08
新スレ立てました。移動よろしく。

ミ,,゚Д゚彡フサギコのフサフサDelphi談話室C
http://pc3.2ch.net/test/read.cgi/tech/1027343132/l50
906デフォルトの名無しさん:02/07/25 14:37
只今1000取り放題!
ここ1000まで行くだろか。
9081000取り合戦実施中:02/07/25 17:51

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 残りあとわずかのフサDelスレ!頑張って1000取るぞ!
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )  

おまえらヤメレ。
909
そーだそーだ。910
そろそろ出番かい?
>>911 キミ 激笑とかの人? ならあと50くらいいきそうな煽りネタ巻いてみて
Delphiってなんでクラスの宣言部と実装部を分けなければならないのでしょうか?
ただの二度手間です。何のメリットもありません。
ちなみにVB.NETではコードを折りたたむことができます。
クラスの宣言部だけを表示することも簡単にできます。

優秀なIDEとはこういうものを指すと思います。
DelphiのIDEでは物足りなさを感じます。
Delphiのインターフェイスって中途半端ですね。
何とも奇妙な仕様です。
どうしてVBのインターフェイスみたいにまともなものにできなかったのでしょうか。
CLXはクロスプラットフォームだとは言いますが、
それは単にQtの功績であってCLXには何の手柄もないと思うのがどうでしょう?
>>913-915
(・∀・)イイ!
さあ、Del厨の反論を待とう。
単なる煽りじゃなくてそこそこいいところを突いてると思う。
>913
VB6/VB.NET/C#ってなんで全ての宣言の前にpublic/privateを書かないといけないのでしょうか。
自動補完対象とはいえ繁雑です。読む時桁が揃わなくて邪魔なだけです。
C++やObjectPascalはスマートですね。

>914
ウェーン、ママァ、一行と思って消したら実は数千行のロジックだったんだって〜
先輩に殴られたぁ〜イタイヨー

( Delphi.NETのIDEは全書き直しで、VS.NETみたいにマルチ言語対応らしいので少しだけ期待 )

>915
VBの文字列って、Unicodeのくせに自動でSJISに変換されてしまったり、それを回避するのが手間だったり
行き当りばったりな仕様ですね。
どうしてDelphiの文字列みたいに素直にAnsi/Wideに分けなかったのでしょうか。

( DelphiのインターフェースはCOMの仕様をまんまさらけ出してるだけだからなあ… )

>916
QtはFreeBSDやMac版もあるのでそのうちCLXもそれらで動いてくれることでしょう、
と、開き直ってみるテスト

…こんなとこ?(難しい…
反論も何も単に開発環境・言語仕様が古びてるだけだろ。
まあDelphi7を待ちたまえ。それで駄目ならもうおしまいだな。
>>919
>VB6/VB.NET/C#ってなんで全ての宣言の前にpublic/privateを書かないといけないのでしょうか。
>自動補完対象とはいえ繁雑です。読む時桁が揃わなくて邪魔なだけです。
スコープごとにまとめて記述するほうがむしろ不自然。

private FCount: Integer;
private procedure SetCount(Value: Integer);
begin
 FCount := Value;
end;
public property Count: Integer read FCount write SetCount;
のように関連するコードを一箇所に記述できた方が
格段に可読性・保守性が向上する。

唯一の欠点はそのクラスのインターフェースが掴みにくい事だけど
それはクラスブラウザとJavaDocライクなドキュメンテーションツールで
十分にカバーできる。

つかスレ違い。
>>919
>読む時桁が揃わなくて邪魔なだけです。

Tabキーを入れてみては?
>>919
>ウェーン、ママァ、一行と思って消したら実は数千行のロジックだったんだって〜

メ○ラでもない限り見間違うことはないでしょう。
>>919
>VBの文字列って、Unicodeのくせに自動でSJISに変換されてしまったり、それを回避するのが手間だったり
>行き当りばったりな仕様ですね。

それはVB6の仕様。VB.NETはそんなことは起きない。
925イカ:02/07/25 22:36
所詮Pascalは教育用言語です、素直にC/C++を使いましょう。
926デフォルトの名無しさん:02/07/25 22:43
自作ブラウザにて書き込みテスト
C/C++やってたけどなぜかDelphi使ってます。楽だし。
DelphiやってたけどなぜかC#使ってます。楽だし。
DelphiやってたけどなぜかVB.NET使ってます。楽だし。
>>929
敗北者。
931927:02/07/25 22:48
ん〜なぜかC#には食指が動かんなあ、なんかJavaと同じイメージ
があるんだよねー。
>>931
間違ってないかと。
それがVB.NETに行く理由なら笑えるが。
某がC#のオープン版開発環境出してくれたら使ってもいいかな?
934927:02/07/25 22:54
VB.NETはVBに悪いイメージしかないので使いたくないなあ。
正直名前変えてほしかったよ。
935927:02/07/25 22:56
VB.NET使っていて川俣のデブにでかい面されるのも癪だしね。
行くんだったらC#行くよ。
MS製品はバージョン3からだなぁ
いや、正確にはVer3のSP1以降。
938919:02/07/25 23:02
上手にネタを返すのって難しいなあと実感。
先生!
C++Builderの文字列はChar[]とstringとAnsiStringとWideStringと豪華4種類もあって大変です!
ん?DelphiにもあとShortStringとarray[] of charがあるけど?
でもCOM使うときWideString使うぐらいで通常Stringだけで
いいんじゃない?
>>939
wstringは?wchar_tは?とか言ってみるテスト
>>941
TCHARがないぞw
>>939
ShortStringもあるみたいだぞ
・゚・(ノД`)・゚・。 >>939を責めないで・・・
        Charとか書いてるけど責めないで・・・
Linuxは漢字コードだけでもSJIS,EUC,UNICODEとあるけど
KylixはAnsiStringとWideStringだけでいいんだっけ?
946デフォルトの名無しさん:02/07/25 23:25
ガンガレオマエラ アトスコシデ1000ダゾ
>>945
つーか、D7でUNICODE対応してくれるんだろうか、そろそろ限界ぽい
KylixではAnsiString = EUCじゃ無かったかな?
実はUTF8Stringなんてのも定義されていたり
949デフォルトの名無しさん:02/07/25 23:29
>>947
それはVCLの話でしょ?
CLXで対応してるから既に対応済みで許してくれない?
Kylix3からObject Pascalという呼び方を捨てて
Delphi Languageと呼ぶらしいけどあんまり緩い言語使用に
して欲しくないなあ・・
>>947
デフォでUNICODEはかんべんな。せめて環境オプションで選べる
ようにして欲しい。
(もしかして950ゲット?)
×言語使用
○言語仕様
IME2000のヴァカ。
>>950
Delphi Lang. より Object Pascalの方がまだマシな気がするなぁ、
なんか、独自仕様爆走っぽくて嫌だなぁ・・・。

しかし なぜUNICODEかんべんなの?
EditとかUNICODE使えないでしょ、だからプロパティで設定できる
ようにすりゃいいだけだと思うけど。
Turbo Pascalは確かに Pascalだったけど、Delphiになってからは製品名からもPascalの
文字が消えてた死ね。
954953:02/07/25 23:41
ごめん、死ななくていいです。(藁
955デフォルトの名無しさん:02/07/25 23:43
       v
      (゚ω゚) <そろそろ出番の臭いがしてきた!
     /(  )\
      /'\
Delphi IN A NUTSHELLではDelphi Pascalと呼ばれてましたね。
Delphi Languageは僕も嫌だ。
オリジナルのObject Pascal(Macの?)からかけ離れてきているのはわかるが、
まだPascal互換ではあるのだから、Delphi Pascalでいいと思う。
957950:02/07/25 23:45
>>952
いや、単にVBで嫌な目に遭ってるだけだからなんだが・・・
なんか丁度そのてのスレが上がってきてるな〜
http://pc3.2ch.net/test/read.cgi/tech/1008913670/l50

>Delphi Lang. より Object Pascalの方がまだマシな気がするなぁ、
>なんか、独自仕様爆走っぽくて嫌だなぁ・・・。
激同。教育用のイメージが嫌だったのか、それとも
GCを初めとする言語拡張をこれからやるって宣言なのか・・・
>>957
> 単にVBで嫌な目に遭ってるだけだからなんだが・・・

その意味じゃ、後出しなんだからDelphiは上手くやってくれると期待したい。
取りあえず今のままじゃDB関連で苦しすぎる、DBに強いって云いつつも
表示や入力できない文字があっちゃマズイっしょ。
959デフォルトの名無しさん:02/07/26 00:04
ML見てたら誰か書いてたけど、結局Kylix3はgcc対応じゃないの?
つーか、Kylix3 for Delphiとか Kylix3 for CB になるわけ?統合されて1本になる
んじゃなかったの?
960950:02/07/26 00:14
ここでも語られてるけど・・・
http://slashdot.jp/article.pl?sid=02/07/24/1447237

>gcc対応じゃないの?
某独自のコンパイラみたい。フィーチャーマトリクス見る限り
gcc用makefileのエクスポートが出来るとか出来ないとか?
>統合されて1本になるんじゃなかったの?
1本です。
>>960
Windows版も将来1本になるんだろうか・・・。
激しく期待してしまう。
製品を1本化 → 半年に一度バージョンアップ → (゚д゚)ウマー
>>962
そ、そんなことはありませんよ‥‥
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧
 (; ・∀・)
 (    )  チッ‥‥
 | 某|  
 (__)_)
Windows版は単体でもまだ十分闘えると思う。
だが最上位エディションは有り得るな。
うむ・・・
しかし、KylixとDelphiやBCBに加えて.NETが別製品だったらひいちゃいますけど。
いっそ、JB以外は1つの製品にして欲しいよ!
Enterprise Studio for Windowsがそうなるんじゃないかって
気がする。
でもDelphi.NET対応が来年の末でしょ?
十分戦えるって言ってられるでしょうか・・・。
「もーだめぽ」まで逝かないにしても、苦しくなるんじゃないかな。
某環境って VS.NETと比較するとコスト的に結構不利なんですよね。
もっともこれは、商用に限っての話ですが、パソにはVCL等のソースが
付いてませんし、趣味でも本気で使うにはちょい辛い。
  彡 ビュー
     @@@@     (゜д゜3

>>968
969デフォルトの名無しさん:02/07/26 00:36
オマエラ、
Kylix3は C++版であってPascal版のKylix2とは別物なんだよ、知らないの?
BCBでPascalのVCLが動いてるのと同じレベルなんだけど
というか、Pro版にEnt版の機能をアドオン出来る
販売形式を作ってもらう方が俺的にはいいけど。

会社だとワンパックの方がお得なんだろうけどな。
  彡 ビュー
     @@@@
    (゜д゜3
>>971
>>969
そなの?

http://www.borland.co.jp/news/kylix3.html

読んでみたけど、確かにそのようにも取れるなぁ・・・。
VS.NETみたいにエントリー版以外は統合するんじゃない?

Delphi + BCB + JBuilder + Kylix でエンプラ版お得な100万円

半年に一度バージョンアップ

(゚д゚)ウマー
>>972
ネタにきまってるだろ。
>半年に一度バージョンアップ
プログラマ氏ぬな。
(もしかして某も中国人やインド人使ってるのか?いや、そんなはずは・・・)
976社員:02/07/26 00:55
>>975
あなた、わたしたちかいしゃ、中国人なんてつかてないですよー。
そうアルよ
ちゅうこくちんなんて、いないアルよ
>>975
>>976は米国から来たので日本語が苦手です。
すみませんね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧
 (; ・∀・)
 (    )  >>977ハ 弊社ノジュウギョウインデハ
 | 某|  ゴザイマセンノデ‥
 (__)_)
俺日本人だけど、ウリの会社には中国人はいないニダ
イースターエッグのスタッフロールが全部中国人名になってたら
どうしよう・・・
秋葉の路地裏で中国人から安く買えるよ、たぶん。
Ent版もVS.NETも全部入って\1,000-とかで。
982 ◆tare/k3c :02/07/26 01:28
.NETって初物買いなんでしょ?
これが標準になるにはまだだいぶ時間かかりそうだし。
Frameworkのインストール=VBランタイムのインストールに似ていて
すごく抵抗あるんだけどなぁ。
ネイティブな実行ファイル作れるDelphiに惹かれた自分としては
受け入れづらい…
>>982
>Frameworkのインストール=VBランタイムのインストールに似ていて
>すごく抵抗あるんだけどなぁ。

じゃあVC++も却下だな。
984デフォルトの名無しさん:02/07/26 01:42
>>983
それに必要なのはランタイム形式じゃないでしょ…
ランタイムよりはるかに嫌だよ
JavaVM 入れるようなもん
DLL Hell
 
 
   
990 
       パッキューンッキューンッ
           \△/  
            ●  
        ε=ε= □へ 
            ノ 
   .∧ ∧∧ ∧ ))
  (( (゚Д゚ ≡ ゚Д゚) ニャーニャー
   ⊂⊂≡⊃⊃
  オ と,, ≡,,づ オ
  ロ  し^ J   ロ
      ____
      | ┐‐ | |
      | -   | |
       ̄| ̄U ̄
        |  |〜
        U"U
      __     
     l⊆⊇`ヽ ≡ ヤホーイ
     (´D`Lノ ≡
    m=○=mノ) ≡
    _/_/(「_ノニコ ≡
     ( (0)=(__)0) ≡(´⌒(´⌒;;
 ∧ ∧∧ ∧
 (゚Д゚≡゚Д゚)
   |し |つ
  ⊂__ |
      し'

   /⌒ヽ 
  / ´_ゝ`)
  |    /   
  | /| |   
  // | |  
 U  .U
〈削除依頼は?〉

〔駄目です。無視されています。
しかし>>1君!ああしなければ、他のみんながやられていたぞ!〕

「それ以上煽って僕を怒らせないでよ。
僕に残されている後185串。
これだけあればこの板の半分は壊せるよ。」

『今の彼ならやりかねませんね。』

【聞いて!>>1君!煽りさんたちの判断がなければあなたは通報されてたかもしれないのよ!?】

「そんなの関係ないよ!
煽りは・・・僕の質問を壊そうとしたんだ!!
この僕の手で・・・。

煽り!そこにいるんだろ?何か言ってよ!答えてよ!!」

《空白レス書き込み速度を連続投稿限界まで上げろ。》

【え!?】

《厨房のだだにつきあってる暇はない。》

「まだクッキーが残っ・・・ごはぁ!畜生・・・畜生・・・畜生・・・。」>>989

  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )
 | 某|
 (__)_)

  ,,,,,,,,,,,,,,,∧,,∧
〜′,,,,,,,,,,ミ,,゚Д゚彡
 UU"""" U U
     ( (   (. )
     . -‐ ) ‐- .
    .´,.::::;;:... . . _  `.
    i ヾ:;_   `_,.ン|
    l    ̄ ̄...:;:彡|
    }  . . ...::::;:;;;;;彡{ _∧
    i   . . ...:::;;;;;彡|・ω・`)お茶を飲んで、落ち着いてね。。。
    }   . .....:::;::;:;;;;彡{  /U
    !,    . .:.::;:;;;彡j  |
     ト ,  . ..,:;:;:=:彳 ∪
     ヽ、.. ....::::;;;ジ 
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。