C# 仲良し Delphi Round 2

このエントリーをはてなブックマークに追加
1Delフサギコ
似たもの同士って事で仲良く
お茶でも飲みながら
のんびりスレ

    ∧,,∧  マターリとナー
   ミ,,゚Д゚彡
    ミ つ旦)~~  
  〜と,,,~),,~) 

前スレ
 C# vs Delphi Round 1
 http://pc.2ch.net/test/read.cgi/tech/1021550705/
2deldel:02/05/29 17:55
2get
3Delフサギコ ◆zE1iiRdQ :02/05/29 18:09
3getしてもらえない。
鬱だ、、ぶら下がろう…

    _       _ 
   / _)======_)  
   | |   || |    
   | | ∧||∧  
   | | ミ; ⌒ヽミ  
   | | ミ ミ  .ミ   
   | | ∪ @ミ  
   | |  ミ ミミ ミ  
   | |  ∪ ∪   
   |_|__|_|  
    \_   \. 
.      ̄ ̄ ̄ 
pcodeが全くどうでもいいレス投稿してる。
pcodeってまだいたの?
>>3、いいケツしてるな・・・
7デフォルトの名無しさん:02/05/29 19:11
 VB厨必死だな

 .NET哀れだな

 俺、放置だな(泣

の三本です。
来週もまた、見てくださいねー
ギャハププ
9デフォルトの名無しさん:02/05/29 19:39
Delphiって何に使うの?
なんで新スレ立てるんだよ。
もう最後の方は双方共、厨房しかいなかったんだから
あそこで終わらせればいいのに。
11デフォルトの名無しさん:02/05/29 20:33
むしろ、C#とJavaの比較
あるいはKylixとJAVAの比較が欲しいんだが。

Delphiは使わないよ。
むしろ
C丼と.NETの比較が欲しいな
13デフォルト名無しさん:02/05/29 21:27
C言語を始めたいのですが、おすすめの本ってありますか?
当方は全くの素人です。
>>9
Kylixで開発したものをWinに移植するのに使うんだyo!
15デフォルトの名無しさん:02/05/29 21:33
Delフサギコさんは今仕事はVBなの?
どうしてC++BuilderやJBuilderにいかなかったの?
 (プッ

 (ゲラ

 (嘲笑激藁

の三本です。
来週もまた、見てくださいねー
ギャハププ
18前スレ924:02/05/29 22:55
情報をいただいた皆さんありがとうございます。

当面必要な範囲での疑問が解決したので試しに作ってみました。
クリップボードに変更があると最前面に移動して表示し、
戻るボタンで一番下のウィンドウになります。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1021888173&res=8

フォームの生成関係が手書きなので汚いです。
いろいろ問題点を指摘していただければ幸いです。

やってみた感想として、Win32 API に関しては定義さえ作れば今までと
違わない感覚で扱える気がしました。
19前スレ924:02/05/29 23:34
誤字とバグがあったので 18 を修正しました。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1021888173&res=9
20Delフサギコ ◆zE1iiRdQ :02/05/30 01:34
           _____________
   ∧,,∧    /
  ミ,,゚Д゚彡 < WndProcをOverRideするのは
   U  つ   \なかなかかっこよいですね。
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ Delphiではプロパティなんだよね...
>>20
 Delphidでも継承で書く事も出来るよ というかWinControl継承コンポは普通そうするでしょ
>>19 C#でネイテブコードが吐けるようになったら

C#でで小さな実行ファイルを作ろう

なんてスレを作ってぜひ色々投稿してくれ
23Delフサギコ ◆zE1iiRdQ :02/05/30 09:44
|,,∧∩ >>21マヂですか?
|Д゚彡
| ミ′  例解をキボンヌ
| ミ    
| U

例えばタスクバーが
Explorerあぼーんといっしょにお亡くなりして
その後、フカーツした場合のタイミングを検知するために
以下のようなコードを書くと思われなんですが
このWndProcを継承でかけるんでしょうか?

(これ、タスクトレイアイコン登録アプリでは
タスクトレーアイコンをフカツさせる為に必須の実装)

type
 TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
  procedure FormDestroy(Sender: TObject);
 private
  OldWndProc: TWndMethod;
  procedure FormWndProc(var Message: TMessage);
 public
 end;

procedure TForm1.FormWndProc(var Message: TMessage);
var
 Msg_TaskbarCreated: UINT;
begin
 Msg_TaskbarCreated := RegisterWindowMessage('TaskbarCreated');

 if Message.Msg = Msg_TaskbarCreated then
 begin
  Self.Caption := 'タスクバー復活したよ';
 end;

 OldWndProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 OldWndProc := Self.WindowProc;
 Self.WindowProc := FormWndProc;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 Self.WindowProc := OldWndProc;
end;
>>23
21じゃないけども、それはフォームのWndProcをオーバーライドするだけでは駄目?
サブクラス化する意味無いように見えるけど・・・。
25Delフサギコ ◆zE1iiRdQ :02/05/30 09:56
|,,∧   Propertyの叔母ライド....どやるんだっけ?
|Д゚;ミ
| U
| ミ    やべー
| U
>>25 だから プロパティじゃないって こうしてごらん

 TForm1 = class(TForm)
 private
 procedure WndProc(var Message: TMessage);override;
 end;

procedure TForm1.WndProc(var Message: TMessage);
var Msg_TaskbarCreated: UINT;
begin
 Msg_TaskbarCreated := RegisterWindowMessage('TaskbarCreated');

 if Message.Msg = Msg_TaskbarCreated then
 begin
  Self.Caption := 'タスクバー復活したよ';
 end;
 inherited;
end;
自分自身のWndProcを取り替えてるからサブクラス化とは言わないか・・・ただの交換?

>>25
プロパティでなくてフォームのWndProcメソッドのオーバーライドじゃ駄目なのかなと。
かぶった
まあ
 TForm1 = class(TForm)
 private
 procedure TaskbarCreated(var Message: TMessage);message WM_TaskbarCreated;
 end;
として MM_TaskbarCreated が変数で設定出来るか

ChangeVMTDynamicTable(メソッド名,ID) とかがあって IDが書き換えられると便利だね
WndProcで無くとも DefaultHandler でも Dispatch でも好きな段階でオーバライド可能
31Delフサギコ ◆zE1iiRdQ :02/05/30 10:19
|,,∧   サンクスコ
|Д゚彡
| U
| ミ    今までそのやり方知らなかった
| U    ちょっと恥ずかしい…
3226:02/05/30 10:28
>>30 確かにね、一番良く使うならともかく、こういうメッセージはやっぱりこうしないと効率悪いかな

type TForm1 = class(TForm)
 private
 procedure .DefaultHandler(var Message: TMessage);override;
 end;


implementation
var  Msg_TaskbarCreated: UINT;
procedure TForm1.DefaultHandler(var Message: TMessage);
begin
 if Message.Msg = Msg_TaskbarCreated then
 begin   Self.Caption := 'タスクバー復活したよ';
 end;
 inherited;
end;

initialization
 Msg_TaskbarCreated := RegisterWindowMessage('TaskbarCreated');
まあ、>>20からの流れでWndProcのoverrideの話だから
3426:02/05/30 12:38
>>19
 ところで、C#って Delphiみたいなメッセージディスパッチの仕掛けはないの?


BEGIN_MESSAGE_MAP みたいな旧スタイルではないのでしょ?
35前スレ924 =19:02/05/30 17:31
>>20
C# だと継承しかないみたいです。
Delphi なら迷うぐらいたくさん方法がありますが。

>>34
くわしくないのではっきりとは言えないんですが、
特別なメッセージ処理の仕組みは無いんじゃないで
しょうか。メッセージ通知も protected ですし。

System.Windows.Forms.Control のリファレンスを見ると
必要最小限という感じです。

SDK ドキュメント
ms-help://MS.NETFrameworkSDK.JA/cpref/html/frlrfsystemwindowsformscontrolmemberstopic.htm
36前スレ924 =19:02/05/30 17:35
クリップボード監視とフォームの最前面移動をクラス化しようと思った
のですが、 Delphi のように WndProc を持つ非ビジュアルコンポーネントの
作り方がわからないので Button を継承して作ってみたんですが、
終了処理でクリップボードチェインから抜けるのに失敗してしまいます。

どうも、親のフォームよりも後に Dispose が実行されるので、自分の
ハンドルは有効でも親のハンドルが無効なため ChangeClipboardChain
がエラーになるようです。

アンマネージ・リソースの開放は苦労しそうです。
3726:02/05/30 17:36
>>35 そうですか メッセージクラスを用意すれば
 Publishedメソッドをその名前で自動的にシリアライズするような機能でもあるのかと思ってた
38デフォルトの名無しさん:02/05/30 17:55
何か勘違いしてる奴ばっかりだな。(嘲笑激藁
>>38 なんか キミ見てチョッとばかりホットしたよ。 俺でもプログラマやってていいんだなあって

 ありがと
40デフォルトの名無しさん:02/05/30 18:03
>>39
NativeWindowも知らない無知無能を藁ってるだけなのに、読解力が足りないようだな。(嘲笑禿藁
ドットネット中心になると 全てメッセージではなく オブジェクトのシリアル化で対処するのかなあ
4219:02/05/30 18:38
>>
IWin32Window を実装しているのが Control だけなんで
他には無いと勘違いしてた。これつかえばカプセル化
できそう。

教えてくれてありがとう。
(嘲笑禿藁ってほんとはいい奴だったんだね。
4319:02/05/30 19:19
ビジュアル開発環境を持ってないから NativeWindow で十分
なんだけど、非ビジュアルコンポーネントは Visual Studio .NET
だとどういう風につくるの? 継承だけじゃだめみたいだけど >> 40
4419:02/05/30 19:30
>>43
非ビジュアルコンポーネントは Delphi の言い方で
Visual Studio だと 非ビジュアル?Windows コントロールかな。
>>44
普通にユーザーコントロール作って、コントロール側で Visible = false; にすればいいだけだと思うが・・・。
4619:02/05/30 20:24
>>45
コントロールの雛型を継承してコントロールを作り、実行時
または設計時のプロパティで非表示にするという感じでしょうか?

その場合ユーザーコントロールの雛型のクラスには何を使うんでしょう?

かなり初歩的な質問ですみません。
旧 Visual Studio も含めて コントロールを作った経験がないので知っと
きたいんです。
4719:02/05/30 20:50
System.Windows.Forms.UserControl か
System.Windows.Forms.Control
のどっちかだとは思うんですが。
48デフォルトの名無しさん:02/05/30 21:04
ソフトウェアの開発環境としては
.NET>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>UNIX
ということでよろしいか?
>>48
( ´,_ゝ`)プッ
zshマンセー
>>48
DOS時代の大先輩を気がついたら
下で使ってたという感じだな。
>48
個人的にはコンソールのほうが使い易い。
フォームにコントロールぺたぺた貼り付けるGUIデザインも
吐かれるコードが気に入らずどのみち全面書き直しになる。
せいぜい複雑なことやるときにサンプルとして参照する程度。
>>51 ?
>>51
コピペ?
素で言ってたら痛い。
54Delフサギコ ◆zE1iiRdQ :02/05/30 22:09
>吐かれるコードが気に入らずどのみち全面書き直しになる。
          _____________
   .∧,,∧  /コードウィンドウの[±]で閉じて
〜'"ミ,,゚Д゚ミ < 閉じて見るな。
 UU''UU   \___________
55デフォルトの名無しさん:02/05/30 22:25
>>51に同意。
C#相談室スレを見ても、達人級の回答者さんたちは皆IDEの吐き出すテンプレートなんて使ってないよ。
分かる?IDEに頼ってるのなんてコンピュータの基礎も知らない初心者ばかり。
プロはIDEなんて使わんのよ。君らアマチュア(並みの自称プロ)には理解し難いだろうけど。
>>55
効率と言う面では?
>>55
ちがうとおもう
58デフォルトの名無しさん:02/05/30 22:35
MSの人たちは実際はEmacsでコードを書いてmakefileでビルドしてる。
つまり未だにUNIXのコマンドラインベースが最強なんだよ。
開発でどうしてマウスなんか使う必要があるんだ?
くだらないね。そんなカチカチやってるが本当の開発だと思ってるのか?
>>58
とりあえず同意しておこう。
60デフォルトの名無しさん:02/05/30 22:39
>>55
チーム開発できない奴( ´,_ゝ`)プッ
一人寂しくツールでも作ってろ
>>58
20 世 紀 か ら タ イ ム ス リ ッ プ し て き た の で す か ?
最強なのはどうでもいいが、大半を占める普通のプログラマをわざわざ貶める
事もないのでは?本当のプロならこんなこと思ってても言わないはず。

ま、ネタであることを祈るが
>>61黙れ昭和生まれ
64デフォルトの名無しさん:02/05/30 22:46
君たちの役目はGUIの表面だけ作って終わりなのかな?
ならばチーム開発・RAD使用もうなづけるね。やってることはwebデザイナーにも劣るけどね。
システムコアのフレームワークを作るならRADなんて必要もないし、担当者も3人も4人もいらない。
君たちは下っ端だったのか。それは失礼。
>>55
お前無職だろ。
業界では飯の種にしていればプロだ。
お前の妄想してるプロという言葉をマニアに置き換えてからほざけ
Del厨の最も嫌がる部分を突くな。(嘲笑激藁
脳内年収1000万プソーヤーには何を逝っても無駄
( ´,_ゝ`)プッ
69デフォルトの名無しさん:02/05/30 22:51
>>65
>業界では飯の種にしていればプロだ。

通称サラリーマンプログラマだね。(嘲笑禿藁
早い話マジレスで中小企業向けのシステム構築にはIDE必須。
ホント金が出ない。
71デフォルトの名無しさん:02/05/30 22:55
>>70
それは張りぼての作り捨てをやっているだけ。開発とは言わない。
>>71
で、あんたは何系のプログラマだ?
73デフォルトの名無しさん:02/05/30 22:57
>>71
じゃあお前の力で地球上からIDEを駆逐して下さい
ガンバレ
結局は慣れと好みの問題に過ぎないということなんだけどな。

漏れはRADツールを使うとコンパイルからして裏でどう動いているのか
把握しづらいので落ち着かない。気にしなくていいっちゃいいことだが、
やはり自分の手でmakefile書いてmake一発がシンプルで落ち着く。
骨の髄までWin開発のひとには理解してもらえないだろう。

VC++はともかく、JavaもC#もテキストエディタだけでGUIアプリは作れるのだ。

とりあえずWin一辺倒のひとに希望するのはWinのDos窓とUnix系環境の
シェルを同列に見積もらないで欲しい。カニ蒲鉾と茹でたてのタラバほどの
違いがあるからね。
>>74
はじめからそう言えば荒れなかったんだがね。
7674:02/05/30 23:02
>75
すまん、はじめがどこかは知らんがこのスレには初書き込みだ。
77デフォルトの名無しさん:02/05/30 23:03
>ホント金が出ない。
思うんだが、クライアントサイドのメインは外注かバイトに投げて、
こっちは鯖のデーモンプロセスとミドルウェアとコンポーネント
だけシコシコやると楽しい。
クライアントの外部仕様なんて納期直前に出来上がって
デスマーチなりがちでつらい。

78デフォルトの名無しさん:02/05/30 23:04
>>74
同意。UNIXのシェルの生産性は極めて高い。
本来GUIというものはCUIでできることに見た目的な皮をかぶせているだけで
やれることは本質的に変わらない。むしろ、GUIの方が生産性が落ちる。
キーボードとマウスを行ったり来たりするからだ。
CUIを生産性が低いという人はただ単にシェルを使いこなせてないだけで
本当はGUIを使う資格すらないんだよね。
一般ユーザならまだ許せるけど、開発者でこういうのがいるのは笑えないね。
>>78
GUIの方が生産性が高いなんて誰が言った?
職人芸と称して自分しか読めないパスタコード作る人?
プロだったらIDEが裏でやってること理解した上で使うもんだと思うが。
>>74
ばかやろう、お前にカニカマの何が分かるってんだ。
どうせタラバなんて食ったことねえんだろ(嘲笑禿藁
82デフォルトの名無しさん:02/05/30 23:21
スレタイが泣いております(涙
>>81
なんでそこに目がいくのだ?
>>83
洒落の分からない奴だな。
>>78
UNIXのシェルが優れてる事は認めるが、
GUIよりCUIが優れてる、てのはあまりに痛い発言だな。

だれかCUI版のPhotoshop作ってくれ。GIMPでもいいぞ。
86デフォルトの名無しさん:02/05/30 23:39
何だ、GUIしか使えない点ではDel厨もC#厨も仲良しだな。(嘲笑激藁
87デフォルトの名無しさん:02/05/30 23:47
UNIXユーザーにはDelphiとC++Builderおすすめ。
MFCはアテナウィジェット以下、VCL/CLXは
gtkみたいにラク。おまけに統合環境は必須ではない。
gtkみたいにシグナル機構ばりばり使ったCよりも
ObjectパスカルかC++のポリモーフィズムの方が
理解が簡単。
88Delフサギコ ◆zE1iiRdQ :02/05/31 00:11
        ∫        _____________
   ∧,,∧ ∬       /薦めるの無駄だと思われ....
   ミ,,゚Д゚ノ,っ━~  <  Delphiだって全部IDEなしでGUI作成できる
_と~,,,  ~,,,ノ_. ∀  \といっても理解できんだろうし。
    .ミ,,,/~),  .| ┷┳━
 ̄ ̄ ̄ .し'J ̄ ̄|... ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄   .┻
俺も詳しいことは知らんがGNOME作者さんの
お話をどうぞ。
http://www.os-omicron.org/~takano/private/trans/bongo-bong_j.html

C#のWinFormの開発は昔からDelphiで味わっているので
たいしたものとは感じられないけど。
C#で使ったんだけど、ASP.NETのGUIの生産性は
従来の開発スタイルを根本から変化させると感じた。
>>87
gtk--とかQTとかはどうよ?
>>88
おお、Miguelじゃん。monoのリーダー的存在だよ。
91デフォルトの名無しさん:02/05/31 00:26
>>88
C#って言ってる時点でDQN。
VB.NETでも本質的には変わらない。
>>88
これで分かったでしょ?
DelphiがVB.NETに負けてるという根拠が。 
>>91
>>92
スレ違い
94デフォルトの名無しさん:02/05/31 00:32
エロゲやるにもマウスを使わない強者がいるスレはここですか?
96Delフサギコ ◆zE1iiRdQ :02/05/31 01:02
           _____________
   ∧,,∧    /Sunみたいに"人類対MS"とかいうバカな
  ミ,,゚Д゚彡 < 構図を持ち出さずに、
  (ミ  ミ)   \いいものを作りたいという姿勢が美しいっすね。
 〜ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪  Borlandもこういう人をたくさん雇うといいかも。

ところで、ヘッヂのインタビューなどの
リンクいろいろ、教えてくださいませ。
>>96
今月号の日経ソフトウェア嫁。
Delphiと.NETの中間期ということで。

http://www.microsoft.com/japan/msdn/weeklynews/int_AH.asp
101ヘジルスバーグ(本物):02/05/31 01:16
すいません。質問です。
最近C#って話題になってますがこれって結局何が出来るんですか?

C、C++の様にWindowsアプリを開発したりも出来るんですよね。
プラットフォームはWindowsのみなのでしょうか?
Unixの方面ではC#の開発は今のところ出来そうにありませんが。
OO言語らしいのでDelphiに感触が似てると思うのですが実際はどうなのでしょうか。
.netβ2を持ってるのですが入れる勇気がありません。

102河内の物体屋X(偽者):02/05/31 01:53
>C、C++の様にWindowsアプリを開発したりも出来るんですよね。
外見上EXEファイルになることは確認しているが、
過去ログを追っていくと、JDKをEXEの中に埋め込んだ
ようなJavaアプリケーションもどきと読める。
最大の問題はC++のアプリケーションをC#に移植した場合、
JustArksのように重くなるかどうかだな。
>>101
ヘジがキタ━━━━━━(゚∀゚)━━━━━━!!
本物がそんな質問するわけねーーーーーーーーーーーーーー
Hejlsbergってやっぱ「ヘイルスバーグ」と読むほうが自然に思えるな
・・・どうでもいいけど
105         :02/05/31 02:07


  水―――(   ()   ()   )―――!
106ヘジルスバーグ(本物):02/05/31 02:28
>>102
重いCアプリって・・
>>101 結局何が出来るんですか?

結局何をしたいのですか?
InitializeComponent の中身って触るなって書いてあるけど、ある程度触っても大丈夫みたい
ただ、アイコンとかは結局リソースになるから、Delphiみたいにテキストでチョッと直すなんて
出来ない・・・・大した問題じゃないけど
109ヘジルスバーグ(本物):02/05/31 08:10
>>108
じゃあDelphiやったほうが便利ですよね
ヘジたん(俺)のいけずぅ
>>108
 ComboBoxをListBoxに変換しようとしてさ
全置換して フォームデザイナにしたらコードが消えちゃったよ

出来るのはせいぜい座標とかサイズの微調整程度
Delに飽きてきたのでC#.NET単体発売日に買ったよ
学習のためにDelからC#にいろいろ移植してみたよ
作ったものをそのままWin2Kで実行すると気がつかないのだが、
Win98に持っていくとフレームワークの起動でクソ重たいのね、いや想像以上にね
Win98も対象なら、わざわざドトネト使うと評判ガタ落ちかもね
同じもの作るならDel使う、C#は、、、どんなとき使おうかしら
>111
Javaも最初はクソ重くてこんなもん使いもんになるかと思っていたものだ。
とりあえずはngen.exeでしのごう。
113Delフサギコ ◆zE1iiRdQ :02/05/31 20:05
∀                   _____________
┷┳━     ,,,,,,,,,,,,,,,∧,,∧   /
  ┃   〜′,,,,,,,,,,ミ,,゚Д゚彡<  Webアプリ作成に使ってよし
  ┻.    UU"""" U U    \ いや、マジで
                      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Webアプリってのはサーバーで実行されるんだよね?
C#.NETで作ってもサーバーがWindowsじゃないと使えないよね?
ちがってるかも
>>112
ngen.exeで検索したら、





イテテ、イテテテ、
>勝手ながらオリジナルのxPadieに敬意を表し、名称をxPadie Proとさせていただきました。
あの人と同一人物か?
ヘジのインタビュー動画でヘジが貧乏ゆすりしてたのがワラタ
117Delフサギコ ◆zE1iiRdQ :02/06/02 16:40
   _____________
 /
 | ヂャ、そろそろ次のお題なぞ。
 \_ ____________
    |/
   ∧,,∧
  ミ,,゚Д゚ミy━~~
   U   ミ
 〜ミ   ミ
   U''U

送るフォルダに
自分自身のExeのショートカットを
[リンク先を探す]っていう名前で入れる機能をもっていて
そこに*.lnkファイルを送ったら
それのリンク先ファイルのフォルダが開くって
アプリをつくれるかしら。

Delphiで作ってみているのですが
ショートカットファイルの扱いが
かなり面倒なんですよね。


日系ソフトのヘジタンのインタビューは見てきたYO.
なんともなー、あまり好感のもてるキャラじゃなかったな。
シンプルという思想は大変素敵だけれども。
118Delフサギコ ◆zE1iiRdQ :02/06/02 16:47

  ∧,,∧ agaりまーす
 ミ,,゚Д゚彡
 ミつ[|lllll]).
〜ミ  ミ
  U''U
>>117
あれは訳し方がDQNなだけ。 > 日系
>>117
めんどくさいのでVB.NETで作った。C#で作るときはtlbimp要。

Imports System
Imports System.Diagnostics
Imports System.IO

Class Test

  Public Shared Sub Main(args As String())
    ' 引数なし
    If args.Length = 0
      Return
    End If

    ' ショートカット以外
    If Not Path.GetExtension(args(0)).Equals(".lnk")
      Return
    End If

    Dim shell = Activator.CreateInstance(Type.GetTypeFromProgId("Shell.Application"))
    Dim folder = shell.NameSpace(Path.GetDirectoryName(args(0)))
    Dim link = folder.Items().Item(Path.GetFileName(args(0))).GetLink

    Process.Start(Path.GetDirectoryName(link.Path))
  End Sub

End Class

' vbc /t:winexe /r:System.dll Test.vb
121Delフサギコ ◆zE1iiRdQ :02/06/03 13:22

T |  こんなに簡単に出来るの?...なんか微妙に
A |  仕様がハショられてるような?
K |彡   
A ⊂ミ  ・とあるフォルダに自分へのショートカットがあるかどうか
R |ミ   ・ショートカットファイルのリンク先の求め方
A |J
      この機能がDelphiでも簡単にできたらいいのにな。
      .NETでは簡単に出来るですか?

   フサはC#しか持ってませんTAKARA
   動作確認できなKATAAR
>>121
ショートカットを使うにはOLEを使う
http://www.borland.co.jp/qanda/delphi/d0003274.html
MyObject := CreateComObject(CLSID_ShellLink); //と開いて
MySLink := MyObject as IShellLink; // ショートカット操作の為のインターフェースと
MyPFile := MyObject as IShellLink; ファイル操作の為のインターフェースを取得

IPersistFile で 実際のファイルへSave/Load する
http://yokohama.cool.ne.jp/chokuto/hsp/interface/IPersistFile/

IShellLink でショートカット情報を読み書きする
http://www.runan.net/program/tips/_interface/IShellLink.shtml
120,121
>自分自身のExeのショートカットを
>[リンク先を探す]っていう名前で入れる機能をもっていて
という部分はないけどちゃんと実現できてますね。

最初コマンドプロンプトから test 〜.lnk を実行したらエラーに
なったけど送るメニューならうまくいきました。

VBとC#のコンパイラは.NET Framework の頒布パッケージ
(SDKでなく)にもついてましたよ。

%SYSTEM%\Microsoft.NET\Framework\v1.0.3705
124Delフサギコ ◆zE1iiRdQ :02/06/03 15:23
 | T | 今宝コソ隠さなきゃ。
 | A | 
 | K |彡
ミ⊃A |つ
 | R |ミ
 | A |J

>>123
やっぱ相当、強力なんですね。
Borlandが抜け落としてきた所にも
細かくきっちりライブラリ化してるって印象っす。

>>122
実際、ラップしたらわかると思うけど
DelphiでCreateComObjectのやり方では
CUIアプリでエラーが出て動かないよ。
原因は折れにはわからないでした。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1021888173&res=10
ここの、TShortcutFileがCUIじゃうごかんない。
誰か改善してホスイ

ちなみに、フォルダに自分(exe)への.lnkがあるかどうかを
調べる関数
function ShortCutFileExists
もつくってるので、Formさえあれば
かなり楽に

   '"送る"フォルダにショートカットがないようです'+#10+
   'ショートカットファイルを作成しますか?'),

というUIが作れるです。
>>121
>>120の最終行にちゃんとコンパイル方法書いてあるでしょ。(w
127122:02/06/03 16:16
>>124 とりあえず GUI アプリで試したけど コンソールアプリだとダメって事?


// .LNK ファイル名を与えて そのリンク先のパス名を取得する関数

function GetLinkFileName(fname:WideString):String;
var obj : IUnknown;
  siz:DWORD;
  rid:Integer;
  pfd: TWin32FindData;
begin
  obj:= CreateComObject(CLSID_ShellLink);
  try
  with obj as IPersistFile do rid:=load(PWChar(fname),STGM_READ);
  if rid<>0 then Result:='' else
  with obj as IShellLinkA do begin
  SetLength(Result,1024);
   GetPath(PChar(Result),length(Result),pfd, 0);
   Result:=PChar(Result);
  end;
  finally obj:=nil;end;
end;
>>126
WinアプリだとCoInitializeしなくてもOLEが動くことがあるけど
やっぱ必要なものなんだな。
限りなく厨に近いコードだな
function IsSameFileName(A, B: String): Boolean;
var
 OldMode: UINT;
begin
 OldMode := SetErrorMode(SEM_FAILCRITICALERRORS);
 if FileExists(A) and FileExists(B) then
 begin
  A := GetLongFullPathName(A);
  B := GetLongFullPathName(B);

  if SameText(A, B) then
  begin
   Result := True;
  end else
  begin
   Result := False;
  end;

 end else
 begin
  Result := False;
 end;
 SetErrorMode(OldMode);
end;
130Delフサギコ ◆zE1iiRdQ :02/06/03 16:36
 | T |
 | A |∧,,∧ バレマシタカ(汁
 | K ミ;゚Д゚ミ
 | A |⊂ ミ
 | R |  ミ
 | A |゙゙∪
131122:02/06/03 17:18
>>124
 原因調べました。
 普通はuses ComObj とすれば自動的に CoInitialize されます。
 その仕掛けは初期化節でInitProc というポインタに予約されて
 実際の呼出しは Application.Initialize;でされます。

 コンソールアプリの場合も、formsをusesすれば良いのですが
 それをuses していなければ
  if InitProc <> nil then TProcedure(InitProc);
 と自分で呼び出さなければいけません。

132Delフサギコ ◆zE1iiRdQ :02/06/03 18:44

  __
  | T |
  | A |
  | K |          ________
  | A |,,,γ´ ̄ヽ   /
  | R |,,,,ミ,,゚Д゚彡< 禿しく感謝
  | A |"" U U    \________
 | ̄ ̄ ̄|  すごいです
      フサはそんなの自力で調べられないっす…

  CUI版で再実装だ!
この場合、 uses から formを外してもコンパイルエラーもリンクエラーも起きないけど
実行時にエラーが起きる訳か・・・・
134デフォルトの名無しさん:02/06/03 19:19
ショートカットを作る部分もVB.NETで作成。
やっぱりC#ではめんどくさくてやってられん。

Imports System
Imports System.IO
Imports System.Reflection

Class Test

  Public Shared Sub Main()
    Dim shell = Activator.CreateInstance(Type.GetTypeFromProgID("WScript.Shell"))

    ' ショートカットの存在チェック
    Dim link_name As String = shell.SpecialFolders("SendTo") + "\リンク先を探す.lnk"
    If File.Exists(link_name) Then
      Return
    End If

    ' ショートカットの作成
    Dim link = shell.CreateShortcut(link_name)
    link.TargetPath = Path.GetFullPath([Assembly].GetExecutingAssembly().Location)
    link.Save()
  End Sub

End Class
>>133
この場合は、 Application.Initialize; を呼ぶかどうかであって
これを呼ぶためには formをusesしていないとダメという事
>フサはC#しか持ってませんTAKARA
C#スタンダード買ったって言ってたべ。
138Delフサギコ ◆zE1iiRdQ :02/06/05 01:56
         いろんなトコでいい感じに
    ∧,,∧    ライブラリが構築されてますね。
   ミ,,゚Д゚ミζ
    ミ  つ旦  今日はstatusbarとかみてました。
  〜と,,,~),,~)   AutoSizeとかMinWidthとか
           PanelClickとか、、、VCLで実装されてない
            ところが、きっちりつくられてるなー。
139デフォルトの名無しさん:02/06/06 14:59
Del->C#移行ガイドのようなものってどこかにないですか?
というか作れ>MS
140122:02/06/07 08:24
>>135
 あ! 確かに勘違いされそうですね。
 >>131は 基本的にコンソールアプリでも COMを使うならformをusesして
 Application.Initialize;をしなければいけないという事です

>if InitProc <> nil then TProcedure(InitProc);
 これは今のバージョンならこれでも動くよというだけで、正しい作法ではないです
141無責任だが:02/06/07 12:09
>>124
ははあ、こっちが元祖なんですね。

Shell.Application は Delphiからも使えます
使い方は VBと殆ど同じです
間違えて
http://pc.2ch.net/test/read.cgi/tech/1019654975/247
こっちに up してしまいましたが

1、IUnknownのインターフェースには as IDispatch; を指定する事
2、OLEVariantをとにかく使う

この2つさえ注意すれば、VBのコードはそのまま移植可能の筈です

ちなみに VBの
> Dim shell = Activator.CreateInstance(Type.GetTypeFromProgId("Shell.Application"))

Delphiは
>guid:=ProgIDToClassID('Shell.Application');
>objShell := CreateComObject(guid) as IShellDispatch ;
 となります
142Delフサギコ ◆zE1iiRdQ :02/06/10 12:30
Delphiではいまいち
構文解析機能といったものが苦手で
自分で全実装しなければいけないようなのですが
(Delで楽に実装する方法を教えて欲しい)

C#はどうなのかしら?

例えば以下のような機能はありますか?
もしくは簡単に実装できる手段は用意されてますか?

・HTMLソースからタグを除いたテキストを取得する
・HTMLソースからタグで囲まれたトコだけを取得する
・C#ソースからコメントを削除する
・C#ソースからコメントだけを取得する

どうですか?

 ̄ ̄ ̄ ̄ ̄|/ ̄ ̄
 ∧∧    ∧,,∧ キョウモ シツモン イイカシラ
 (*゚ー゚) ミ゚Д゚,,彡
 ノつ旦) ミ(旦⊂ミ
て  ) )   ミ( (  ミ〜
| ̄∪J ̄ ̄.し.し' ̄| Ψ
|.             | □
ジブンデ
シラベナサイ
>>142
上の2つは性器表現で簡単にできるんじゃない?
>>142
C#のコメントの件は
.NET大ブーム!
http://pc.2ch.net/test/read.cgi/tech/1020361918/

で、C#ならMicrosoft.CSharpやSystem.Code.DOMで簡単に出来ると言い切りながら
結局コードは出なかった筈

まあ慣れれば30分で書ける処理なんだから、慣れろ >>Delフサギコ
Delphiで楽に実装する方法
 1、慣れる・・再帰下降とか状態遷移とかのコードを何度か書いてみる
 2、勉強する・・Delphi用のlex/yaccがフリーであるから、使い方を勉強すればいい

若者が、そこらへんの事から、単にライブラリ組み合わせで出来る方法探しに奔走し
てては日本の情報産業の未来はないぞ。

ちゃんと勉強して、馴れて、自分のものにしろ!
146Delフサギコ ◆zE1iiRdQ :02/06/10 16:28
             _______________
  ,,,,,,,,,,,,,∧,,∧   /
〜′,,,,,,,ミ,,゚Д゚彡< いや、慣れろとかそういう話ではなくて...
  UU""" U U   \_______________

美しいパーサー?とか言う奴の実装があれば
参考にしたりつかったりしてみたいと
思ってたわけでし。

1回コキリ作成するならいいんだけど
それじゃ毎回面倒だから、汎用的に
生産性のあがるパーサーってのはないかなと
思うわけで。

とりあえず、TStringParserっての現在作ってまして
デリミタを設定したら、その文字列で分割して
分割後のStringにアクセスできるものは作ってます。
(ソースは長いのでどこか別場所に出すけど)
それを使えばテキストからメールアドレス取得するのが
こんなに簡単。(か?w)

とりあえず、結城タンのデザパタ本に載ってたLOGO言語を
復習した方がいいのかしら。
…でも言語を作りたいわけではないんだが…
147Delフサギコ ◆zE1iiRdQ :02/06/10 16:30
             __________
   ∧,,∧      /これ(TStringParser)使うと
  ミ,,゚Д゚彡  < HTMLタグ切り出しも
  ミ つ且~~   \Pascalソースコメント切り出しも
〜ミ,,,,,, ,,ミ       そこそこ楽にはなるです。
StringParserって命名がちょっとアレゲ?ですた?

//メアドを切り出してみますた。
function GetMailAddress(S: String): String;
var
 Parser: TStringParser;
 Delimiters: TArrayString;
 i: Integer;
 AddressFlags: array of Boolean;
begin
 Parser := TStringParser.Create;
 try
  Parser.Text := S;
  SetLength(Delimiters, 7);
  Delimiters[0] := '<';
  Delimiters[1] := '>';
  Delimiters[2] := '=';
  Delimiters[3] := '"';
  Delimiters[4] := ':';
  Delimiters[5] := '''';
  Delimiters[6] := ' ';
  Parser.Delimiters := Delimiters;

  SetLength(AddressFlags, Parser.StringCount);
  for i := 0 to Parser.StringCount-1 do
  begin
   if 1 <= AnsiPos('@', Parser.Strings[i]) then
   begin
    AddressFlags[i] := True;
   end else
   begin
    AddressFlags[i] := False;
   end;
  end;

  Result := '';
  for i := 0 to Parser.StringCount-1 do
  begin
   if AddressFlags[i] = True then
    Result := Result + Parser.Strings[i] + #13#10;
  end;
  Result := TrimRight(Result);

 finally
  Parser.Free;
 end;
end;
>>146
 残念だけど美しいパーサーというのは無い。
汎用的に生産性のあがる方法はlex/yaccを使う事だ

ただ、考えられる方法としては、Delphiで言う実行時型情報を使って
lex の トークンの定義代わりに 
正規票件をエスケープしたメソッド名で定義したクラスを引数に渡すと
自動的に字句解析して、結果を呼び出すようなものは作れるだろう
149Delフサギコ ◆zE1iiRdQ :02/06/10 17:12
とりあえず、ウプしました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1023695507

;゚д゚) <残念だけど美しいパーサーというのは無い。
148


               Σミ゚Д゚;彡エーッ!


                ミ ゚Д゚彡・・・・


               Σミ゚Д゚#彡 ナワケネーダロ



StringParserでは"区切り文字"で分割して
Stringの配列にStringを代入しているんだけど

この機能をもっと進化させて
"区切り文字"と一致するかどうかでString分割の判断するのではなく

指定した関数郡の
関数ポインタに処理を任せて
例えば、

・"<!--"で始まって"-->"で終わる部分で分割
・"<"で始まって">"で終わる部分で分割

という処理を行う関数列を指定して
Parserにかければ、簡単なHTMLソースが

Parser.Item[0] = '<HTML>'
Parser.Item[1] = '<HEAD>'
Parser.Item[2] = '<TITLE>'
Parser.Item[3] = #13#10+'タイトル'+#13#10
Parser.Item[4] = '</TITLE>'
Parser.Item[5] = '</HEAD>'
Parser.Item[6] = '<BODY>'
Parser.Item[7] = #13#10+'本文'+#13#10
Parser.Item[8] = '</BODY>'

こんな風に要素に代入されるパーサーってのは書けるだろうし
これを利用して更に
<AAA>と</AAA>
の組み合わせで再帰的に処理かけるとか
いう事の楽に出来るクラスは
作れるんじゃないの?

>汎用的に生産性のあがる方法はlex/yaccを使う事だ
車輪の再発明なのかもしれないけど、
コーディングガリガリなんてやってないで性器表現を覚えた方がいいと思うよ。
.NETでもJavaでもPerlでも応用が効くし。
>コーディングガリガリなんてやってないで性器表現を覚えた方がいいと思うよ。
覚えてもしばらく使わないとすぐ忘れる・・・頭悪・・・欝出汁脳
>>151
(.*?)さえ知ってれば大抵の場面で生きていける罠。
153Delフサギコ ◆zE1iiRdQ :02/06/10 17:51
ミ ゚Д゚彡
だけど、正規表現だと
"このHTMLには何個のテーブルがあって
 そのセルのタテヨコの個数をそれぞれ出せ"

ってな命題には答えにくいんじゃなかろうかと思うタリ
 >>どうかしら?

パーサー作るのもそれなりに手はかかるでしょうが。
>>153
世の中がXHTMLだけになれば楽になる。
正規表現は lex 使うのも必要だから当然必要だけど

正規表現検索ライブラリがあっても字句解析には少し遠いぞ

>>148 のようなライブラリが出来たとしても、それを使いこなすには
結局は lex/yaccでその使い方を身に付けるのと同じ程度のお勉強が必要
Delphiでlex/yaccを使いたいなら

http://www2.big.or.jp/~osamu/Delphi/MyLibrary.htm
これから Delphi 用 TP Lex/Yacc ライブラリ を落として
アーカイブされてるドキュメントを読むといい
このあたりの処理は、Cでほぼ完成されてるから、本は殆どCで書かれている。
しかし、本に書いてあるとおりにCで入力して走らせてるより、
別の言語に置き換えてやってみるのが良い勉強法だと思うよ
158Delフサギコ ◆zE1iiRdQ :02/06/11 19:12
ミ,,゚Д゚ミつ追加投稿しておいたけど、誰か...見てるかしら...

そのlexなんとかってのはなんとなく使いたくないなー
食わず嫌いなだけかもだけど。なんとなくね。
うーん。 残念だけどコードは動かない。
 TStringParser.Execute; が定義されてない
 しょうがないから
procedure TStringParser.Execute;
begin
ParseExecute;
end;

として実行してみた。で、コードをザっと見た感じ、パーサ(文解剖)と名前を付けながら単なる
セパレータ(文区切)の機能しかないように思うのだが?

だから PascalSourceLift では TStringParser を使って、その後で状態遷移型のコードでパーサ
を実装しているように見えるのだが?

それなら、最初から状態遷移型のコード内で検索した方が速度も早いし、だいいち考え易いと思う
>>158
 そうか? 俺はやってみるつもり

しかしさっそくつまづいた。
tply41a.zip の makeeD32.bat で作った実行ファイルだと Runtime errorが出る
この原因調べるのに昨夜は終わり

結局このバッチファイルの -cc を -CC にすれば解決
161Delフサギコ ◆zE1iiRdQ :02/06/12 09:52
ミ;゚Д゚彡つ

見てもらってた(w汁

> TStringParser.Execute; が定義されてない
ごめん、少々Updateしてて
メソッド名変えてたのと、TextやDelimiters代入で
自動でParseExecuteを実行するのを止めたんだ(オーバーヘッドでかいと思ったので

>単なる セパレータ(文区切)の機能しかないように思うのだが?
そうね(汁汁

もう頭の中は構文解析でイッパイ.です。
どうやったらもっとうまく実装できるのか
そろそろ思いつきそうなオカーン....

>その後で状態遷移型のコードでパーサ
>を実装しているように見えるのだが?
そうっす。これをどうやってParserに取り入れるかですね。

TMyParserとTMyParserItemとを用意してTree構造で実装するのが
いいような気がしてますが...
>>161
 どうやったら巧く実装出来るかだけど
 今はDelimiters が配列だけど、
1、これを木構造のリストにする
  簡単なのは先頭の空白の数やドットの数で木の深さを伝える方法
2、文字だけを渡してるけど
  '...メソッド名,Delimiter' のように渡すにようにして
 メソッド名を実行時型情報の機構を使って取得する



inString,'
.normal,'
inCom,{
.normal,}
inCom,(*
.normal,*)
inCom,//
.normal,\n

で pulished なメソッド
が1文字づつ呼ばれるという仕掛けにしたら?
もちろん、どのメソッドが呼ばれるかはプロパティにして動的に変更可能にしておく
163Delフサギコ ◆zE1iiRdQ :02/06/12 12:50
ミ ゚Д゚彡サンクスコ

とりあえz,Stringの配列で保持する必要は
無いことに気が付きますタ。
要素一つ一つの位置IndexとLengthを保持しておけば
Parser.Executeは早くなるわな...

問題は高速化ではなくて、仕様ですね。

いいっすね、メソッドボインタン...んー。Delphi的にはイベントを
TParserItemあたりに保持させておけばいいのか,,,ムズイ...
164Delフサギコ ◆zE1iiRdQ :02/06/13 01:10
http://www.nifty.ne.jp/forum/fdelphi/samples/00628.html
サンプル蔵を見ていたらこんなん見つけた。

   ∧,,∧    /
  ミ,,゚Д゚彡 < なんかいいかも!
   ミつ つ   \
 @ミ  ミ      
   ∪''∪     
>>164 そんなに人が作ったのが良いなら

ttp://www.text2music.com/hima/delphi/
strunit の方が全角対応だよ
このスレにはDel厨しかいないじゃん。(w
>>166 じゃ今の課題は >>142 だから参戦したら?
>>166
C# を始めたけど、ただ始めただけってヒトが多いと思われ
>>168
C#での2chビューアのパイオニアとして名を残すため。
後はユーザーインターフェースのみ〜。
気が付いたらこれが一番大変〜(泣)。
.NET って、なんも盛り上がってないじゃん
発売当初の騒ぎだけかよ
>>169
ライバルハケーン
漏れもGUIで苦戦中
エンジンもろくに出来ていないけどw
>>171
ごめん、飽き中w

いっそエンジンだけオープンで公開してしまおうかと。
ってまた仕様変更あったのね・・・。
質問です。
2chビューア が .NET にのると、何がうれしいのですか?
174172:02/06/29 21:39
>>173
別に?
メリットはないね。
遅いし結局Windowsに依存だし。

でも、新しい言語を覚えてもしかしたら何かの役に立つ2chビューアを作ってみようと。
こう言うのはパイオニアが一番普及するんだよ。
>>遅いし結局Windowsに依存だし。

普及すると思えんが?
>>175
うん、でも、MSがそれで行くって言ったら従わざるを得ないっしょ。
後、64bitにもそのまま対応できるみたい。
過去の経験から32bit互換(って言うかCPUレベルから互換無くなるチック)は捨てるのだろう。
要はソフトウェアだけ先に64bit対応に移行させようという魂胆かと。
>>176

なるほど。
気の長いはなしなんですね。
ゆっくりやっても大丈夫じゃないですか。
>>177
この世界、パイオニアが勝つのよw
>>178 そうだとすると C#より JAVA/Delphiが勝ちそうなもんだけど?
>>179
いや、言語を初期から勉強してきた奴がその言語使いとして名を挙げられる。
>>176

過去の経験からいくと、64bitで Win32を捨てたら Win32アプリと互換性のある他社製品が出て
皆はそっちに乗り換えるでしょう。

 俺は組込屋だから、未だに Win16アプリも使うしDOSアプリだって使ってるし
 それどころか書く事も年に何度かはあるよ


64bitになっても、人工知能アプリが自然に作れるとかそんなドカーンとくるメリットがなけりゃ誰も
いきなり乗換えませんて

で人工知能アプリが出来りゃプログラマは不要かもね

>>180 そんな事あったっけ? 何かの夢?

言語を一緒に作った奴やアクテブなβテスタはそりゃ名は挙げられるだろうけど
183Delフサギコ ◆zE1iiRdQ :02/06/30 14:19
 ∧,,∧
ミσ゚Д゚ミσ

ピーデーが名を上げてるかしら?
DQNとして有名にはなってるみたいだけど。
184Delフサギコ ◆zE1iiRdQ :02/06/30 14:24
>過去の経験からいくと、64bitで Win32を捨てたら Win32アプリと互換性のある他社製品が出て
>皆はそっちに乗り換えるでしょう。

なんの経験だろう。
             _______________
  ,,,,,,,,,,,,,∧,,∧   /Win32でもWin64でも
〜′,,,,,,,ミ,,゚Д゚彡< .NET枠かぶせてりゃ同じように動作する
  UU""" U U   \ ってのを狙ってるんでしょ。
 あと、WinCEとかも。
>>410 それがどうしたの? 
system と number の違いがどうしたっての?
何か意見でもあるの?
>>185
?
>>184
WinCEはもし出たら使い物にならない惨状になりそう
JITは無理だろうから、中間言語インタプリタ実行になるだろうし

ところで、Win64が出ても Win32/Win3.1/DOSの3つはサポート
されるだろうね。 だったら Win32でいいんじゃない? とも思うな。
CPUの速度は今でも(ゲームでもやらなけりゃ)十分すぎるくらいあるんだし

逆にWin32アプリが重いとか互換性に問題があるようじゃWin64へ誰が動くのかと思う

結局 .NET なら IA64への移行もスムーズっていうのは、あんまり意味
のない売り文句だと思うな
>>187
>ところで、Win64が出ても Win32/Win3.1/DOSの3つはサポートされるだろうね。

論拠は?WindowsXPって知ってるかい?
>>188
それは XP で Win32アプリさえまともに動かない事を皮肉ってるの?
それともXPでは16bitアプリが動かないと?
いかにもDel厨って感じの低レベルな会話だな。(嘲笑激藁
>>190
お、久しぶり
>>190
いかにも低脳って感じの低レベルのカキコだな。(嘲笑激藁

<オレモナー
193デフォルトの名無しさん:02/07/13 11:57
これまで触った感じで C#の嫌な点 (目隠しして象を触る感じだろうけど)

1、全てがシリアライズ可能な点 
  Delphiではpublished指定したものだけにシリアライズ可能な実行時型情報
  が付いたのに C#ではJAVAと同じく全てに実行時型情報が付く。
  これではまるでインタプリタ 少し大きなプロジェクトになると、実行サイズの
  増え方が尋常じゃなくなるだろう。

2、ライブラリが豊富すぎ
  あまりにもライブラリが提供されすぎている。これじゃ、自分でライブラリを
  整備する必要がない。 良い事のようだけど、DoItYourselfな面が無ければ
  プログラミングが単なる労働になってしまう。 労働者御用達ツールじゃ、
  進歩も発展はそこからはおきない。

  四則演算も自分で書けないVB使いと馬鹿にされてるのと同じ立場にC#使い
 もなるだろう
>>187
>ところで、Win64が出ても Win32/Win3.1/DOSの3つはサポートされるだろうね。

NT系列の場合は、フルWin32で16ビットコードは廃止。
16ビットコードは、エミュレーションで動く。
DOSもDOS窓がエミュレーションさせて動く。
195デフォルトの名無しさん:02/07/13 12:08
>>194
 エミュレーションでも今となっては何の不満もなく使えるね
 7年前は 圧倒的にWin95が速いと感じたもんだけど
>>193
>1、全てがシリアライズ可能な点

シリアライズするメンバーはカスタマイズできます。

>2、ライブラリが豊富すぎ

でも、ファイルとしてきちんと分散されてるのが肝かと。
すべてをrt.jar1個のファイルにまとめてる某言語とは違って。
>>193
published があってリフレクションがない言語では、分散オブジェクトに
おけるMBVが実現できませんね。
Delphiにおけるリフレクション
・可 クラス名からクラスを参照する
・可 クラスに定義されているメソッドやメンバー変数を求める。
・可 メンバー変数に動的にアクセスする。
・可 コンストラクタやメソッドを動的に起動する。

 ただしpublishedにしてあった場合で、かつメンバ変数名がDelphiの変数規則
に従う場合。

MBV(なんかこう書くと別のを連想するので)Marshal By Value = 値によるマーシャリング
は単に相手にバイトコードを実行させる仕掛けだから、
そのオブジェクトを実現するバイトコードを用意すればいいだけ 実現出来ないなんて事
にはならない。(メンドクサイだけ)
>>198
違うと思いまーす。
MBVはオブジェクトの状態を完全に転送できる必要があります。privateも含めて。
publishedしかできないならそれはMBVではありません。それと、MBVは「コード」を
運ぶ必要はありません。状態だけ。コードはあらかじめ置いておけばそれでよい。
>>199 べつにオブジェクトに応答させればいいだけでは?
201Delフサギコ ◆zE1iiRdQ :02/07/15 03:09
           >>193>2、ライブラリが豊富すぎ
            _____________
    ∧,,∧    /ライブラリを使いこなして
  _ ミ,,゚Д゚彡_<  より高度なものを創造汁
.=| |==U==U=| |= \
 | |@ミ  ミ .| |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | |
 | |      | |
        
逆説的なようだけど、特定の面でのライブラリは豊富というか親切すぎるくらいに
整備されてるのに、想定外の事は 「何もない」 のが困るって事じゃないかな

画面回りはVCLよりも親切だけど、それがかえって、想定外の事をやり難くし
ている。 たとえば、リアルタイムに低レベルオーディオを叩きたい
というような場合に、どうすればいいかは、普段C#を使っているだけでは見えて
こないというような・・・・

 出来るんだろうけど、それが普段の延長上には無いというような感じ
>>202
自分の無能さをM$のせいにする典型(プププ
204Delフサギコ ◆zE1iiRdQ :02/07/15 18:36
 ∧,,∧   普段デルパイ使ってても
ミσ゚Д゚ミσ 見えてきませんが、何か?

俺はVCLが.NET化に伴って
大幅拡張されることをキボンしてるんだけど

そのときも「それがかえって、想定外の事をやり難くしている。」
事になるんかな?
>>204
スクリプト系の言語使って見るとわかるよ。
関数が用意されてないことをやろうとするとかなりハマる。

レベルが違うけど、>202はそういうことをいいたいんでは
なかったのかな?
206Delフサギコ ◆zE1iiRdQ :02/07/15 20:54
 ∧,,∧   VCLソスが付属するか
ミσ゚Д゚ミσ .NET枠ソスが付属しないかの
       違いのことっすか?
       ウームそう感じるかな?

http://www.din.or.jp/~egawa-n/delphi/index.html
Delphi工房さん
とこと、ほとんど同じ関数/コンポ/Tips
を自前でそろえてしまっている俺的には
VCL標準は足りなさすぎじゃゴルァ
と叫びたい気持でオッパイオッパイなのです。
大抵のことはライブラリを使用すればできるが、
ライブラリとして用意されてないものは自分で作らないと
いけないと。
それが作りづらいといってるのでは?
>>207 C#でも普通のライブラリはつくり難くはないけど、コンポーネントライブラリは
  やり方が見えてこなくて辛いなあ

Delphiみたいにフリーのソース付きライブラリが沢山出てくれば別なんだろうけど
209デフォルトの名無しさん:02/07/17 04:39
>>206
>Delphi工房さん
>とこと、ほとんど同じ関数/コンポ/Tips
>を自前でそろえてしまっている俺的には
>VCL標準は足りなさすぎじゃゴルァ

これは VCL のソースの1%にもなりませんね。
100を101にしているから何だって言ってるの?
ヘンな理由!
>>206

足りない関数やクラスは、どんどこどんどこ自分のユニットに加えていって
それが VCL の3割ちかくになって、「VCL標準は足りなさすぎじゃゴルァ」
というならまだ分かる
211Delフサギコ ◆zE1iiRdQ :02/07/17 10:53
 ∧,,∧   なんでソースを量的にしか計算できないDeath?
ミσ゚Д゚ミσ
212Delフサギコ ◆zE1iiRdQ :02/07/17 11:10
            _____________
   ∧,,∧    /
   ミ,,゚Д゚彡 < と、煽り口調で言いたれてみたけれど
.=| |==U=U==| |= \___________
 | | .ミ   ミ | |
 | |ノ∪''∪. | |
 | |      | |

俺の主張おかしいかったでしか?

たとえVCLの数%であっても
使いたいと思う機能がなかったら
"足りん"と思いませぬ?

誰しも(?)痒いと思う所に手が届いていないから
他人と自分とで同じようなライブラリを構築するはめになり、
それゆえに、「VCL標準じゃたりねー」って
言ってるつもりなんす。

アイツもコイツも作ってるライブラなら
某がさっさと標準で実装してくれと、小一時間問い詰めたい

ライブラリを作る時はいつも(というかコード書くときは常に)
"作るのがタノスィ〜"って思いよりも
"標準で用意されてればいいのに"って思いが強いです
このスレC#使いが寄りつかないね。(嘲笑激藁
>たとえVCLの数%であっても使いたいと思う機能がなかったら"足りん"と思いませぬ?
はぁ?アプリを作るというのは、今まで無かったものを作るに決まってんだろ。
足りんが当たり前。標準で派生元クラスが提供されるわけよ。
それが分からんから、
>なんでソースを量的にしか計算できないDeath?
って言いながら、コンポのプロパティメソッドを量的にしか計算できないんだろうが。
デルギコはコンポ使いこなせないC#使いとおんなじだな。

215Delフサギコ ◆zE1iiRdQ :02/07/17 13:33
            _____________
    ∧,,∧    /
  _ ミ,,  #彡_<  レスする気も起きないレスありがタウ。
.=| |=ミ   ミ=| |= \
 | | ミ@ ミ | |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | | とか言ってみるテスト
 | |      | | 
       
なんでもかんでも揃っているライブラリよりも、
新たに何かを作るとき作りやすいライブラリの方が重要と考えますけどねぇ。
(それとも、既にあるライブラリを使うだけで満足?僕は嫌です)
そういう意味ではVCLは良くできているかと。

欲を言えば、小さい*.exeが作りやすいように、Classes.pasをusesしているユニットを減らして欲しい…
VCL/CLX専用ユニットは仕方が無いとして、TypInfoやDateUtils辺りは独立で使いたいです。
217デフォルトの名無しさん:02/07/17 14:50
VCLに足りないものが多いのは某の体質的な問題だと思う。
つまり、ユーザーが望んでいるものを把握していない、耳を傾けようともしないということ。
その点、MSは違うね。ニュースグループでも言えばちゃんと聞いてくれる。

それとユーザーの体質の問題ももちろんある。
ないなら作ればいいじゃん、誰かが動くもの作ってくれたからそれでいいじゃん、というのも大間違い。
それが標準として存在するかが大事。その点フサギコは分かってる。
なんでJ2EEなるものができたか分かってる?
多くの人が必要としている機能なら、誰かが実装してくれればそれで解決というわけにはいかないんだよ。

結局はDel厨は実戦で使おうとしてないということだよね。
これだからVB.NETにはるか先まで追い抜かれてしまうんだよ。
ないよりあったほうがいいに決まってる。
無くてもいいっていう後ろ向きな意見にいくら理由つけても
みっともないだけだな。あほくさ。
新たに作りやすVCLだからフリーコンポ公開サイトが山のようにある。
.NETではライブラリが公開されてないので作り難い。あほくさ。
220デフォルトの名無しさん:02/07/17 15:05
ふーん。
M$はユーザに耳を傾けてるから、
MFCもVBもVJ++もはるか先まで追い抜かれて捨てられたんだね。

言ってること変だよ。
コンポーネントを作りやすいからDelphi/VCLが普及したんだぞ。
デルギコ分かって無さ杉。M$ギコに名前変えろよ。
222Delフサギコ ◆zE1iiRdQ :02/07/17 15:48
∧,,∧
,, ゚Д゚彡
 ⊂ミ
>>221
コンポーネントが作りにくいから
DelphiよりVB(録ネ)が売れたんですか?
そうですか、そうですか…
回線切手九尾津って氏....というのは辞めときますタ

>>220まあ確かに、捨てられたのは酷すぎ
>>217Delって単語が入ってたからホットゾヌで見えなくなってた....
>ないなら作ればいいじゃん、誰かが動くもの作ってくれたからそれでいいじゃん、というのも大間違い。
剥げ同意。
>それが標準として存在するかが大事。
どうせなら、誰かが作ったものを某が標準採用スレ

>>218同意
>>219なるほど、納得
>>216
>既にあるライブラリを使うだけで満足?僕は嫌です
どうせ既に誰かが作ってるだろうライブラリを
自分で実装しなけりゃいけないのは俺は嫌
海千山千のライブラリを評価するのも嫌
>どうせ既に誰かが作ってるだろうライブラリを
>自分で実装しなけりゃいけないのは俺は嫌
>海千山千のライブラリを評価するのも嫌
こりゃマズイよ。
OOPではオブジェクトを拡張してオブジェクトに振る舞いを行わせるんでしょ。
関数ライブラリを作るのが嫌というなら分かるが、
オブジェクトに該当するコンポーネントの拡張が嫌とか、
他人が拡張したものを使うのが嫌なんて言うのおかしい。
>>219
コアのソースが公開されてることも知らない香具師が.NETを語ってる。あほくさ。
>>220
.NETというインフラが作られたのはVB・VC++・VJ++の不満な点をきちんと聞き入れたから。
某にはこんなことはできない。大して変わりもないものを半年単位でバージョンアップしてる。
こんな企業見たことない。
>>223
>OOPではオブジェクトを拡張してオブジェクトに振る舞いを行わせるんでしょ。

なんでいちいち拡張せなならんの?アフォですか?
建前

 アプリを作るということは、今までに無いものを作るということ。
 標準コンポーネントを貼って終わりレベルで作れるアプリなんてのはたかが知れているので
 何もかも標準で揃えるよりも、作りやすさを優先してくれた方が有り難い。

本音

 趣味プログラマーなので、凝る余地が無くなるのは嫌だっ

…です。

既に誰かが作ってるライブラリなら、有り難く貰ってくるだけです。
標準のパッケージに入れられてしまうと、改造も迂闊に出来なくなるので嫌です。
228Delフサギコ ◆zE1iiRdQ :02/07/17 16:10
  ミ,,゚Д゚彡
>関数ライブラリを作るのが嫌というなら分かるが、
OOPのVCLと関数ライブラのVCLを区別して
話した覚えはないですが。

>オブジェクトに該当するコンポーネントの拡張が嫌とか、
>他人が拡張したものを使うのが嫌なんて言うのおかしい。
マジレスなのですか?

俺は、VCL標準のFormドッキング拡張はイ・ヤ
他人が拡張したものでも、ださいヤツは使うのイ・ヤ
このままだとDelphi.NETが出る前に.NET 2.0が出るぞ。

http://www.eweek.com/article2/0,3959,373783,00.asp
>>OOPではオブジェクトを拡張してオブジェクトに振る舞いを行わせるんでしょ。
>なんでいちいち拡張せなならんの?アフォですか?

うわ。コンポの拡張もアプリの構築も同じオブジェクトの拡張で行うことを知らないやつだ。
こういうのがスタンダードなブビ厨。
>.NETというインフラが作られたのはVB・VC++・VJ++の不満な点をきちんと聞き入れたから。
はぁ?製品丸ごと捨ててるやん。ソースコードも破棄。

>某にはこんなことはできない。大して変わりもないものを半年単位でバージョンアップしてる。
Kylix、Del.NETとソースコードを継承してるじゃん。
アプリがユーザのデータ(この場合ソースコード)を守るのは大前提。
>228
>VCL標準のFormドッキング拡張
これこそ、標準でセンスの悪いものが取り入れられてしまうと嫌な例では…
標準で根幹に根ざしているものをもう一度作るのは実行効率も悪いので使わざるを得ません。
( 幸い動作がカスタマイズできる作りではありますけど )
>>230
うわ。オブジェクト指向の本質=継承ではないということを知らないやつだ。
こういうのがスタンダードなDel厨。(嘲笑激藁
>>231
>アプリがユーザのデータ(この場合ソースコード)を守るのは大前提。

.NETだって守ってるじゃん。
互換性を保つんじゃなくて、相互運用性を保つという形で。
>うわ。オブジェクト指向の本質=継承ではないということを知らないやつだ。
>こういうのがスタンダードなDel厨。(嘲笑激藁
うわ、M$の洗脳が解けてないやつだ。
M$がそれをアナウンスし続けて、
ひるがえってヘジに.NET=継承を作らせたのに。
>.NETだって守ってるじゃん。
>互換性を保つんじゃなくて、相互運用性を保つという形で。
これもM$の洗脳が解けてないやつ。
M$のアナウンスでは、
「マイクロソフトは今までのCOMを捨てたわけではありません」
と大声にして言ってたけど、図をみるとCOMが片隅にあって、
実際はインポートして動作させることが出来るだけ。
ブビ厨って思考を破壊されて、
VB捨てられて、
それでも、M$マンセーって踊ってて、
これからどうするの?
要はDelギコがDelphiより.NETが優れてることを認めたわけだろ。
言い換えれば、DelphiよりVB.NETが優れていると。C#もVB.NETも変わらんからな。
Del厨ももう時代遅れ確定だね。早く非を認めて乗り換えればいいのに。
Delphiユーザとデルギコを同等に見て貰うのは困る。。。
Del厨は複数言語使えるし、C#の理解も早いし、
某マンセーって踊ってるわけじゃない。
ブビ厨こそ大きな選択間違いだったことが明確になったね。
VBこそが一番利口な選択だよ。
バージョンアップのごとにより本格的なオブジェクト指向へとステップアップ。
>>240
20年遅れてるよ。後発であるのに言語的に優位な点が無いのもイタイ。
(この人たち一体何をやってるんだろう・・・・?)
Delギコさんの言っていることに賛成できないDelphiユーザーがここにも一名。

>240
バージョンアップ料金を払って欲しいMS的には利口な選択ですね…
>本格的なオブジェクト指向へとステップアップ
痛いを通りこして寒いよ。
.NETのOOP=クラスベースも本格的なものじゃない、ってのも知らないみたいだし。
タイトルに激しく矛盾してるスレだな。(嘲笑激藁
246Delフサギコ ◆VzDeLphI :02/07/17 17:21
ミ,,゚Д゚彡 なんか痛痛しい流れ蛾....

俺の主張は「もっと標準でいろいろ用意しろや」>某
C#にはいろいろ用意されているらしいよ(抑止欄)
ってことなのに

勝手に色眼鏡かけて、俺に賛成とか反対とか
.netが優れていることを認めたとか
脳内変換かけるなゴルァ
>>246
Delギコさんトリップ変えたの?
>俺の主張は「もっと標準でいろいろ用意しろや」>某
単にそれだけなら反対する人はいないと思いますが、193の2からの流れがありますから…。

自分がSetToStr/StrToSetが実装できないのを理由に謝罪を要求する姿が記憶に新しく…
ひょっとして自分が書けないから標準で実装しろと言っている…という邪推は失礼でしょうか。
>>248
Delギコではないが、脳内変換してないか?
250デフォルトの名無しさん:02/07/17 19:37
Del厨って怖いね。
フサギコはDelphiをよく使ってるからこそ、Delphiに足りないもの・こうすべきというのを
前向きに提言をしてるのに。
それなのに都合の悪いことを言われるとすぐに「こいつはDelphi使いじゃない、
一緒にしないでくれ」扱いだもんなあ。
なんかカルト教団の集団リンチ事件とよく似てるよ。

そういう意味でもやっぱりVBコミュニティはいいね。
初心者に優しいし、現場で使ってるからこそ、より良いものにしようというという
前向きな雰囲気に満ちている。
他の言語をけなしたり、VBが最高なんていう傲慢な人間もいない。
こういう言語が結局は最多のプログラマ人口を生み出して
「実際に動くもの・実際に使われているもの」を世に送り出してるわけだね。
>より良いものにしようというという

存在する機能を理解するのに精一杯にしか見えないけど。
ifの使い方とか。
要するに、文句をつければユーザー失格、質問をしても過去ログ読め、
そういうケチな人間の集まりなんだよ、Del厨は。(嘲笑禿藁
>>252
ちょっと同意。確かにこうなったらいいね。って言う発言には冷たい人が多い。
それだけ迫害を受けてきたってことだろうけどね。
俺ももうDelphiやめて.NETに乗り換えるわ。
なんかジエンぽいな。
↑↑↑ここまでジサクジエン↑↑↑
257255:02/07/17 20:43
俺はちがうぞ。
だってDelフサギコ氏好きだもん。
Delphi使えないけど(w
258デフォルトの名無しさん:02/07/17 21:02
ほらね。旗色が悪くなると自作自演ということにする。:-)
粘着がいるようだ。
>>211
>なんでソースを量的にしか計算できないDeath?

#遅レスだが、210 だから許して

えーと、足りる、足りない、という議論はそもそも量のことではないかね?
質ってことはないよね。D1 から使っているが、クラスはもちろん、関数も
劇的に増えてるよ。コンポーネントパレットは溢れ、ヘルプは関数のレファ
レンスで溢れ、これ以上増やして、それでフサギコさんの痒いところが
なくなる、とは思えないね。人が作ったかもしれない、関数、クラス、
コンポーネントをすべて標準で装備すべきですか? コンポーネントだけで
数千個になるよ。関数は万を越えるだろう。いくら増やしても、痒いところ
はでてくるのでは?
「隣の芝は青く見える」ということで、
フサギコにはC#はDelよりも便利そうなライブラリが
充実していると見えるのでは?
>>261
プログラミング言語は道具、という側面からだと、フサギコさんが
C#フサフサギコに変身したって、ちっともかまわないと思うよ。
263デフォルトの名無しさん:02/07/17 21:37
DelphiユーザとC#ユーザって争ってたの?
全然知らなかった・・・
>>248
自分って、自分自分いうの変じゃないかと自分はおもうわけよ。
>>263
争うも何もDel厨が一方的に因縁つけてきたわけで
Delphiに対して否定的な意見をすればVB厨扱い。
Macに否定的な意見をすればゲイツ信者扱い。
Del厨は狂信Macユーザに近い物があるな
.NetってパッケージをAPIのかわりに使う、MSのOSonOS戦略のことであって、
個別の言語仕様とは比較しがたいもんじゃないのか?
実際.Netは言語依存しないのが特徴で、Delphi.Netも出るわけだし。
>>265
そっくりそのままお前らに返す。
C#の処理系はタダ?
>>267
それがちゃんと分かってるなら、Del厨もはじめからこんな低レベルな争いはしないよ。(嘲笑激藁
>>267
言語機能的には思いっきり依存するけどね。
>>271
思いっきりって、どんなとこ?

274デフォルトの名無しさん:02/07/17 21:57
>>269
一番安いゴミ同然のStandardで1万(最適化無し・GUIアプリ作れない)
Professionalは8万
Delは無料で使えるのにね(嘲笑劇藁
>>274
>一番安いゴミ同然のStandardで1万(最適化無し・GUIアプリ作れない)

何だ?そのおもしろ情報は?

今のところC#の最適化コンパイラはない。
System.Windows.Formsの存在をしらんのか?っていうかそもそもFormエディタついてくる。
>>274
それはVC++だろ。アフォ
前スレはコード対決があって建設的だったのに。
Del厨だけになるとどうしてこうなるんだろ。
278デフォルトの名無しさん:02/07/17 22:07
ほほー
C#は最適化コンパイラが無いんですか(ゲラ
インタプリンタで最適化も無し(プ
Delphi以下どころかgcc以下ですね(屁
結局、性能的にはJAVA=VB=C#じゃん(ワラ
C#アプリは遅くて話しになりませんな(嘲笑劇藁
>>278
いや、正解。
でも、メリット見ないと時代に取り残されるぞ。
>>278 が、イタイのは認めるけど、論調を観てると同一人物がジサクジエンでVBとDelの話しをしているように思える。
もしかして・・・・厨ガッコーは既に夏休みなのか!?
>>279
いや、すでに時代に取り残された晒し者だよ。(嘲笑禿藁
283デフォルトの名無しさん:02/07/17 22:15
ぐにゅのコンパイラって糞なのか??
284デフォルトの名無しさん:02/07/17 22:16

こ の ス レ は す べ て D e l 厨 の 自 作 自 演 で す
>>283
糞じゃないッ!!!!
>>281
テスト期間だと思われ。
フサギコ → 無事Delphiから.NETに移行できた勝ち組
その他 → 未だにDelphiが最高だと錯覚してオナーニしてる負け組
288697:02/07/17 22:44
>>287
さらにその他のC#ユーザ → 誰も使わない(使えない)アプリを開発中
フサギコは.NETに来ないでください
ウザいヤツらが付いて来るんで
>>288

VECTOR で 公開

* 特に珍しい機能があるわけでもありませんが、exe サイズは小さいです。
ただし、実行するには .NET Framework (20MB) が必要です。(爆笑)
>>287
.Netは良さそうだけど、選択肢の一つだな。
MSが駄目になったらそれまでだし、Monoも完全互換にするとは言ってないし。
ガベコレは迷惑な事も多いし、I/O制御には向かないし、MSがマルチメディア系の
技術を公開するとは思えないし。
プラットフォーム非依存ってことはMSは主導権が取れないわけだし、そうすると
分裂の危機があるし。

結構、前途多難かもしれない。
>>290
.Net Frameworkをランタイムにしか見れないか・・・。
既成概念に捕らわれるって怖いことだなぁ・・・。
>>290
数年後。
古いOSもしくはIExが入っていない場合.NET Frameworkが必要です。
ほとんどの環境では.NET Frameworkは既に入っているので必要ありません。
>>292

「.NET Framework アプリケーション配布ガイド」より

これらのホワイトペーパーでは、dotnetfx.exe のことを、.NET Framework 用の
ランタイム要素を含んでいるセットアップファイルと呼んでいます。
>>293

そうだといいね。でも

ただし、実行するには .NET Framework (20MB) が必要です。

この注意書きは残るでしょ。
20MBのダウソなんて1分もかからないだろ。
実行するにはDirectX8が必要です。
と同じレベルだと思われ。
>>297

そうだね。DirectX8 を使えば、気持ちよくゲームができるからね。

ところで、 .NET Framework を使えば、ユーザにどんなメリットがあるの?
デメリットはない
>>296
かつての VB ランタイムはもっと小さかったよ。
でも、同機能なら VB アプリ使う奴いるかよ?
>>296
Del厨は未だにWin95使ってるデジタル社会の落ちこぼればかりです。
10Mbps級のブロードバンドに追いつくまで後10年はかかります。
実行するにはWindows98が必要です。
と同じレベルだと思われ。
>>299

デメリットは、同機能の VC や Delphi アプリより速くないのに、
実行するには .NET Framework (20MB) が必要、ということで十分では?
>>302

それだと、Windows98 ユーザしか使わないだろ?
>>303
DLL Hellとセキュリティ問題を解決できるのだから、20MBの代償なんて取るに足らない。
DirectX8を使ったゲームがしたければDirectx8をインストールする
.NET Frameworkを使ったソフトを使いたければ.NET Frameworkをインストールする
それだけの話だ。
>>305
>DLL Hellとセキュリティ問題を解決できるのだから

夢のようだね!まったく。
20MBなんで56Kモデムでも1時間もあれば落ちる
>>308
>20MBなんで56Kモデムでも1時間もあれば落ちる

どうぞC#で VC++ や Delphi では作れないような画期的なアプリを作ってくださいね。
310デフォルトの名無しさん:02/07/17 23:22
>>299
開発者にはメリット・デメリットがある
ユーザーにメリットはない
ユーザーにデメリットはある

D  e  l  厨  必  死  だ  な  (藁
>>300
>でも、同機能なら VB アプリ使う奴いるかよ?
機能は桁違い。
>>311
お前の方が必死に見えるが。
>>312
>機能は桁違い。

ほほう。なら、

C#で VC++ や Delphi では作れないような画期的なアプリを作るのも簡単だね。

メデタシ、メデタシ
>>314
同機能のソフトが短時間に作れるのはメリットだとは思うが。
まぁ、日曜プログラマにはあまり関係ない技術かと。
しかしDel厨マジでやばいぞ。
.NETの理解度はVB使い以下じゃん。
Delphi.NETが出てはじめて理解するならVB使いより2年は遅れることになるな。
>>316
はい、誰と誰のレスに問題があったか語ってくれ。
そいつがDel厨だという根拠も併せてな。
>>317
必死だな。( ´,_ゝ`)プッ
>>312
いつまでたっても
ユーザーの視点と開発者の視点が
区別できないのは初心者だからですか?
>>316

言語は道具、何使いがどれだけ遅れようと、関係ないだろ。
>>319
迅速なソリューション提供とか意味わかんないんだろうな。君も。
Del厨ってこんなにレベル低いの?
傍から見てても痛々しい。
VB使いの方がレベル高いね。
>>322
ワラタ
みなさんにとってはくだらない質問だと思いますが
もう一度質問します
どうしてもif文の使い方がいまいちわかりません

VBスレにはこういう楽しいのがいます。
>>324
別にいいじゃん。プログラミングそのものが始めたてなんだろ。
自分にはそういう初心者の時期がなかったとでも?
>>325
とりあえずこんなことわざわざ人に聞いたことはないですわ。
>>324
まあ、君みたいな年寄りはプログラミングを始めた頃にインターネットなんてなかっただろうからね。
>>321
.NETはこれから数年 商品に使えるレベルにはならないだろ
> 迅速なソリューション提供
ププププ
昔の蛇腹ーと同じ事いってるな
>>320
理解の早さは大事じゃないか(w
000010 CLASS-ID. HELLO.
000020 ENVIRONMENT DIVISION.
000030 CONFIGURATION SECTION.
000040 REPOSITORY.
000050   CLASS SYS-STRING AS "System.String"
000060   CLASS CONSOLE AS "System.Console".
000070 STATIC.
000080 PROCEDURE DIVISION.
000090 METHOD-ID. MAIN.
000100 DATA DIVISION.
000110 WORKING-STORAGE SECTION.
000120 01 MSG OBJECT REFERENCE SYS-STRING.
000130 PROCEDURE DIVISION.
000140   SET MSG TO "コボラーでも使える.NET".
000150   INVOKE CONSOLE "WriteLine" USING BY VALUE MSG.
000160 END METHOD MAIN.
000170 END STATIC.
000180 END CLASS HELLO.
332デフォルトの名無しさん:02/07/18 00:31
DLL Hellは何と読めば良いですか? デリヘルですか?
333デフォルトの名無しさん:02/07/18 00:52
>>331
なんだ?アセンブラかこれ??
>>333
COBOL.NET
ある意味、汗より見づらい。
COBOL.NETはどんな人向けなんだろ?
このコードのどこにメリットを見出せばいいのやら

改めてC#の易しさが分かる
うお!
メインフレーマー時代を思い出しちまったじゃねーか!
イヤな物貼りつけんじゃねーよ(w
.Netって、駄目だと思うよ。
MSの事だし、ぜったいバージョンアップとか要求してくるし、
期待して飛びつくと後でヒドイ目に遭いそう。

プログラミングの技術的にみて新しいことはないから、
今はJavaやりながら、見守るのが賢明だろうね。
すでにいろんなプラットフォームで動くんだし。
>>338
新しいものが見出せないのはあなたの目が(以下略
>>339
毎年の新しいものへの置き換えで売り上げを作り出してるWintelの戦略を見出せないのはあなたの目が(以下略
>>340
それに嫌気がさしてるならこの業界から去った方がいいよ。マジで。
>>341
目が無いやつはVBやってて業界去ってるよ。マジで。
>>342
あんた粘着だよ。マジで。
次に業界去るのはクロスプラットフォーム対応を.NETのみに賭けてて、
オプソの波に流されるやつでは?
VBだけで良いよー、から、.NETだけで良いよー、へ。
LinuxもSolarisも落ち目だし、そんなことしたがる奴なんていないよ。
落ち目といえば Windowsもね。 XPセールスあがってないじゃない
サーバ・クライアントのどっちの話をしてるんだ?
Linuxが落ち目ってどうやったらそう見えるんだろう?
オプソで構築されたWebサイト(オプソRDB入り)が流行ることがあっても廃ることは無いぞ。
349デフォルトの名無しさん:02/07/18 13:04
クライアント・サーバ共にWindowsの完全勝利ですが?
http://slashdot.jp/article.pl?sid=02/07/17/1656237&mode=thread
>>348
いいね。おもちゃで遊んでられる人は・・・
OpenOfficeとMozillaが出て、いよいよLinuxが盛り上がるかと思ってたけど、
結果は皮肉にも「Windowsでの方が使いやすいね」というのを思い知らせるだけに終わった。
オープンソースのソフトでさえWindowsがトップシェアなんだよね。
>>348
調子がいいのはRedHatだけ。
分かっていると思うけど、Linux = RedHatじゃないんだよ。
Linux業界そのものが駄目になってるね。
Kylixは大成功してるよNE!(プ
>>353
ええ。エンタープライズ版がよく売れてますよ。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )
 | 某|
 (__)_)
Delphiのいいところは、プログラミングもろくに知らない初心者でも
コンポーネントを落とすだけでプログラムが完成することです。
おかげで、素人に毛が生えたような自称プロを大量に生み出しています。
コミュニティのレベルも悲惨なまでに低いです。

その点、VB.NETは本格的なオブジェクト指向である上、非常に複雑なランタイム上で動くので、
きちんと仕組みを理解できない初心者には難しいと思います。

私の経験では、Delphi使いよりVB使いの方がレベルの高い人が多かったですね。
>355
前スレみたいにコード対決してもいいのですよ?

誰かお題よろしく。短く書けて興味深いやつ。
357プログラマー:02/07/18 14:05

Delphiはクロスプラットホーム C#は?(プ
Delphiはネイティブコード C#はインタプリ(略)(ププ
Delphiはアセンブラが使える C#は?(プププ
DelphiはDirectXが使える C#は?(ププププ
Delphiは無料版がある は5マ(略)(プププププ
DelphiはIEコンポーネントでブラウザが作れる C#は?(ププププププ

嘲笑劇藁 嘲笑劇藁 嘲笑劇藁 嘲笑劇藁 嘲笑劇藁 嘲笑劇藁
ププププププププププププププブププププ
>>357
なに馬鹿晒してんだよ(藁
>Delphiはクロスプラットホーム C#は?
3プラットフォームで動きます。

>Delphiはネイティブコード
動的コンパイルで生成されるネイティコードで動きます。

>Delphiはアセンブラが使える C#は?
使えません。セキュリティ上の理由で。

>DelphiはDirectXが使える C#は?
8.1では使えます。

>Delphiは無料版がある
SDKは無料です。

>DelphiはIEコンポーネントでブラウザが作れる C#は?
同じです。shdocvw.dllを利用します。
真面目な話、Delphiでセキュアなアプリって作れるの?
>>360
Del厨はセキュリティの重要性には気付いてないよ。
気付いてたらネイティブコードなんて賞賛しないよ。(プ
>>360
ネットワーク・Webアプリなんて誰も作れないし
ローカルなアプリも自分しか動かさないので
常にセキュアです。
つーか、テラリウムの例で赤の他人がC#で作ったコード(虫)を
自分のマシンで安心して動かせることに感動した。
(セキュリティーホール・バグが本当にないのが前提だが)
Delphiでセキュアな虫はつくれんだろう。バグはいくらでも作れるだろうが。
要は、Delphiは時代遅れということですな。(嘲笑激藁
あらゆる実用的な言語は 好きな言語のインタプリタなりコンパイラなりを作る事が可能です

Delphiでセキュアにしたければセキュアと思うインタプリタ言語を作ればよいでしょう
>>365
そういうのを車輪の再発明オナーニと言います。(プププ
>>365
つまりDelphiでVM作って別の言語で開発しろと。
厨房・粘着のスクツだな。
ほーんと。Del厨糞ばかり。
荒れた原因はフサギコという罠
Delphiってガベージコレクタないんだろ。ダメじゃん。
なあ、フサギコとDelフサギコって別人なんだろ?
あとDelフサギコもトリップが違うヤツが何人かいるんだろ?
もうわけわからん。
.NETを使う理由はただ一つ。セキュリティ。
DLL Hell解消ならXP以降はネイティブでもOKだし。
C#(Win版.NET)も、かなりの部分Delphiで作られていたりして。
>>374
それはない。
(Delphi使いとしても恥ずかしいスレになっているな。。。)
もっとマターリ議論しようぜ。
セキュリティったってC#だから優れてるのは何があるの?

ウイルスについては、
 将来 OSがいきなり.NET アプリを実行出きるとしても、今の所 PE で始動するわけで同じだし
>Delphiってガベージコレクタないんだろ。ダメじゃん
Del7で入っちゃう。入って欲しくないのに。
379デフォルトの名無しさん:02/07/18 15:27
Del厨はDelphiでVM作ってそのVM用DelphiコンパイラをDelphiで作って自称セキュアなアプリを組むのですね
380デフォルトの名無しさん:02/07/18 15:28
>>378
> Del7で入っちゃう。入って欲しくないのに。

今まで入っていなかったの!?
>>380
入ってるよ。馬鹿にすんな。
しかも実行速度を落とさないように
アプリケーション終了時にのタイミングで
一括して開放してくれるんだ。
>>381
自分でコントロールできないの?
駄目じゃん。(藁
383デフォルトの名無しさん:02/07/18 15:35
>>381
それってもしかしてCでmallocしてfreeしないのと同じ?(笑)
>>381
使われなくなったときに解放されずメモリリークするのはガベージコレクタとは言わない。
なぜガベコレが嫌いな奴がいるのかわからん。
>自分でコントロールできないの?
>駄目じゃん。(藁

この発言ダメダメだね。自分でコントロールしないからガベコレだよ。
>>386
自分でコントロール「も」できてこそガベコレだよ。能無し年寄りさん。(嘲笑激藁
>>387
なにがコントロールできるのか聞いてみたいな。
>>388
ブビ厨にメモリ関係を質問すんなよ。
彼らにはVBランタイムが確保してるメモリだけで十分なんだよ。
>>389
お前意味わかんなすぎ。
あたりまえだがVBは動的にメモリを確保できる。ちなみにガベコレ付き。
で、>386 は >387 に答えることができるのか?
392391:02/07/18 16:29
>386 → >387
>387 → >388
GC.enable
GC.disable
GC.start
>>389-390
ワラタ
あたりまえだがVBは動的にメモリを確保してもポインタ操作が無いので無意味。
メモリの確保にはNewを使いますが何か?
>>395
あたりまえだがJavaは動的にメモリを確保してもポインタ操作が無いので無意味。

なんていったら馬鹿にされるぞ。
能無し年寄りDel厨に解説してもどうせ分かんないよ。(嘲笑禿藁
GC実行のタイミング
コレクトする世代
コレクトされるオブジェクトのファイナライザ呼び出しの有無

あと何かあったっけ?
400デフォルトの名無しさん:02/07/18 20:13
具体的な話が出ると途端に黙り出すのが能無し年寄りDel厨の証拠。(嘲笑激藁
嘲笑 禿藁さんと、嘲笑 激藁さんは双子の兄弟?


あえて付けたすならコレクトの順番…ですか。
デストラクタ/ファイナライザで何かやっていると、順番が重要になることしばし。
Del厨静かになったな(ワラ
ブビ厨でも知ってるガベコレもまともに分かってないんだな。
完全に追い抜かされちゃったね。かわいそうに。
405デフォルトの名無しさん:02/07/19 03:13
セキュリティ関連のお題ということで、

管理者権限のあるユーザーのみが実行できるHello Worldプログラムというのはどう?
ブビではこれだけ。

Imports System
Imports System.Security.Permissions
Imports System.Security.Principal

Module Hello

  Sub Main()
    AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)

    Dim p As New PrincipalPermission(Nothing, "BUILTIN\Administrators")
    p.Demand()

    SayHello()
  End Sub

  Sub SayHello()
    Console.WriteLine("Hello World!!")
  End Sub

End Module
その2

Imports System
Imports System.Security.Permissions
Imports System.Security.Principal

Module Hello

  Sub Main()
    AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)

    SayHello()
  End Sub

  <PrincipalPermission(SecurityAction.Demand, Role:="BUILTIN\Administrators")> _
  Sub SayHello()
    Console.WriteLine("Hello World!!")
  End Sub

End Module
VB6にあるのはガベコレではないよ
それと同じものはDelphiにもある(Variant型のCOMサポートの事)し、
それより優れたものもDelphiにある(Interface型の事)

>>406-407それをDelphiで使うとすると
http://www.borland.co.jp/tips/cbuilder/cb014/logonusr2.html
ここはDelphiとC#のスレだろ、なんでVBが出てくるんだ?
410デフォルトの名無しさん:02/07/19 12:11
>>409
それはDelphiがVB.NETにすら劣ってるからじゃん。(嘲笑激藁
>>408
VB6に話をそらしたり、リンクだけ貼ってめんどくせーソースを隠したり、
Del厨ってどうしてこう姑息なんだろう。
>>409
荒らしたいだけ。嘲笑激藁厨っていつも出てくるよ。

>>412
それはブビ厨。
Del厨uzai
話をC#とDelに戻そうぜ。
Del厨ってさ、根拠のない.NET批判ばかりするけど、
具体的な反論・コードが出てくると途端に黙りだすよね。
>>409
VB.NETのコードだろうとC#のコードだろうと変わりないじゃん。
なんでVB?と言ってるDel厨はBCBのコードを出してきてる
419デフォルトの名無しさん:02/07/19 12:40
>>416
それもブビ厨。ブビ厨には理屈がない。
デル厨は逆にやたらとコード書きたがる。
>>419
>>406-407のDelphi版は?
>>420
Delphi.NET版で同じこと書く。
しかし、VBもほんと進化したと思う。
Delphiを超えたね。
心配無い。記述の面で、C# > VB.NET なのはM$の公式アナウンス。

次に、Delphi.NET = C# > VB.NET となる。

最後にLinuxでは、Delphi > C#@.NETランタイム
>>408
COM使ったときだけ解放処理が自動で行われるのね。でも普通のクラスはだめじゃん。
VBは普通のクラス(クラスモジュール)でも解放処理は自動で行われるよ。
COMを使った例外的な場合のみ解放処理が行われるDelphiと違って
常に解放処理が行われるVBはガベコレと同等といってもいいと思う。

VBよりすぐれたもの(Interface型)ってVBのインタフェースに比べて何がすぐれてるの?
まさかVBにインタフェースがあるのを知らないで言ってるってことはないよね。
>記述の面で、...
>次に、Delphi.NET = C# となる。
これはありえない。今C#にやってるけど
野暮ったいObject Pascalから開放されてとても幸せ。
>>424理解してないものにわざわざ反論しなくていいよ。
たまに開放してくれなくて困るんだよな。特にBOCのやつ。
>>425
そういう意味の記述じゃない。
出来る出来ないという意味で、
VB.NETでは記述できないものがある。
>>426
Interface型のこと? 反論じゃないよ。聞いてるんだよ。

   ∧∧          ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ( ゚Д゚)ll__      ( ´Д`)< ない機能は自分で作ればいいじゃーん
  /⊃||ニ||   |=-    (    )  \_________
〜/  /  ll ̄ ̄      | | |
 ∪∪            (__)_) ←Del厨

☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) <  Del厨の回答まだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
ガベコレに付いては>>381で結論が出ているが。
interfaceやcompositeは意味合いが違う。
インターフェース型はVB.NET で採用されてる
Amazon.comのウェブサービスを使ったサンプル。
MadonnaのCDを検索。

Imports System

Module AmazonSearchTest

  Sub Main()
    Dim request As New ArtistRequest()
    request.artist = "Madonna"
    request.page = "1"
    request.mode = "music"
    request.tag = "webservices"
    request.type = "lite"
    request.devtag = "your-dev-tag"
    request.version = "1.0"

    Dim service As New AmazonSearchService()
    Dim productInfo As ProductInfo = service.ArtistSearchRequest(request)
    Dim details As Details() = productInfo.Details

    Dim d As Details
    For Each d In details
      Console.WriteLine("{0} : {1}", d.ProductName, d.OurPrice)
    Next
  End Sub

End Module

' wsdl /l:vb http://soap.amazon.com/schemas/AmazonWebServices.wsdl
' vbc /t:library /r:System.dll /r:System.Web.Services.dll /r:System.Xml.dll AmazonSearchService.vb
' vbc /r:AmazonSearchService.dll /r:System.dll /r:System.Web.Services.dll Test.vb
435デフォルトの名無しさん:02/07/19 16:47
>>434
何気に残酷だね。Del厨にはどうやっても真似できないサンプル示すなんて。(嘲笑激藁
>>435
俺もちょっとそう思った。(w
けど何でVB?
>>424
VBの普通のクラスが、レジストリに登録しないってだけのCOM互換で重いからでしょ…。
Delphiでも同様なものは作れるが、手間と効率が悪いので誰も使わない。
コピペのサンプルがたまたまそうだったから。
439デフォルトの名無しさん:02/07/19 17:07
>>435
Delphiならブラウザコンポーネント貼り付けるだけで作れますが、何か?
>>439
同じDel使いとしてその反応はさすがに・・
>>432
ガベコレに付いては>>384で反論されているが。
議論じゃなくて煽り目的だから何言っても無駄。察してよ。
Delphiならたった一行・・・
CreateProcess('>>434のEXE', ...);
>>443
Delphiじゃなくバッチファイルを使ったほうがいいよ。
program Account;
{$APPTYPE CONSOLE}
uses Windows, SysUtils;
type TWinAccount = class(TObject)
 private function GetUserName: string; function GetDomain: string; function GetAccount: string;
 public property UserName: string read GetUserName; property Domain: string read GetDomain;
 property Account: string read GetAccount;
 end;
function TWinAccount.GetAccount: string;
begin Result := Domain + '\' + UserName end;
function TWinAccount.GetDomain: string;
var SidSize, DomainSize: DWORD; SidNameUse: SID_NAME_USE; SidPtr: PSid; User: string;
begin User := UserName; SidSize := 0; DomainSize := 0;
 LookupAccountName(nil, PChar(User), nil, SidSize, nil, DomainSize, SidNameUse);
 GetMem(SidPtr, SidSize);
 try SetLength(Result, DomainSize - 1);
  if not LookupAccountName(nil, PChar(User), SidPtr, SidSize, PChar(Result), DomainSize, SidNameUse) then
   RaiseLastOSError;
 finally FreeMem(SidPtr);
 end;
end;
function TWinAccount.GetUserName: string;
var NameSize: DWORD;
begin NameSize := 256; SetLength(Result, NameSize);
 if not Windows.GetUserName(PChar(Result), NameSize) then RaiseLastOSError;
 SetLength(Result, NameSize - 1);
end;
var Ac: TWinAccount;
begin Ac := TWinAccount.Create; WriteLn(Ac.Account); Ac.Free;
end.
>>408のWhoAmIを移植。
時間がないのでsuの方は誰か頼みます。
Delphiのコードは貼っても読めないので貼るだけ無意味。
>>447
ちょっとまて。
コードで議論をしようとしてきたのはVB側じゃないか。
煽り目的の奴に(略
450デフォルトの名無しさん:02/07/19 19:03
これまでの議論を読む限り、完全に VB > Delphi だね。
C#はどこに行った?
>>450
吉本系?
ブヴィ房相手じゃ役不足
Javaもまぜてください。
熱くなるだけ無駄。無駄。
455デフォルトの名無しさん:02/07/19 19:17
   /⌒ヽ
  / ´_ゝ`)
  |    /
  | /| 
  // | |
 U  .U
もはや完全に決着がついた。
負けたDel厨はコピペ荒らしを始めたようだ。
DEL厨ってこんなに痛かったかな。
DELに対して特別な感情もなかったが、
このスレ見てると痛々しいな。DEL厨って。
それにしてもブビ厨の成長が著しい。
うむ。俺たちは歴史的な瞬間を見てるのかもしれない。
ブビ厨がDel厨を越えた瞬間を。
死ね・くたばれ・消えろ・失せろ・潰れろ・馬鹿・あほ・間抜け・ドジ。
ポンコツ・トンチキ・ガラクタ・クズ・ゴミ・カス・最低以下の下劣・下等種族。
劣等種族・下衆野郎・腐れ外道・邪道・外道・非道・ウジ虫・害虫・ガン細胞。
ウィルス・ばい菌・疫病神・病原体・汚染源・公害・ダイオキシン・有毒物質。
廃棄物・発ガン物質・猛毒・毒物・アメーバ・ダニ・ゴキブリ・シラミ・ノミ。
毛虫・蠅・蚊・ボウフラ・芋虫・掃き溜め・汚物・糞・ゲロ・糞虫野郎・ほら吹き。
基地外・デタラメ・ハッタリ・穀潰し・ろくでなし・ごろつき・ヤクザ者。
社会の敵・犯罪者・反乱者・前科者・インチキ・エロ・痴漢・ゴミ・シデムシ。
ゴミ虫・毒虫・便所コオロギ・詐欺師・ペテン師・道化師・危険分子・痴呆・白痴。

魔物・妖怪・悪霊・怨霊・死神・貧乏神・奇天烈・奇人・変人・毒ガス・サリン。
ソマン・マスタードガス・イペリット・クソブタ・ブタ野郎・畜生・鬼畜・悪鬼。
邪気・邪鬼・ストーカー・クレイジー・ファッキン・サノバビッチ・シット・ガッデム。
小便・便所の落書き・不要物・障害物・邪魔者・除け者・不良品・カビ・腐ったミカン。
土左衛門・腐乱・腐臭・落伍者・犯人・ならず者・チンカス・膿・垢・フケ・化膿菌。
放射能・放射線・鬼っ子・異端者・妄想・邪宗・異教徒・恥垢・陰毛・白ブタ。
ケダモノ・ボッコ・ろくでなし・VXガス・ヒ素・青酸・監獄・獄門・さらし首。
打ち首・市中引きずり回し・戦犯・絞首刑・斬首・乞食・浮浪者・ルンペン・物乞い。
不良品、規格外、欠陥品、不要物、埃、掃き溜め、吹き溜まり、塵埃、インチキ、居直り。
ふてぶてしい、盗人、盗賊、残忍、残酷、冷酷、非情、薄情者、ガキ、クソガキ。
ファッキン、ガッデム、サノバビッチ、シット、ブルシット、ボロ、ボッコ、妄信。
狂信者、有害物質、毒薬、猛毒、発ガン物質、誇大妄想狂。
他人の悪口は山ほどほざくが反省は一切しないガキ根性野郎、腐れ根性。
腐って歪んだプライドの持ち主、狭量、ボケ、ボケナス、アホンダラ、たわけ。
怠け者、無能、無脳、脳軟化症、思考停止、アメーバ、単細胞、蠅、蚊、カビ。
腐敗、膿、下劣、下等生物、劣等種族、クレイジー、マッド、ストーカー。
人格障害、守銭奴、見栄っ張り、ええ格好しい、粗製濫造品、偽物、似非。
イカレ、乞食、浮浪者、ルンペン、狼藉者、放蕩息子、道楽息子、極道息子。
迷惑、困りもの、厄介者、村八分、異端者、アウトサイダー。
やっぱりDelphiはウェブ関連とセキュリティ関連がダメダメなんだね
だ か ら、
このスレはC#vsDelphiだろ?
VB厨はいね!!
VB.NETは中ボス、C#はラスボス。
中ボスも倒せないヤシがラスボスと闘う資格などない。
>>462
VB厨にぼこぼこにされてんのに
まだ傷口を広げる気なのですか?
C#厨は相手にもしてないと思われ。こんな糞スレ。
VB厨を召還しているのはたいがいDel厨。でやられてる(w
466462:02/07/19 20:12
べつにどっちが勝つとか負けるとかじゃなくて、
こういう用途にはC#、ああいう用途にはDelとかっていう
議論がしたいんだYO!
VBがからむと荒れるんで、VB厨逝ってよし!!
>>466
ほら(w 最後の一行で自分からVB厨を召還しようとしている。
つぎのお題はなんだ?
VBは、C#やDelphiのような汎用プログラミング言語というよりは、
コンポーネントを操作する「スクリプト」に近いから、性質が少し
違うんだよね。VBで開発している人から見れば、C#やDelphiは、
VBのために働く(VBで使うコンポーネントを開発する)「召使」な
のかもしれない。

まあ、C#やDelphi(特にWinのほぼ全ての機能を直接扱えるDelphi)
使いから見れば「自分では何もできないVB」ってことになるんだろう
けど。
M$が糞なのでBorlandの勝ち。
確定。
>>470
ネタはいらん。
>>462
用途もなにも、全てC#(かDelphi)でいいじゃん。
切り分けて使う必要性なんて無いよ。
>>470

C#もMSというよりはBorland(Delphi)とSUN(Java)が生み出した、という面
があるし、MSはよそから持ってくるのがうまいんだよね。ただ、どっちが「勝ち」
かと言えば残念ながら利益を出しているMSか。
Del厨が必死で言い訳するスレはここですか?
VB厨必死だな。
>>475
またVB厨召還してやられたいんですか?
AUTO ONANI SYSTEM 略して AOS
Delフサギコはいつもスレ立て逃げですか?
479Delフサギgoコ :02/07/19 21:32
    ∧,,∧  全員死ね!
   ミ,,゚Д゚彡
    ミ つ旦)~~  
  〜と,,,~),,~) 
480デフォルトの名無しさん:02/07/19 22:22
動的にMSILを吐き出して、そのまま実行するサンプル。

Imports System
Imports System.Reflection
Imports System.Reflection.Emit

Module DynamicAssemblyTest

  Sub Main()
    Const output_name = "Hello.exe"
    Dim domain As AppDomain = AppDomain.CurrentDomain

    Dim asm_name As New AssemblyName()
    asm_name.Name = "Hello"

    Dim asm As AssemblyBuilder = domain.DefineDynamicAssembly(asm_name, AssemblyBuilderAccess.Save)
    Dim mod_ As ModuleBuilder = asm.DefineDynamicModule(output_name, output_name)
    Dim type As TypeBuilder = mod_.DefineType("Hello", TypeAttributes.NotPublic + TypeAttributes.Class)
    Dim main As MethodBuilder = type.DefineMethod("Main", MethodAttributes.Public + MethodAttributes.Static, Nothing, Nothing)

    Dim il_gen As ILGenerator = main.GetILGenerator()
    il_gen.Emit(OpCodes.Ldstr, "Hello World!!")
    il_gen.Emit(OpCodes.Call, GetType(Console).GetMethod("WriteLine", New Type(){GetType(String)}))
    il_gen.Emit(OpCodes.Ret)

    type.CreateType()
    asm.SetEntryPoint(main)
    asm.Save(output_name)

    domain.ExecuteAssembly(output_name)
  End Sub

End Module
またDel厨追い詰めてる(ワラ
>>480
つーか、VB.NETで書くのやめれ。
DelphiからMSIL吐き出すなんて地獄だよ。( ̄ー ̄)
正直、.NETだのJavaだの主にサーバーサイドだしどーでもいい。
485Delフサギコ ◆VzDeLphI :02/07/19 23:07
                _____
      ∧,,∧___   / ちかごろ
    /ミ,,゚Д゚ミ/\<  C#MLの投稿数が
  /| ̄∪∪ ̄|\/ \_激減している気が汁ぅ
    |____|/
usersはドキュソのスクツ
487Delフサギコ ◆VzDeLphI :02/07/19 23:21

                _____
      ∧,,∧___   / にタンねるより
    ⊂ミ゚Д゚;ミ/\<  マツかと思われ
  /| ̄ ̄∪ ̄|\/ \_
    |____|/
>>487
そう?こっちの方がはるかにマシだよ。
>>488
同意、MLなんて糞の役にものたたんな。
usersはググるとわりと上位にくる。
よって初心者のスクツに。。。
にタンねるはこのスレをみればわかるかと。
491Delフサギコ ◆VzDeLphI :02/07/19 23:33
    ______
     | 躁重い    |
     | 鯛のDeathね.|
     |______|   _____
      ∧,,∧.||__   /
    /ミ,,゚Д゚Φ/\< はみちちです 
  /| ̄∪ ̄ ̄|\/  \
    |____|/      ̄ ̄ ̄ ̄ ̄
>>491
「こっち」ってこのスレじゃないよ。(w
この板全体として。
>>491
そのカンバン、なんて読むの?
そうおもいたいのですね
>>492
このスレもいい時はいいよ。
>>480のIL直書きなんてはじめて知ったし。
>>480
>動的にMSILを吐き出して、そのまま実行するサンプル。

動的にネイティブコード吐き出してそのまま実行させることはできないの?

Delphi だと楽勝ですが。
>>496
セキュリティ上に理由により、ネイティブコードは容認できません。
Delphiは動的にウイルスを作成して、実行できるということですね?:-)
>>MLなんて糞の役にものたたんな。

理解できない糞プログラマには、確かに役に立たんね。
>>497

不便な言語なんですね。
テキストエディタもセキュリティー上作れないとか?
偽装工作員にダマされるなよ。
>>496
まじで!?楽勝なの!?
涙目で書き込んでるDel厨・・・
>>501

はい、どんなコードも F9 押すだけです
あ、そ・・・
なんか哀れだなー。
デスクトップで思考回路が止まってしまってるDel厨。
なんか哀れだなー。
ILで思考回路が止まってしまってるVB厨。

507デフォルトの名無しさん:02/07/20 00:33
つーか真面目な話、DelphiよりVB.NETの方が高度なことができるよね。
ここのサンプルコード見てる限り、VBの圧勝だよ。
>>テキストエディタもセキュリティー上作れないとか?

そうなんです。セキュリティー上なんにも作れません。
IL 吐いて Framework にお願いすることは得意なんですけど。
>>DelphiよりVB.NETの方が高度なことができるよね。

そうだね。正確にいうと高度なことしかできない。
>>そうなんです。セキュリティー上なんにも作れません。

あっ、そうなんだぁ。

ところで、.NET 上のセキュリティーって、どこが保証しているの?
まさか MS とか。そうか、MS はこれまでセキュリティーホールを
一度もつくったことがないからね。おめでたいね。
511デフォルトの名無しさん:02/07/20 00:54
というか、Del厨もほんと目を覚ました方がいいよ。
このスレではVB.NETでコードが出てるけど、ほんとはJScript.NETでもCOBOL.NETでもいいんだ。
つまり、DelphiはCOBOLにすら劣ってるんだよ。
DelphiはもはやWindows上で孤立しちゃってるよ。先はないね。
Del厨ですが、とっくに C# やってますが。
>> DelphiはCOBOLにすら劣ってるんだよ。

あのね、そもそも対照プラットフォームが違うもので言語の優劣という
のは無意味では? .NET の言語は、アセンブリを操るスクリプトみたいだから
言語間の差はないのね。

VB も C# も C++ も COBOL と同等、ということでしょ?
やぁ、みなさん、晴れてコボラーの仲間入りですね。おめでとう!
515デフォルトの名無しさん:02/07/20 01:09
>>513
それが分かってるなら C# vs Delphi という構図がそもそも成り立たないことも分かってるよね?
C#では負けを認めても、VB.NETになると必死に負けを認めないDel厨は変だね。
516デフォルトの名無しさん:02/07/20 01:12
でもさ、M$ のやることだろ。
>>515
というか、Delphiに負けるような言語ってあるの?(嘲笑禿藁
>>それが分かってるなら C# vs Delphi という構図がそもそも成り立たないことも分かってるよね?

はい、ここのスレタイは vs ではなく、仲良し です。マターリ と行きましょう
519デフォルトの名無しさん:02/07/20 01:17
>>516
それを言ったら全部お仕舞い(w
>> C#では負けを認めても

誰が? 勝手に決めるなよ。優劣の比較は無意味である、と言ってるのに。
無意味でも無いと思うけど
>>520
人が決めるのではなく、客観的に見て勝負がついてる
>>522
そう。客観的に見てVB.NETがDelphiに勝ってる。
客観的? 笑わせるなよ。優劣の比較が無意味である、という主張を認めながら
勝敗を議論するのは矛盾している、と >>515 に言ってるのよ。
>>524
ムキになるなよ。いくら完敗したからって。(嘲笑激藁
>>525

ムキになるなよ。いくら矛盾を衝かれたからって。(嘲笑激藁
っていうか、わざわざレベル下げてVB.NETでコード出してるのに
Del厨対抗できてないじゃん。
>>527

Delphi は IL 吐けません。いくら VB 厨でもいいかげん理解してくれよ。
やぁ、Del厨以外のみなさん、晴れてコボラーの仲間入りですね。おめでとう!
おっ、そうなんだぁ。.NET って COBOL でもできることしかできないだね。
>>530

はい、>>511 によると JScript.NET とも同等程度だそうです。
ふーん、面白く無さそうだね。
インラインアセンブラでグラフィック処理とかやっていい?
もちろん.NETがそんなに素晴らしい環境なら、速度で追いつくことも可能でしょ?
他にはフックとか、DirectX"7"でサーフェースのDCを弄ぶとか。

ネットというかセキュリティ関連は、確かにManaged環境にネイティブが勝てる筈も無く。それは認める。
なので今度はネイティブ有利な話題に移させて貰おう。

別にManaged C++に応援を頼むことは構わない。
祭りは終わったか?また来週の平日勤務時間からか?
御前等妄想ばかりしないで仕事しろ!
535デフォルトの名無しさん:02/07/20 09:27
>>533
お前のアセンブラの腕によるな。
下手な奴がアセンブラ使うとCLRに負けるぞ(w
>>533
> 他にはフックとか、DirectX"7"でサーフェースのDCを弄ぶとか。
可能
VB厨はな、仕事が無くなるから業界紙の受け売り
情報をかき集めるのに必死なんだよ!!

Del厨もマッタリしてないで彼等ぐらい必死になれよ!!
>536
んー…まあそうなんだけど、それならDelphiでもごりごり書けば何でもできるっつうことで、
書き易さの比較としてはアリではないかと。
>>538
Delphiの方が書きにくいって意味ね。
1994年生まれの古典的ツールと2002年生まれの新世代ツールを比べること自体意味なし
541デルファイの名無しさん:02/07/20 14:01
>>535
うっ…そう言われると自信がありません。(MMXとか知らないし)
とりあえず適当にでっち上げた2値化処理です。添削よろ
640*480の32bitビットマップが1回10〜11msec(100回の平均)でした。モバイルPentiumV750。

asm
 push ESI; push EDI
 mov EAX, H; mov ECX, W; mul ECX; mov ECX, EAX
 mov EDI, ScanLine0; mov EAX, W; shl EAX, 2; add EDI, EAX
@L:
 sub EDI, 4
 movzx ESI, byte[EDI]
 movzx EAX, byte[EDI + 1]
 movzx EDX, byte[EDI + 2]
 add ESI, EAX
 add ESI, EDX
 cmp ESI, 127 * 3
 ja @A
 mov [EDI], 0
 loop @L
 jmp @Leave
@A:
 mov [EDI], $ffffff
 loop @L
@Leave:
 pop EDI; pop ESI
end;

なお、C#でもBitmap.LockBitsでメモリポインタが取得できるところまで確認。
速度を求めるなら、DelphiやVC++で実行ファイル化ってのは今後も
残るだろうね。C#だと、どうしても速度や機能の制約は受けるわけ
だし(それでもVBよりはましかもしれんが)。
C# よりも Delphi の方が
(名前が)書きにくい
俺の思い違いかもしれないけど、.NETで
「インストール時にネイティブコードへ変換」ってのがなかった?
それならDelphiやVCと速度はほとんど変わらんはずだよね。
>>544
原則.NETも実行時はネイティブのはずですけど、
最初からネイティブコードを想定して書けなかったり、全てがクラスである仕様がオーバーヘッドになったりで
やっぱ差は出てくるのではないかと。

ちょっと試した感想としては2倍差ぐらい。
でも浮動小数点演算では希にC#の方が速い場合もあったりして驚きました。
いちばんのネックはランタイムの初期化とロードでしょ。
JIT自体はそれほどのネックじゃないので、PreJITしてもそれほど大きな効果はないよ。
それと、フルネイティブにしても、GCのロジックを持ってたり
スレッドプールを抱え込んでたりしたら、今の.NETのパフォーマンスと
それほど変わりはなくなると思うよ。
547デフォルトの名無しさん:02/07/20 15:39
いずれにしてもDel厨は.NETを知らなすぎ。
ブビ厨ですら常識なことも分かってない。
もっと勉強した方がいいよ。
Delphi.NETでブビ厨に遅れて.NETに参入してくるわけだし。
このままだと大恥かくだけだよ。
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生!>>533=541のより速いのあっさり作れました!
 _ / /   /   \ 大した事出来ない奴に限ってインラインアセンブラとか持ち出す
\⊂ノ ̄ ̄ ̄ ̄\  \ 例のパターンのようです!
 ||\        \  \______________________
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
>548
結局使う奴の技術次第。
DelもC#も厨房はキッチリ扱えないってこった。
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生!ちなみにうちの環境で8.5msecから5.5msecになりました!
 _ / /   /   \ 大して最適化技術の無い僕でもあんなコードは書きません。
\⊂ノ ̄ ̄ ̄ ̄\  \______________________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||

    >>533「インラインアセンブラでグラフィック処理とかやっていい? 」
           とか言ってんじゃないよワショーイ...
       ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |           u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
551デフォルトの名無しさん:02/07/20 18:08
>>540

2002年生まれの新世代ツールを使わないと勝てなかったVBって
ことになるね。
DelphiなりJavaなり使ってればC#やら.NETやらすぐ使えるのに
今ごろになって必死にお勉強しなきゃならんVBと比べてるのがイタイ
どっちも使えてりゃその時々で最適なもの選べばいいだろ
>>552
ふふっ。言語を叩く奴ほどイタイ奴はいないね。
サーバでサービスとして動かすアプリを作る場合、
.NETは簡単なのか?
>>554
もちろん簡単
あれだけ大々的に宣伝してるのに簡単じゃなかったら悲惨だろ.NETてなに?ってなっちゃうよ
じゃあ、 inp 命令を素通しするだけのサービス書いてみて
シーーーーー・・・・ン・・・・・
インポ命令?
VB厨はな、やっとオブジェクト指向言語の
仲間入り出来たからうれしくてたまらないんだよ!!
Del厨もそれぐらい察してやれよ!!
borland.comにping送り続けるサンプルならいいよ
通報しますた。
>>548=550
541が大したことないのは自分でも認めるが、
それより速いコードとやらを提示してくれないと貴方の言うことも信じないぞ(w
564550:02/07/21 00:18
>>563
         ンな事したら俺よりハイレベルな人に突っ込まれるのが
                オチじゃねーか ワショーイ...
       ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |           u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
>>564
なかなか愉快な人だな(笑
ただの道程だろ?
君等激藁激藁ってへらへらやってる場合じゃないぞ!!
米国のITバブルの余波が.NETで日本にも来るんだよ!!
インドや中国のプログラマが大艦隊で押し寄せて来るんだよ!!
なんとかしろよ!!
>>567
日本には神風があるから大丈夫
569550:02/07/21 01:09
>>563
納得いかないだろうからお見せします(ポッ
    MOV     ECX,Width
    IMUL    ECX,Height
    MOV     EDI,BtmLine
    MOV     ESI,127*3+1
@L: MOVZX   EAX,BYTE PTR [EDI+0]
    MOVZX   EBX,BYTE PTR [EDI+1]
    MOVZX   EDX,BYTE PTR [EDI+2]
    ADD     EAX,EBX
    ADD     EAX,EDX
    CMP     ESI,EAX
    SBB     EAX,EAX
    AND     EAX,0x00FFFFFF
    STOSD
    DEC     ECX
    JNZ     @L
※長くなるので入り口と出口のPUSH、POPは省略
570550:02/07/21 01:16
(;´Д`) 127*3+1 →127*3
>>568
そんなもの信じてるから日本は戦争に負けて未だに韓国から
愚痴られるんだよ!!
ネタニマジスレカコワルイ
>>569
SBB…そうかぁ。
分岐を無くせないかは一応考えたのですが、SETXXを使うと余計に遅くなったので諦めてました。
勉強になります。

ちなみに541と同じ条件で計測すると、1回平均9.7msec前後でした。

次はC#で同様のものを作ってみるか…。
(もちろんアセンブラは使えませんしif文も使わざるを得ないでしょうけれど)
574550:02/07/21 03:14
>>573
        遅くなってる最大の原因は
   メモリアクセスしていく方向が後ろになってる事なんだよ ワショーイ...
       ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |           u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
575550:02/07/21 03:16
(;´Д`) なんか俺の日本語変だ・・・
576550:02/07/21 03:35
ようはビットマップの最後のラインから順方向にアクセスするようにすれと言いたかった。
>>569のBtmLineはDelphiでTBitmap使ってるなら
BtmLine := Bitmap.ScanLine[Bitmap.Height - 1] で求める。
試しに541のコードを方向だけ順方向に変えてみましたが、速度的にそう変わらないようですけど…。
( loopをdec, jnzにしたら速くなりました。じゃあloopって何のために… )
578550:02/07/21 04:24
>>541というか、まんま>>569を使っても大して速くならないとしたら環境の違いのせいか・・・
あとLOOPが速いのは386あたりまで。

   とにかく、俺らみたいにたいした最適化もできない奴らが
     アセンブラ使って〜とかアセンブラ使えば〜とか
      言うもんじゃないんだよ ワショーイ... …ネル。
       ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |           u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
はい…以後気をつけます。
(;´Д`) ワショーイ こわひ…
581無責任だが:02/07/21 12:13
じゃアセンブラを使わないコードで 24bitColor -> 1bitへの変換
輝度については上のと同じ単純加算方式

procedure cvtmono24(src,dst:TBitmap;kido:DWORD);
 type ADWORD3 = array[0..2] of DWORD;
 var s:^ADWORD3;//24bitColor
 function cv8:BYTE;//6word=24BYTEを処理する
 var i:Integer;
 var a,b,c,d:DWORD;
 begin
  //baaa
  //ccbb
  //dddc
  for i:=0 to 1 do begin
  b:=s^[0];
  a:=(b and $FF00FF)+((b shr 8) and $FF);
  a:=( a shr 16)+(a and $1FF ) ;
  c:=s^[1];
  b:=((b shr 16) and $FF00)+(c and $FFFF);
  b:=(b and $FF)+(b shr 8) ;
  d:=s^[2];
  c:= (c shr 16) +( (d and $FF) shl 8);
  c:= (c and $FF)+ (c shr 8) ;
  d:= d shr 8;
  d:= (d and $FF00FF) + ((d and $FF00) shr 8);
  d:= ( d shr 16) + (d and $1FF) ;
  result:=( result shl 1) + ( ( a-kido) shr 31);
  result:=( result shl 1) + ( ( b-kido) shr 31);
  result:=( result shl 1) + ( ( c-kido) shr 31);
  result:=( result shl 1) + ( ( d-kido) shr 31);
  inc(s);
  end;
 end;
var i,j,d,Width:Integer;
var p:^BYTE;
begin
if src.PixelFormat<>pf24bit then exit;
 Width:=src.Width;
 dst.Width :=Width;
 dst.Height:=src.Height;
 dst.PixelFormat:=pf1bit;
 for i:=0 to src.Height -1 do begin
  p:=dst.ScanLine[i];
  s:=src.ScanLine[i];
  for j:=0 to (Width-1) div 8 do begin p^:=cv8;inc(p);end;
 end;
end;
582デフォルトの名無しさん:02/07/21 12:37
DelphiってGDI+使えるの?
あ、XPそのものが駄目なんだっけ。失敬失敬。(プ
GDI+も使えるよ。自前で定義すれば
DelphiってXSLTとかXPathって使えるの?
使えるわきゃないか。(ギャハ
>>584 使えるよ?
俺のマシンだとこれでも>541より速い。>569には負けるが。
素人はコンパイラにまかしとけってこった。

Byte* p = 底のラインのアドレス
int l = 幅×高さ×4

for (int i = 0; i < l; i += 4)
{
if (p[i] + p[i+1] + p[i+2] < 127*3)
*(DWord *)(p + i) = 0;
else
*(DWord *)(p + i) = 0xFFFFFF;
}
>>582
http://www.progdigy.com/

>>586
反省してますからそう責めないで〜
(一応loopをdec+jnzにすれば541も少しだけ速くなります)
588無責任だが:02/07/21 13:49
>>581 あ、色が反転してしまうので result:=not Result; でも入れて下さい

この手の処理は、ある程度メモリアクセスに隠れてしまうので
速度比較をしたいなら、マンデルブロ集合を描くとかの方がいいかも
589マンデルブロ:02/07/21 17:09
var x0:double=-1.5; var y0:double=-1;
var x1:double= 0.5; var y1:double=1;
procedure TForm1.FormPaint(Sender: TObject);
var cl:array [0..1000] of TColor;
function func(x0,y0:double):TColor;
var i:Integer;
var x,y,w:double;
begin
 x:=x0; y:=y0;
 for i:=0 to High(cl) do begin w:=2*x*y; x:=x*x-y*y +x0;  y:=w+y0;
 if x*x+y*y>2.0 then break;
 end;
 result:=cl[i];
end;
var x,y , xs,ys:Integer;
begin
 for x:=0 to High(cl) do
 cl[x]:=round( sin(x/High(cl)*PI/2)*255)
    +round( sin(x/High(cl)*PI*3)*255)*$100
    +round( sin(x/High(cl)*PI*5)*255)*$10000;
 xs:=ClientWidth ; ys:=ClientHeight ;
 for y:=0 to ClientHeight-1 do for x:=0 to ClientWidth -1 do
 Canvas.Pixels[x,y]:=func( x0+x/xs*(x1-x0),y0+y/ys*(y1-y0));
end;
procedure TForm1.FormResize(Sender: TObject);
var rect:TRect;
begin  rect:=ClientRect; InvalidateRect(Handle,@rect,false);
end;
var vx0,vy0:Integer;
var vx1,vy1:Integer;
var vmove:boolean;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin vx0:=x; vy0:=y; vx1:=-1; vmove:=true;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var cx0,cy0,cx1,cy1:double;
 var rect:TRect;
begin
if vx1>=0 then begin
 cx0 := x0+vx0/ClientWidth *(x1-x0);cy0 := y0+vy0/ClientHeight*(y1-y0);
 cx1 := x0+vx1/ClientWidth *(x1-x0);cy1 := y0+vy1/ClientHeight*(y1-y0);
 x0:=cx0; y0:=cy0; x1:=cx1; y1:=cy1; vx1:=-1;
 end;
 vmove:=false;
 rect:=ClientRect; InvalidateRect(Handle,@rect,false);
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
if not vmove then exit;
 Canvas.Pen.Mode:=pmNot;
if vx1>=0 then Canvas.Rectangle(vx0,vy0,vx1,vy1);
 vx1:=x; vy1:=y; Canvas.Rectangle(vx0,vy0,vx1,vy1);
 Canvas.Pen.Mode:=pmCopy;
end;
590589:02/07/21 17:11
とりあえず作ったもの
 GUI処理は1レスに入るように適当
 実装部だけ

これを高速に出来る?
アセンブラで?
このスレ面白い。いままでアホくさい環境を使ってきた奴らが
.NET になってやっと Delphi に追いついた(追い抜いた?)
とかいって、Delphi がどうのこうのといいだしたのね。

とくに VB 厨は、これまでの苦難の歴史が感じられて煽りに迫力が感じられる。
.NET になっても VB というのも笑わせられるけどね。
なぜ C# じゃないのだろう?まっ、そこまで VB 好きならそれでもいいけど。

Del厨は、C# なら1週間で乗り換えられる。VB 厨が必死であることは
わかるが、力が入りすぎてるんでは。

現状で Del と VB.NET あるいは C#.NET のスペック比べは興味あるね。
純粋な数値計算なんかはどうなんだろう。パイを500桁まで求める、とか。

言語は道具。こだわらずに流行や作成アプリにあわせて適切なのを選んだら
いいんじゃないかね。VB だってもちろんOK。
祭り再開?
長文には必ず多くのツッコミが入ると言い伝えられてます・・・
C#、Delphiにインラインアセンブラなんてできたの??
596デフォルトの名無しさん:02/07/21 23:18
インラインアセンブラなんてものがある限りクロスプラットフォームは実現不可能。
DelphiはWindows専用だからそういう機能があるんだね。
VB.NETはクロスプラットフォームだからそんな機能はないよ。
>>VB.NETはクロスプラットフォームだからそんな機能はないよ。

ではウィンドウを表示することもできないの?
いや、もちろんできることは知っているけど、それでクロスプラットフォーム
になるの?
>>597
System.Windows.FormsはもとからWindows専用じゃないのか?
もっともその他のOSで互換ライブラリが実装される可能性もあるが。
ユーザインタフェースってのはプラットフォームにかなり依存されるし。
>>595

「.NET ではセキュリティー上の理由により」とか言うんじゃないの。
できないことはすべてセキュリティー上の理由です。ハイ
>>598

回答ありがと。
.NET の仕様としてクロスプラットフォームを目指すのは賛成。
でも Java の先例があるとおり、どのくらい実現できるかは、
興味深いところだね。

初めからクロスプラットフォームを意識してコーディングすると
コンソールアプリしかつくれなくなったりして、実用性が疑われます。
>>599
あなただったら、セキュリティーを考慮する場合、
インラインアセンブラは使用できるようにするの? しないの?
>>601

できないことはすべてセキュリティー上の理由です。ハイ
うわー・・・
>>602
つーことはMS優秀じゃん。できないことにはちゃんとした理由があるんだね。
>>つーことはMS優秀じゃん。

そうだね。.NET 上ではセキュリティーホールはゼロです、って保証すればね。
>>605
でも、できないこと(インラインアセンブラ等)に関しては言い訳とかじゃなく、
そうしなければならない適切な理由があるんだよね。
>>606

はい、何度もカキコしたとおりです。
>>607
了解
>>608

>つーことはMS優秀じゃん。

これについては一致してないよね?
610デフォルトの名無しさん:02/07/22 00:11
っていうかさ、MSが「Trustworthy Computing」っていうスローガン出したのは知ってるよね?
もう新機能追加とかパフォーマンス向上とかで商売する時代じゃないのよ。
Del厨は未だにデスクトップレベルで知能の発達が止まってるから分からないかもしれないけど。
セキュアであること、高度に抽象化されて生産性が高いこと。これが大事。
Del厨を「デスクトップ知恵遅れ」と呼ぼうぜ
>>スローガン出したのは知ってるよね?

知ってる。IE の update するときに読まされた。
ビルゲイツが全社員に直接メールを送ったそうだね。

>セキュアであること、高度に抽象化されて生産性が高いこと。これが大事。

これにも賛成。しかし、今ごろ何言ってるの? という感じはぬぐえない。
OSでシェア No1 を獲得したから、余裕で言ってるのよ。いままでは
何だったのよ。MFC がセキュアじゃなくて、高度に抽象化されていなくて
生産性が低かったのは、明白でしょ。Delphi の VCL は、.NET より古い
ので、セキュアではないが、抽象化と生産性はかなり高度だよ。しかも
7年前に実現してたんだよ。.NET より優れている、とはもちろん主張しな
いがね。

オレは、 C# を始めます。
Java使いの目から見れば、Del厨よりVB厨の方がいいこと言ってると思う。
確かに今さら感はあるけど、よくぞ気付いてくれた!というのもある。
その点Del厨はまだまだついて来れてない未熟さがあるね。
>> Del厨よりVB厨の方がいいこと言ってると思う。

オレは Del 厨だがね、たしかに必死さが違うよね。
でも Del 厨からみれば、C# はいかにも簡単そうに見えて
なんでそんなに必死になる必要があるのか理解できないよ。
はげどー
>>614
文法の表面しか見てないからでしょ。
ライブラリやランタイムの深いところまで見ていけば、.NETはとてつもない壮大な構想だというのが思い知らされる。
はっきり言って、Javaを一通りマスターしてても.NETを理解するのに1年はかかると思う。
DOS→Windows並みの進化というのは嘘じゃないんだよ。
>>613
えへへ。ありがと。
>>614
C#に移行しないDel厨とか、
C#がどんなのか知らずに騒いでるだけとか、かな。
数がいる分、厨も多いだけでは。
619Delフサギコ ◆VzDeLphI :02/07/22 00:40
>>613
具体的にどのレスえいいこと言ってるだね?

VB厨のレスの大半が必死でDel叩いているだけだから
あきれてカキコする意志も萎えてるんだが,,,

 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
         ∧,,∧____ 
       /,ミ゚Д゚彡,,,  /|
     □⊂へ ::::⊂,,,ミ // 
       (_ミ ゛,, ノ~~// 
       (_丿|_|"" し'

クロスプラットのことはCLXきてみてさわってから
お話してはどうかしら?

.NETでクロスできると
いまだに思考するのはいかがなものかと。
MSがやる気になってたら、リナでもBSDでも
IIS以外のアパチとかでもクロスできるだろうが
技術ではなく政治的にそんなことやるわけないでしょ。
>>Javaを一通りマスターしてても.NETを理解するのに1年はかかると思う。

Java使いからみてもそうなんだとすると、そうなんだろうね。
ちなみに、Java と C# とは「表面上」ほとんど変わらないでしょ。
もちろん、ライブラリには違いがあるけど。

>>.NETはとてつもない壮大な構想だというのが思い知らされる。

壮大だから偉大だとは限らないのでは。オレも C# を始めるんで
まぁ、成功を祈っているが。

>>619
少なくともDel厨はろくでもないことしか言ってないね。
>>619
君みたいな視野の狭い人間には分からないだろうけど、CLXなんてIA-32の2つのOSで動くだけで、
そんなものはクロスプラットフォームとは呼ばないのだよ。
CLIの方はOSは3つ、CPUはIA-32・SPARC・ARMを今現在サポートしてるのだよ。
こういうのをクロスプラットフォームって言うんだ。
そしてそれは「やるわけない」じゃなくて「今現在実現済み」なんだよ。分かる?
>>619
>VB厨のレスの大半が必死でDel叩いているだけだから
>あきれてカキコする意志も萎えてるんだが,,,

まぁ、これまでのVB使いの苦難の歴史を慮ってですね、
.NET のうえから、やっと Del がどうのこうの言えるので
嬉しくってしょうがないのよ。

すこしは察してやれよ。
>>622
>CPUはIA-32・SPARC・ARMを今現在サポートしてるのだよ。
おっと。PowerPCも忘れてたね。
>>623
でDel厨は素直に負けを認めているわけか。いい心がけだ。
>>622

二つと三つ比べて、なにいってんの
目糞鼻糞みたいだな
KylixなんてKDEでしか動かないだろ。
Linuxサポートとか言っておきながらCPUもウィンドウシステムも限定されるなんてクソだね。
>>625

VB 厨はなんでも勝ち負けで判断するのね。
これまで負け続けてきた、とでも思ってるのかい。
もっと、誇りをもてよ。

誇り高きVB厨諸君!
Del厨もどうやらどうやってもVB.NETに勝てないことに気付き出したんだ。
だから必死に話題の矛先を変えようとしてるんだ。

察してやれよ。(嘲笑激藁
>>629

Del厨よ、察してやれよ。(嘲笑激藁
WinMeは.NETインストできないって聞いたんだけど、
何にインストできるんだ?
632Delフサギコ ◆VzDeLphI :02/07/22 01:11
              ./ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ∧,,∧____  |>>623 察してるよ。察してもウザイだけだけどね。
  ∬ /,ミ゚Д゚,彡,,, ./|<>>622 おや、聞いたことがなかったです。
  □⊂へ ::::⊂,,,ミ //  |  Win系では動くってのは聞いてるけど。
    (_ミ ゛,, ノ~~//  |  .NETアプリがLinuxやBSDやMacOSX、ソラリス
    (_丿|_|"" し'    | で動くのですか?
               \___________________
>>627
グノムでも動くんではなかったかしら?
VS.NETなんてWinでしか動かないなんてクソだね。(って煽り返していいの?)
しかしDel厨はC#は優れてると認めても、VB.NETだけは意地でも認めないのは見ていて面白いね。
フサギコ必死だな。(藁
>>633

C# を始めるってカキコした Del 使いです。
.NET 上では、VB も C# も C++ も COBOL も大差ないことは
知っています。Delphi より C# が優れているから C# を始める
わけではありません。C# を始めることになんら他意はありません。
ただ、Delphi から見て一番始めやすいことは事実です。
>>635
そう?
C#よりVB.NETの方がObject Pascalに近いと思うよ。
なんでそんなに毛嫌いするんだろ?
>>なんでそんなに毛嫌いするんだろ?

それは被害妄想というやつでは?

>C#よりVB.NETの方がObject Pascalに近いと思うよ。

これには同意しません。
638デフォルトの名無しさん:02/07/22 01:35
.NETへの移行パス

VB → VB.NET or C#
VC++ → MC++ or C#
Java → J# or C#
BCB → Delphi.NET or C#
Delphi → Delphi.NET or VB.NET
自由はC#などに負けはしません。
VB →→→→→やっと→→→→→ VB.NET では?
>>638
なるほど。Del厨だけがC#は必要ないのか。
>>638
BCB→MC++のパスは無し?
つーかDel厨は.NET使わなくていいよ。うざいから。
「つーかDel厨」というのはハツミミです
>>642
MC++はRADじゃないから。
何でもBorlandユーザーさんってRADしか使わないとか聞いたから。
>>645
使わない → 使えない
>>645
> RADしか使わないとか聞いたから。

んなこたないYO!
>>645
BCBがRADじゃなかったらみんなVC++使っちゃうし。
649Delフサギコ ◆VzDeLphI :02/07/22 01:42
     ______
      | 言語は    |
      |  宗教です  .|
      |______|  _____
      ∧,,∧.||__   /
    /ミ,゚Д゚ Φ/\< 信じるものは救われる
  /| ̄∪ ̄ ̄|\/  \ のか?
    |____|/      ̄ ̄ ̄ ̄ ̄

>>636 宗教上の理由により
     食せないものもあるんじゃないかな。
650デフォルトの名無しさん:02/07/22 01:43
Delphi.NETっていつ出るの?
>>649
チミは.NET使わんでよろしい。
どうせ.NETが必要になるほど立派なことしとらんだろうから。
.NETを使えば立派なことができるのか?
>>651はドトネトで何するの?
>.NETが必要になるほど立派なこと

笑わせるなよ!ハライテー
>>650
出ない。過去との互換性を保てないから全く別の商品名で出る。
656デフォルトの名無しさん:02/07/22 01:50
言語名は .PASCAL と名付けられるそうです。
>>過去との互換性を保てないから全く別の商品名で出る。

オレは Del 使いだが、上のようになってほしい、と思っている。
Del は Win 上で別、.NET では Object Pascal を使える別の
製品であって欲しい。
658 :02/07/22 01:54
       C++マンセ
         ∧         ∧
マンセ        / ヽ        / ∧  マンセ
        /   `、     /   ∧
       /       ̄ ̄ ̄    ヽ
       l:::::::::               l
      |::::::::::  -=・=-    -=・=-  |
 マンセ  |:::::::::::::::::   \___/    |
       ヽ:::::::::::::::::::  \/     ノ  javaマンセ
オレはJava使いだけど、.NETではJ#ではなくC#を使う。
(javaマンセではない)
同じようなことができるんならVB.NETつかずにC#使うのが
普通じゃないか?
VB.NETは淘汰されると思うのだが。
660Delフサギコ ◆VzDeLphI :02/07/22 01:56
      ∧,,∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ミ   彡  < .NETを使っている君は
     (ミ   ミ)    \_______
      ミ   ミ 
      ∪ ∪


      ∧,,∧ サッ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ミ,,゚Д゚ミ  < 立派な人なんですね。
    ⊂   Om   \_______
     ミ、,, ミ,
      .しヾJ  
>>VB.NETは淘汰されると思うのだが。

いつの時代にも厨はいるのよ。だからその溜まり場が必要なの。
.NETが必要な案件てどんなの思い浮かぶ?
>>.NETが必要な案件

VB厨が Del厨とはりあって2chに書き込む、くらいかなぁ
>>.NETが必要な案件

立派なアプリ作成、くらいかなぁ
リッパ、リッパ、リッパカパッパッパーの.NET
666Delフサギコ ◆VzDeLphI :02/07/22 02:14
         とりあえず、みんなさんで
    ∧,,∧  オデンでも食え
    ミ ゚Д゚ミ    
    (ミ   ミつ-□●△
    ミ   ミ
    し''`J 

>>657
フサはそうは思わない。
既存のVCLコンポの大半が
.NET上でコンポとして使えるようになって
くれると、大変うれすいが。

>>659
言語の移行はそんなに楽じゃない
J系とC系は似た記述が多いが
VB or PascalとC系はちと違う事情
.NETは必要とされてないのですね。
>>662
ドトネトが必要な案件が存在する事は認めるが、ネイティブコンパイラの
優位性の方が重要な案件の方が圧倒的に多いような気がする。
>>.NETが必要な案件

新しもの好きなクライアントが指定したとき、くらいかなぁ
>>ドトネトが必要な案件が存在する事は認める

たとえばどんな?
>>既存のVCLコンポの大半が.NET上でコンポとして使えるようになって

これには同意しない。こんなのだったら C# を使いたい。
>>671
そうか?
過去の資産を使えないようなら.NETやる意味ないんじゃない?
少なくともVBは移行できる仕組みがあるんで、
某もおそらく既存コンポを.NET上で使える仕組みを
作るはず。
ていうか、俺はなかったらC#を使うな。
>>過去の資産を使えないようなら.NETやる意味ないんじゃない?

.NET は過去の資産を使うためにやるんじゃないよ。
VCLは優れたクラスライブラリだが、いかにも古いよ。
Graphics.pas や Controls.pas、Forms.pas、ExtCtrls.pas、Grids.pas
などが、宣言が同じで実装が異なった形ででてくるなら、失望する。

.NET の機能をフルに使おうとしたら、絶対にプロパティーやメソッドの
追加は必要。→ それだけで .dfm の互換性なし。似て非なるものをつくるより
いっそ、まったく新しいクラスライブラリをつくってほしい。
674672:02/07/22 03:26
うーん、
http://www.zdnet.co.jp/enterprise/0205/21/02052101.html
を読む限り、Delの次バージョンでMSILコンパイラがつくと。
これは恐らくある程度既存コンポがつかえるはず。
で、2003年の「Glileo」でフルサポート。
新しいライブラリとかが追加されるのかな?
DelはVBとVCの間を埋めるという位置付けだとおもうけど、
.NETになってどういう位置付けになるのか見もの。
>>668
典型的なDel厨。
せいぜい未チェックのバッファだらけのクズプログラム作っててください。
で? >>589 の .NET 版はまだ?
677デフォルトの名無しさん:02/07/22 08:44
やっぱりM$信者はすげえや。
ゲイツ様が「セキュリティが大事」と言えばこうも主張が変わるのか。
678589:02/07/22 08:58
ごめん >>589訂正
× if x*x+y*y>2.0 then break;
○ if x*x+y*y>4.0 then break;
元のままでも殆ど変わらないんだけど、少しゴミが出るみたい

動作は、マウスでドラッグして指定した矩形範囲を拡大してゆくだけのもの
679589:02/07/22 09:01
高速にするっていっても
○とても数学の才能がある人は何か方法があるのかも
○でなければもしかして固定少数点化すれば高速になるのかも
○そこらへんが高速になるならBMPを作ってScanLineで高速化とか?
Del厨ってグラフィックとかデスクトップ関連でしか立場がないんだね。(プー
時代はウェブアプリなのにー。
ウエブアプリってどこの用語? いったい何の事のつもりよ!

.NETが少し楽なのはウエブサービス関連と IIS使う時だけじゃないの?
682デフォルトの名無しさん:02/07/22 10:56
Delphiってさ、何も考えなくてもポトペタでアプリが出来上がっちゃうんだよね。
しかもコミュニティが閉鎖的で狭いから、大したことができなくても内輪でヒーローになれてしまう。
これって害悪以外の何者でもないよね。

この人たちって.NETで通用するのかな?
こっちにはガベージコレクションとかセキュリティのエキスパートがいるからね。
しかもそういうエキスパートたちはほとんどが元VB使い。

今まで表面だけのアプリ作ってたDelphi使いたちにとっては異次元に感じるだろうね。
まあ、Delphi使いがこっちの世界に来るなら歓迎するけどさ、
あまり厨房的なマネはして欲しくないんだよね。
.NETの価値が下がるから。
683デフォルトの名無しさん:02/07/22 11:06
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数:115274人 発行日:2002/07/015
どもどもー、取り繕う為に稚拙でも必死の書き込みをしてしまった、苦しいひろゆきですー。

最近どうも気になることがあるですよー。。。
おいらの企業と闘う姿を称賛する声がだんだん小さくなってきた気がするですよー。
日本生命と闘っていたときは、おいらは間違いなくヒーローだったのに、最近じゃすっかり唇がロナウジーニョですよー、、、うぅうぅ

それからもう一つ、珍走団に土下座させられた時ですけど、あの時おいらが震えていたのは風邪をひいていたからなんですよー。本当に本当ですよー。隊長にも聞いてみてくださいよー。
絶対に恐くて震えていたんじゃないですよー。信じてよー、、、うぅうぅ

ついでにもう一つ、元削除人の皆さん!お願いです!
おいらが彼女の手帳と携帯の着信履歴を盗み見てることや、おいらが本当はログをとってることを言いふらすのはやめてよー。。。うぅうぅ
以前は一緒に自作自演の厨房をからかって遊んでいたじゃないかー、、、うぅうぅ

んじゃ!
>>682
> しかもコミュニティが閉鎖的で狭いから、大したことができなくても内輪でヒーローになれてしまう。

非常に痛いとこを突くね。
俺のVCLの予想。

Windows.Formsは基本的にWindows上でのみ動作することを考慮したもの。
VCLはWindowsと他のプラットフォーム(といっても当面はLinux?)でも
同じように動作するように考慮される。

Windowsで最適化されたUIを選ぶならWindows.Forms、
複数のプラットフォームで同じように動作することを期待するならVCL
と言う風に使い分けされる。
確かにWindows.Formsを使わないGUI実装というのもアリかなとも思えますね。
いっそインラインアセンブラもアリにして、C#とMC++の中間を狙うとか。

682はコピペの気がする
687デルファイの名無しさん:02/07/22 14:57
BitmapData Data = Bmp.LockBits(new Rectangle(0, 0, Bmp.Width, Bmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);
try
{
 byte* P = (byte*)(void*)Data.Scan0;
 for(int I = Bmp.Width * Bmp.Height; I > 0; --I)
 {
  if(*P + *(P+1) + *(P+2) > 127 * 3)
   *(System.Int32*)P = 0xffffff;
  else
   *(System.Int32*)P = 0;

  P += 4;
 }
}
finally
{
 Bmp.UnlockBits(Data);
}

一応言い出しっぺなので、二値化処理C#版も書いてみました。

で、同じ条件で計測…僕の環境では、速い順に、
541改(順方向にしてloopをjnzに変更) , 569 , C# , 541 でした。
やるなCLR…って541が遅いだけか

ついでに質問。上のコードでPに対してfixedを使うと不要云々のエラーになるのは何故ですか?
>>687
値型でマネージドヒープ上にはないから、ポインタのアドレス移動を気にしなくてよい。
>>688
違うような気がするのは俺だけか?
>>689
合ってるんじゃないの?
CS0213でしょ?
ここはブビ厨の方に判定してもらいましょう。
692デフォルトの名無しさん:02/07/22 17:27
本屋行って気付いたんだけどさ、.NET関連の本の種類ってDelphi関連の種類より多くない?
今年生まれたばかりの技術なのにね。なんでだろう。

あ、Delphi使いの人には言っちゃいけないことだったかな?
ごめんごめん。(プ
693デフォルトの名無しさん:02/07/22 20:55
良スレあげ
694デフォルトの名無しさん:02/07/22 22:37
新スレよろしく。
695694:02/07/22 23:00
間違えた・・・
新スレできたのでよろしくお願いします。

ミ,,゚Д゚彡フサギコのフサフサDelphi談話室C
http://pc3.2ch.net/test/read.cgi/tech/1027343132/l50
>>692

マニュアルだけじゃ理解できんやつが多いからだろ
>>691
VB厨はコード読めません。煽りは得意です
まぁ、ボーランドジャパンはチョンがやっていることがわかったから
将来は無いな。ケケケ
ほんと仲いいねえ。(ワラ
700デフォルトの名無しさん:02/07/23 10:17
で、Delphi.NETはどうなったんですか?
VS.NETみたいにパブリックベータは出さないんですか?
BorlandのオープンさってMSに激しく劣りますね。
いやM$のは製品がβだから それは・・・
某も腐ってきたよな
(^Д^)ギャハ!↑みなさん、この人のレスどう思いますか♪
なんてありきたりなんでしょうね♪
誰もが皆、一瞬つけてみたくなる発想のレスです♪
しかし、賢明な人はその自らの短絡的思考を野放しにする事を嫌がり、
こういうレスは控えます♪
しかし、この人はしてしまったのです(^^;ワラ
「誰もが思い付くような事」を堂々と♪
この人にとってこのレスは何なのでしょうか♪
このレスをしている間にも時間は刻々と 過ぎ去っているのです♪
正にこの人のした事は「無意味」「無駄」でしかありません♪
ああ・・・何ていう事でしょう(^^;ワラ
図星で泣いちゃうかも(^^;ワラ
704デルファイの名無しさん:02/07/23 21:12
>>405-406
ようやくできた…APIのサンプルって探せば結構見つかるものですね。どうだ!

program AdminHello; {$APPTYPE CONSOLE}
uses Windows, SysUtils; (* 一部足りない定数を宣言…省略 *)
function IsAdministrator: Boolean;
var ptg: PTokenGroups; sid: PSID; I, dwTokenGroupsSize: DWORD;
 sia: SID_IDENTIFIER_AUTHORITY; hToken: THandle;
begin ptg := nil; sid := nil;
 try
  if not OpenThreadToken(GetCurrentThread, TOKEN_QUERY, False, hToken) then
  begin if GetLastError <> ERROR_NO_TOKEN then RaiseLastOSError
   else if not OpenProcessToken(GetCurrentProcess, TOKEN_QUERY, hToken) then RaiseLastOSError;
  end;
  dwTokenGroupsSize := 0;
  GetTokenInformation(hToken, TokenGroups, nil, 0, dwTokenGroupsSize);
  if GetLastError <> ERROR_INSUFFICIENT_BUFFER then RaiseLastOSError;
  GetMem(ptg, dwTokenGroupsSize);
  if not GetTokenInformation(hToken, TokenGroups, ptg, dwTokenGroupsSize, dwTokenGroupsSize) then
   RaiseLastOSError;
  sia := SECURITY_NT_AUTHORITY;
  if not AllocateAndInitializeSid(sia,2,SECURITY_BUILTIN_DOMAIN_RID,DOMAIN_ALIAS_RID_ADMINS,0,0,0,0,0,0,sid)then
   RaiseLastOSError;
  for I := 0 to ptg^.GroupCount - 1 do if EqualSid(ptg^.Groups[I].Sid, sid) then begin Result := True; Exit; end;
  Result := False
 finally if sid <> nil then FreeSid(sid); if ptg <> nil then FreeMem(ptg);
 end;
end;
begin if IsAdministrator then WriteLn('Hello World!');
end.
>704
(;´Д`)
mono::プロジェクトのひとつ、Component Pascalのページこちら。
ttp://www.fit.qut.edu.au/CompSci/PLAS/ComponentPascal/

これ見ながらDelphi.NETがどういった形で出るかを予想するのも楽しい。
>>706
>mono::プロジェクトのひとつ、Component Pascal

(゚Д゚)ハァ?
ComponentPascalはPascalと名前は付いていますが、実際はOberonみたい。
ObjectPascalとはまた別系統のPascal系言語ですね。興味深いかも。

>>688
BitmapDataは参照型ですが、データそのものは違うのですか?
709デフォルトの名無しさん:02/07/24 20:13
川俣先生のありがたいお言葉。

Visual Studio .NETは魔法の杖か?
http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2002_07.html

Del厨みたいなウェブ開発のド素人が陥りそうな罠ですね。
710デフォルトの名無しさん:02/07/24 20:53
FreeBSD 4.5-RELEASE (FIREWALL) #1: Sun Jun 30 13:54:43 GMT 2002

Welcome to FreeBSD!

Before seeking technical support, please use the following resources:

o Security advisories and updated errata information for all releases are
at http://www.FreeBSD.org/releases/ - always consult the ERRATA section
for your release first as it's updated frequently.

o The Handbook and FAQ documents are at http://www.FreeBSD.org/ and,
along with the mailing lists, can be searched by going to
http://www.FreeBSD.org/search/. If the doc distribution has
been installed, they're also available formatted in /usr/share/doc.

If you still have a question or problem, please take the output of
`uname -a', along with any relevant error messages, and email it
as a question to the [email protected] mailing list. If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7)
man page. If you are not familiar with man pages, type `man man'.
You may also use `/stand/sysinstall' to re-enter the installation and
configuration utility. Edit /etc/motd to change this login announcement.

%
711デフォルトの名無しさん:02/07/24 21:25
.NET FrameworkのGUIコンポーネントを見てみたけど、基本的に
VCLと大差ないね。というか、プロパティやイベントの関数登録
とかほとんど形がVCLそのまま(^^;。

Delphiへの移植は比較的楽かもしれない。
>>709
デブの言うことはアテにならん。つーかそんな基本的な事に
はまるやついるの?
>>709
VS.NETが出ただけでWeb開発の玄人気取りか。
ブビ厨はおめでたいな。
>>713
だって実際にVB.NETでウェブ開発やってるもん。
Delphiじゃできないでしょ?
あ、言っちゃいけないことだったかな?ウプププ
夏休み中のお子様厨は、放置!
WebSnapとかWebBrokerとか、高速CGIはDelphi5の売りで、6でも拡張されています。
…確かに使ったことは無いが
…というかウェブ開発なんて凝らなければ標準入出力さえ扱えればどんな言語でもオーケーな気が
>>716
これだからDel厨は・・・。
認証とか暗号化とかどうするつもりよ?
そういうライブラリ使えばいいだけでは?
事実WebSnapには認証機能あるし
いい噂を聞かないIISに縛られるのも考え物だし
719デフォルトの名無しさん:02/07/25 03:32
>>718
(゚Д゚)ハァ?
.NETのどこにIIS限定の機能があるんだよ?
頭大丈夫ですか?
Web 開発に玄人もヘッタクレもないだろう。
Webデザイナーっていうんじゃないの?
Webアプリ作ってる人間をプログラマと呼ぶのはどうかな
「Webデザイナー(スクリプトもかけます)」だな。
http://pc3.2ch.net/test/read.cgi/tech/1025848458/ とその52,55などのリンク先などを読む限り、
IIS以外ではlocalhostでテストができるだけと思えるが
Webアプリだから、単にHTML吐くだけのつもりなんじゃない?
Apacheの世界に手を伸ばす.NET
http://www.zdnet.co.jp/news/0207/25/ne00_apache.html
>>726
IISがApacheに負けたってことだな。
元々ApacheなんてWinで完璧に動作してたものを、
.NET側が戦略で排除してただけじゃん。
>>727
つーか、某がDelphi.NETでApache対応を表明してたのに先を越されてやんの。(プププ
既に現行のWebSnapはISAPI/NSAPI,普通のCGI,Win-CGI,Apacheに対応済だが…

それよりも、このスレに本当のWeb開発経験者が居そうに無いのが問題だ。(オレモナー
私はインターネットを開発しますた
VB.NET = VB6.0 + Visual InterDev?
VB.NET = VB6 + Java
何かさ〜、ここはC#とDelphiの話するスレぢゃないの?

大体、VBプログラマの何パーセントがVB.NETに移行できるの?
ここに書き込んでるような上級VB厨の影には、PG生命を絶たれる100倍の初級中級厨がいるような...
上級VB厨(w
最上級VB厨ですが何か?
VB厨シルバー
VB厨ゴールド
VB厨プラチナ
第2種VB厨
第1種VB厨
特殊VB厨
このスレの失敗はアフォが変なスレタイにしたことだ
と今更ながら言ってみる
739Delフサギコ ◆VzDeLphI :02/07/27 04:37
 ∧,,∧   このスレにこんな時間にカ既婚
ミσ゚Д゚ミσ でる、オマエよりましですが、何か?
        と、言ってみるXPテスト
Del厨の立てたスレじゃDel厨しか集まらんよ
荒れる原因はフサギコが隠れブビ厨だから。
フサギコってVB.NETでコマンドライン開発すらできないんだろ?
じゃあブビ厨以下じゃん。(ワラ
このスレ見て、M$環境に従属してるヤシの方が
ストレス溜まるってことがよく分かる。(w

プログラマーって因果な商売だな。
>>743
因果の意味をご存知で?
(名)
(1)原因と結果。「―関係」
(2)〔仏〕
(ア)今ある事物が以前の何らかの事物の結果であり、また将来の何らかの事物の原因であること。
(イ)自分のなしたよい行為や悪い行為に応じて、それに相当するよい報いや悪い報いがあること。
(ウ)現在の不幸は、前世での悪業によっているということ。「これも―とあきらめる」

(形動)[文]ナリ
不運な巡り合わせであるさま。いやな運命にあるさま。「―な生まれつき」「―なやつだ」
ここでDelphi貶してるヤシって.NETに移行した旧Delphiユーザーだろ?
747デフォルトの名無しさん:02/07/31 18:40
鯖が変わったのけ
>>746
そう思いたいんだろうが、どうみてもブビちゅうの書き込み。
次回は「単一言語使い vs 多言語使い」でお送りします。
次回は「単一VB使い vs 多VB使い」でお送りします。
>>750
多VBって、VB1とかVB2とかVB4とかVB6とかVB.NETとか?
VBScriptとかVisualBasic for ApplicationとかVisualBasic for MS-DOSとか?
>多VB使い

ライセンス違反です。
DLL地獄のため多VB使いは存在し得ません。
バージョンアップを強要する機能です。
このスレにVBは関係ないだろ
Delphiにもあった DLL地獄のお話

http://www.borland.co.jp/midas/papers/multi_tier/multi_tier3.html
>>
彼の国には、Delphi 2で書かれCDで配布されている電話帳ソフトがあったそうです。
Delphi 3は、このCDの制作中にリリースされました。
そこで、いくつかの情報システムは、この電話帳CDが売り出される前にDelphi 3で開発されました。
このCDの発売後まもなく、Delphi 3で書かれた情報システムの多数のクライアント・アプリケーション
が正しく動作しなくなりました。理由は、情報システムのユーザーがこのCDから電話帳をインストールし、
彼らのBDEが古いバージョンと置き換わってしまったからです。
Delphi駄目じゃん。(藁
>>756
それはDLL Hellの話じゃなくてタコなインストーラの話じゃないのか?
>>758
そうじゃないよ。Delphiで作ったExeはOSに依存せず動くのが悪いんだよ。
VBなんてWinのバージョンがあがると基本的に動かないんだから。
なんだよ、あれだけ巨大な.exeでさらにDLL Hellか。(プッ
BDEを強制上書きするインストーラのせいとしか読めないが…
まあ、その頃はIE入れるとDelphi2でデバッグできなくなったり色々ありました。

関係ないけどVB対Delphiスレ立っちゃいましたね。
やってることここと似てるし
763デフォルトの名無しさん:02/08/07 12:33
>Windowsプラットフォームの技術を無駄にすることなく
>.NET向け技術を向上させながら.NETアプリケーションの準備が可能となる。
http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20020807/8/

Windowsアプリの作り難さを決定的に解決したのはDel/BCBだったもんな。
VBやMFC、WTLでは正直駄目だった。
結局.NETを救うのはDelになるのか。
そのうちMSが開発ツール部門を某にアウトソーシングしたり。
>>759
> VBなんてWinのバージョンがあがると基本的に動かないんだから。
うそはいけない。
766デフォルトの名無しさん:02/08/07 12:47
>>763
まあ、Delphi(VCL)の完成形が.NETという面はあるな。

ただ、逆にコンポーネントベースの.NETができた時点で
本家Delphiの存在意義はかなり薄れた気もする。C#でも
ほとんどDelphiと同じような感覚でプログラムを書ける
からね。

Delphiは、.NETの礎としてひっそり埋もれていくのかも。
>>766
C#/CLIがWin32やLinuxのネイティブコンパイル出来たらDelと同列になるが、
M$の会社としての戦略がそれを許さない。
>>767
つまりネイティブコンパイルしたら大幅にパフォーマンスが上がると思っている人?
やっと.NETに移行できて嬉しそうだな。> Del厨
.NETで何か作っている人いる?
「いまだに分からない.NET」
http://www.zdnet.co.jp/news/0208/06/cead_cooper.html
住基システム作ってますが?
>>770
新しいものが普及するには時間がかかるJavaなんて10年たった今でこの状態だ。
それに比べれば.NETの普及速度はJavaよりもずっと早い。
773デフォルトの名無しさん:02/08/07 15:29
>>772
Javaがいつ10周年を迎えたんですか?(プッ
Javaは1991からだろ
.NETってまだ5ヶ月?
>>775
5年。
>>776
いや。それは明らかに間違っておりますです。はい。
SDKが正式にリリースされのは
Java 1996/03
.NET 2002/03
だと思う。
Javaって普及速度遅いな。.NETは一〜二年で追い越すんじゃないか。
>>777
COM+ Runtime (CLRの前身) の話題は1997年のMSJに載ってるよ。

http://www.microsoft.com/msj/defaultframe.asp?page=/msj/1197/complus.htm&nav=/msj/1197/newnav.htm
781デフォルトの名無しさん:02/08/08 02:41
.NET が普及してると思ってるやつ頭おかしいよな
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ i . -‐  ‐- ..
   | 彡 ____  ____  ミ/  ´,.::::;;:... . . _
   ゝ_//|    |⌒|    |ヽゞ ヾ:;_   `_,.ン|
   |tゝ  \__/_  \__/ | | l    ̄ ̄...:;:彡ヽ
   ヽノ    /\_/\   |ノ.─、  ..::::;:;;;(....ノヽ
    ゝ   /ヽ───‐ヽ / (_..ノ  . ...:::::;;;;;(....ノ
     /|ヽ   ヽ──'   /  }   . .....:::;:::;:;;;;(....ノ
    / |  \      ̄ ,/|  .!,    . .:.::;:;;;(....ノ 
   / ヽ    ‐――‐      .ト ,  . ..,:;:;:=:彳
                    ヽ、.. ....::::;;;ジ 
>>781

いや、すごいよ.NET。googleで.NETで検索したら、ヒット件数
2億以上。ちなみにDelphiは345万、C#は131万だった。
>784
'.net'は除いたんだろうな。
>>782
それは(.NET≒熱湯)に掛けてるわけか?
.com が8億9千万
.net が2億二百万
.org が1億6千万

二位だよ。.com の方がメジャーだよ
とりあえず >>784 は XX ということでいいですね。
789デフォルトの名無しさん:02/09/14 20:14
どうだ 科学計算も C# >Delだぞ

http://homepage2.nifty.com/Fujimaki/download/Comparison/

>>789
あの程度のレベルのプログラムしかつくれん奴の実験を信じるのか?
>>790 まああの程度のレベルで作ってもC#なら結構速いって意味はあると思うよ

Power(x,2) をたぶんC#は x*x にとか最適化で結構頑張ってくれるんだろう
>Power(x,2) をたぶんC#は x*x にとか最適化で結構頑張ってくれるんだろう
わざとそういうのを選んでるのかもね(w
Delphiは軽いコンパイラだから、最適化は軽め、
必要なら人間がチューニングして必要なだけ速くすればいいという思想

C#はコンパイラがガンバってくれる。ある程度のヘタレなコードを書いても
コンパイラがカバーしてくれる。

どちらがいいかは今の所判らない。 

ただ・・・確かにC#はベンチマークで良い数字を出すんだけど、使うととにかく
重く感じるのがどうもなあ・・・
794デフォルトの名無しさん:02/09/15 09:12
ブラクラを防止する方法
結構役に立つ
http://kobe.cool.ne.jp/sowin/
795デフォルトの名無しさん:02/09/15 09:40
以前やってた倍近く差が出るというこのコードも恣意的といえば恣意的だしさ

procedure TForm1.Button2Click(Sender: TObject);
function func(a:Integer):Integer;
var i:integer;
begin
Result:=0; if a<1 then exit;
Result:=1; if a<2 then exit;
for i:=1 to a-1 do Result:=Result+func(a-i)+func(i);
end;
var StartTime:int64;
begin
StartTime:=GetTickCount;
func(19);
Memo1.Lines.Add(format('%10.2fsec',[(GetTickCount-StartTime)/1000]) );
end;

private int func(int a)
{
if (a<1)return 0;
if (a<2)return 1;
int r=1;
for(int i=1;i<a;i++)r += func(a-i)+func(i);
return r;
}
private void button2_Click(object sender, System.EventArgs e)
{
DateTime stim = DateTime.Now;
func(19);
textBox1.AppendText( "\x0d\x0a"+((DateTime.Now.Ticks-stim.Ticks)/10000000.0).ToString("f") );
}
>>792
Powerだけでなく、Log(2)が定数になってないのも、
ネイティブ組(C++/Delphi)に不利と思われ。

>>795
ぱっと見ただけでも、なぜPascal側は関数内関数?(親のEBPが渡される)
なぜResultに代入してからif?(等価なのはif ... then begin Result := ...; Exit; end;)
なぜIncを使わない?(コンパイラの最適化の範疇だけどさ)
程度の疑問は沸くな。
797デフォルトの名無しさん:02/09/15 20:58
DelphiとC#のベンチマークやってみたよ。
お題:円周率の計算(再帰とdoubleの四則演算のみを使ったアルゴリズム)
計測方法:bash(cygwin)のtimeを使用(exe起動のオーバーヘッドは0.2ms以下)

実行結果
C#
real 1m26.994s
user 0m0.020s
sys 0m0.020s

Delphi
real 1m40.325s
user 0m0.010s
sys 0m0.020s

結果はDelphiがC#の86.71%程度の速度でした。
798Delphiのソース:02/09/15 20:59
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, Windows;
function calc(x1, y1, x2, y2: Real; Depth: Integer): Real;
var
x, y: Real;
begin
if x1 * x1 + y1 * y1 >= 1 then
Result := 0
else if x2 * x2 + y2 * y2 <= 1 then
Result := (x2-x1)*(y2-y1)
else if Depth <= 0 then
Result := (x2-x1)*(y2-y1) / 2
else
begin
x := (x1 + x2) / 2;
y := (y1 + y2) / 2;
Result := calc(x1, y1, x , y , Depth-1) + calc(x1, y , x , y2, Depth-1) + calc(x , y1, x2, y , Depth-1) + calc(x , y , x2, y2, Depth-1) ;
end;
end;
function getpi: Real;
begin
Result := calc(0,0,1,1,27) * 4;
end;
var
ct: Cardinal; pi: Real;
begin
ct := GetTickCount;
pi := getpi;
Writeln('pi=', pi, ' time=', GetTickCount-ct, 'ms');
end.
799C ◆/5g1A/WE :02/09/15 21:00
using System;

namespace CSharp {
class CSharp {
static double calc(double x1, double y1, double x2, double y2, int Depth) {
if( x1 * x1 + y1 * y1 >= 1 ) return 0.0;
if( x2 * x2 + y2 * y2 <= 1 ) return (x2-x1)*(y2-y1);
if( Depth <= 0 ) return (x2-x1)*(y2-y1)/2;
double x = (x1 + x2) / 2;
double y = (y1 + y2) / 2;
return calc(x1, y1, x , y , Depth-1) + calc(x1, y , x , y2, Depth-1) + calc(x , y1, x2, y , Depth-1) + calc(x , y , x2, y2, Depth-1) ;
}

static double getpi() {
return calc(0.0, 0.0, 1.0, 1.0, 27) * 4;
}

static void Main() {
Console.WriteLine(getpi());
}
}
}
>>799は"C#のソース"でした。
>>797 それ、結局 >>789 と同じで DelphiはExtended C#はDouble の算術関数を使ってるからじゃないの? 

整数で試してみたら?
例:
http://www.infoeddy.ne.jp/~tensyo/prog/piHex.htm

っと 思ったら Real ・・・・・そりゃないだろ
>>801
type Real = Doubleにしても結果はほぼ変わらず。

想像するにDelphiのは古いスタック型のコード(正確な表現を失念)生成しているのに対して、
.NETは直接実数のレジスタを使用しているためかもしれません。
804802:02/09/15 21:09
あ、ゴメン ヘルプみたら D6では RealはDoubleと相当で
Real48が遅い互換Realに変わってたんだ・・・
でも違うんだよね、Doubleにしたら
PenV650(かなり遅いけど)で
C#  2分27秒
Del 1分55秒

こんなもんだと思うよ
806805:02/09/15 21:36
Pen4だとC#が新命令を使うという可能性はあるかな
>でも違うんだよね、Doubleにしたら
これは取り消しておこう
808797:02/09/15 21:52
>805
C#がとても遅いですね。

こちらの環境はAthlon1G, WinXP, Del6Pro, .NetFWSDKで
パッチはすべて当ててあります。

WindowsUpdateで適用していないパッチはないですか?
809805:02/09/15 21:59
>>808
PenV650MHz、WinXP Pro-SP1、Del6Ent、.NetはVersion 1.0.3705です

別スレで797さんが書かれているように
新CPUに最適化されているかどうかの違いかと思いますが
810デフォルトの名無しさん:02/09/16 01:14
VCLって最強!   ?
ベンチマークスレですか?
.NET環境(C#やVB.NET)とDelphi両方入れてるヤシって、どれぐらいいる?
> .NET環境(C#やVB.NET)とDelphi両方入れてるヤシって、どれぐらいいる?

かなりたくさんいると思われ
両方入れてるマシンはかなりたくさんあると思われ
815Delフサギコ ◆VzDeLphI :02/09/16 04:02
     俺の目の前のマチンもそうだと思われ
     .ΛΛ.   ___  
    ミ;゚Д゚ミ  .||::::::::||レッ
    ミ   つ___||_____||  ツ
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴
816デフォルトの名無しさん:02/09/16 05:11
>>815 .NET厨の最強の味方登場!
これからも.NET>>>>>Delphiを証明するためにがんばってください
817Delフサギコ ◆VzDeLphI :02/09/16 10:11
   ・・・・・・ こんなのばっか・・・
         カムバック...名無し#さん
     .ΛΛ.   ___  
    ミ;゚Д゚ミ  .||::::::::||レッ
    ミ   つ___||_____||  ツ
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴
>>817
>名無し#さん
お前、「名無しさん♯」さん(名無し潜伏中)ですよ。
819名無しさん♯:02/09/20 12:58
|-`)
820デフォルトの名無しさん:02/09/22 14:45
>>298 それってこれと同じじゃないの?
type TPai = Extended;
function getpi: TPai;
function Hypot(x,y:TPai):TPai;
var w:TPai;
begin
  x:=x*x+y*y;
  Result:=Sqrt(x);
  Result:=Result + (x-Result*Result)/Result/2; //精度を少しだけあげる
end;
 var x,y ,x1,x2,y1,y2,g,r,len:TPai; i:integer;
begin
  x1:=0;  y1:=1;   x2:=1;  y2:=0; //直角2等辺3角形
  g:=2;
  for i:=0 to 30 do begin
   x := (x1 + x2) / 2;  y := (y1 + y2) / 2;    r :=hypot(x,y);
   x1:= x/r;    y1:= y/r;    len:=Hypot(x2-x1,y2-y1);
   g:=g*2;
   writeln(i,Format('%22.18f',[g*len]));
  end;
  Result:=g*len;
end;
var ct: Cardinal;
begin
ct := GetTickCount;
Write(Format('%22.18f',[getPi]));
Writeln(Format('%22.18f',[System.Pi]));
Writeln(' time=', GetTickCount-ct, 'ms');
Readln;
end.
>>798 の間違いです。

 たぶん角度を2分割しながら計算してるように思うのだけど 
822デフォルトの名無しさん:02/09/28 13:33
外の比較的マイナーな文学作品を翻訳出版する
小さな出版社がある。そして文学ファンはこういった出版社を
潰さないため、今後も翻訳を続けてもらうために
1人で同じ本を2・3冊買うことが良くある。

我々もこういう時だからこそDelphi7を買って
ボーランドを支えるべきなんじゃないだろうか。
Delphi7の売り上げはDelphi8以降の開発資金となるし、
ボーランドジャパンの今後に大きな影響をもたらすだろう。

Delphi7の出来のみを云々するのは
あまりにも近視眼的ではないだろうか?
なぜ 822 はこんなスレをつけるのか。

その謎は以下のスレに...
http://pc3.2ch.net/test/read.cgi/tech/1031668744/536-538

ここにかかれている内容を信じるかどうかはあなた次第。
Delphi7 を注文してしまった人は、すぐに答えが出るでしょう。

Delphi7.NETはプレビュー版だもんね。
.NETは開発は終わったがユーザの要求を見るって言ってたもんね。
.NET1.0は無視した方が良さそうだし。
☆★☆★☆ アンチに朗報! ☆★☆★☆

VS.NET 7.0と.NET 1.1は連携できません!
.NET 1.1を導入すると、VS.NET 2003を買わされる羽目になります!
>>825
買わされるっていっても、MSDN会員なら無料、VS.NET登録ユーザなら29ドル程度だよ。
Delphi7 Personalよりはるかに安いんだけど。
>>825
キャッシュバックキャンペーンの関係もあって
ほとんどのVS.NETユーザーはMSDNに入ってるから「関係ないよ」
>>826
おんなじ間違い書くなよ。Personalは無料。
7JPerの無料番あるの?
>>827
あのCDの山を入れ直して、さらにコードも修正して、さらに互換問題で悩んで、苦労なこった。
>>830
別になんの問題も起きていませんが、なにか?
CD?
833デフォルトの名無しさん:02/10/04 04:53
いや、すごいよ.NET。googleで.NETで検索したら、ヒット件数
2億以上。ちなみにDelphiは345万、C#は131万だった。
C#    1,180,000
C++   5,830,000
Delphi  2,760,000
Java   23,100,000
COBOL 627,000
VB.NET 519,000
VB "Visual Basic"  514,000
VB "Visual Basic" -VB.NET  473,000
".NET Framework"  411,000
C#    1,320,000
C++   6,480,000
Delphi  3,260,000
Java   26,300,000
COBOL 692,000
VB.NET 585,000
VB "Visual Basic"  563,000
VB "Visual Basic" -VB.NET  473,000
".NET Framework"  411,000
VB はすでに VB.NET に追い越されたのか!

VB は Delphi の何倍ものユーザがいるのに、WEB での情報が少ないのは
情報交換する価値がないか、HTML が書けないか(藁
>>833

.COM には負けてるんでは(藁
>> VB は Delphi の何倍ものユーザがいるのに、WEB での情報が少ないのは

VB使いは、ほんとうはVBが嫌いなんだよ。仕事なんでしかたなく
>>838
仕事で仕方ない人を差し引いてもDelphiユーザーより多いと思われ
VB使いの「仕事」は著作権が何も残らないスタイルの仕事=「労働」の事

労働の成果を勝手にWebで情報公開やったらこれは大変な事になるわけ
>> 仕事で仕方ない人を差し引いてもDelphiユーザーより多いと思われ

同意。でも大部分は公開するほどの情報を持ってない、ってことだね。
というか 
VBのヘルプは一つ一つ 例題もあって その範囲で済んでしまう
だからその範囲で一生終ってしまう人も多いんだけど

Delphiは VCLソース読めという雰囲気だしね
>>842

Delphi だってヘルプですむようなレベルなら、わざわざWEBで公開する
必要なし。ヘルプの例題が多いから、っていうレベルのことじゃないでしょう。
初心者入門ページが多い少ない、ってことを話題にしてるんじゃないし。

>>だからその範囲で一生終ってしまう人も多いんだけど

こういうのを
「大部分は公開するほどの情報を持ってない、ってことだね。」
っていうんじゃ
>>労働の成果を勝手にWebで情報公開やったらこれは大変な事になるわけ

テクニックや Tips みたいなものは、技術面だけを取り出せば、
具体的な内容とは無関係にできるのでは
845Delフサギコ ◆A6VzDeLphI :02/10/11 00:26

    .∧∧    Del相談室で書いたんだけど、スレ違いだったので
  ,.、ミ,,゚Д゚彡     /i   こっちを再利用で移行します。
 ;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
 '、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
  `` U U    C#が早いようなのですが、どうしてでしょう...
           この程度のコードでどこに最適化の余地が...
           もしかして、Delは本当にDoubleは苦手?

procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
 d: Double;
begin
 for i := Low(integer) div 5 to High(integer) div 5 do
 begin
  d := d + i;
 end;
 Button1.Caption := FloatToStr(d);
end;

private void button1_Click(object sender, System.EventArgs e)
{
  int i = 0;
  double d = 0;
  for (i = Int32.MinValue/5; i <= Int32.MaxValue/5; i++) {
   d = d + i;
  }
  button1.Text = d.ToString();
}
C#

mov esi,0E6666667h
nop
jmp 00000034 *1
mov dword ptr [ebp-1Ch],esi (*2)
fild dword ptr [ebp-1Ch]
fadd qword ptr [ebp-14h]
fstp qword ptr [ebp-14h]
inc esi
cmp esi,19999999h (*1)
jle 00000027 *2

逆アセンブル。
フサギコのC#賞賛キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
Delphi

mov eax, $e6666667
mov [esp+$08],eax (*1)
fild dword ptr [esp+$08]
fadd qword ptr [esp]
fstp qword ptr [esp]
wait
inc eax
cmp eax,$1999999a
jnz -$17 *1
とりあえず逆アセンブルリストを貼ってみた。
名前をC#フサギコにするならこの先を教えてあげよう
    .∧,,∧  煽りは抜きでオネガヒ
  ,.、ミ゚Д゚,,彡     /i
 ;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
 '、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
  `` U U
どこも賞賛はしてないし。
単純に不思議なの。

微妙にC#はタイマーを止めるみたいですが
プロセスの優先度でも違うのでしょうか。

もしかして、.NETフレームワークをインスコすると
.NET以外コードを故意に遅くしるってことは
ねいですよね。まさかね。
846=848=849ですけど、いくらアセンブラ読めないといっても、
読む努力ぐらいしてもいいと思うけどなあ。
アセンブラの知識が必要な話題を自分で持ち出しといて
コードに反応せず煽りに反応ですか。少しは反省しなさいよ。

見ればわかるけど、単純に、Delphiの方がループ中のwait命令がひとつ多い。
理由はわからないけど、FPUの計算を確実に待つ堅牢なコード。
一方C#は、(恐らくCPU別に )waitが不要な事を見切ってJITしている。
>>850
浮動小数点演算モードの話は見つけたかい?
    .∧,,∧  なんで反省しなきゃいかんのだ。
  ,.、ミ#゚Д゚彡     /i  頃すぞ(゚Д゚)ゴルァ
 ;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
 '、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
  `` U U    今、女とIMちうで急がしんだよ..
          必要なら
           アトで汗でもなんでも読む努力するさ。
    .∧,,∧    俺があおっちゃったよ。
  ,.、ミ。_。彡    /i  ごめんなさい。
 ;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
 '、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
  `` U U   というか、ありがトン。
      すごく詳細でわかりやすいでつ。

        堅牢コードと、そじゃないのと、
        ちこっと調べてみるです。
>>853
フサさん...
女関係が落ち着くまで 2ch やめたら?
      ナンデヤネン
     ∧,,∧,..,、、.,、,、、..,_      /i
   ミ゚Д゚;,彡.:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
  ⊂'、;: ...:⊂ ,:. :.、.:',.: .:: _;;;..; つ ̄ ̄
  つまり、DelはDouble計算は
  最適化度合いが、苦手って言うことなんでしょうか?

 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ∧∧,..,、、.,、,、、..,_       /i
   ミ゚Д゚彡、:、.:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
   '、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄     
    `"∪∪''`゙ ∪∪´´
   ソレハソレデ シャーナイ ノカ...

ところで、いったいどうやって
逆汗コードとか得るんで残暑・・・
謎っすが。とりあえず明日具具るか...
Delの場合、バイナリをコンパイルしたのとは別のマシンで実行する
ことが多いので、CPUの種類にあわせたギリギリの最適化は困難と
いうことでは? (Delに限った話じゃないけど)

この辺はJIT使う.NETの方が有利ですね。
>>857
浮動小数点演算モードが、Delphi は Extended、C# は Double。
基本がわかってないと何使っても悲しいね
マシン別の最適化云々に関係なくDelは最適化が下手糞。
演算モードがヘン。
ユーザーが糞。
>>860-861
仲良しでいこうね。
863860:02/10/11 03:13
>>862 ごめんなさい
     /⌒\?
    γ彡・ω)ミ      /Doubleで計算してても
     |ミ,, ゚Д゚彡     < 常にExtendedになるでしょうか?
     | つ_|| ̄ ̄ ̄ | \ でも、桁を余分に計算してるほど劇的には遅くないんすよ
   〜ミ,,, ,,|\||Letsノ-ト|    divの数を5→2変えてうちのマシンでDelが1分C#が40秒とか
       '\||.======.|    そんな程度の差でした...
           ̄ ̄ ̄
俺のD6では、設定が多分デフォルトで
[プロジェクトオプション][コンパイラ]
コード生成
  [V] 最適化
  [ ] スタックフレームの生成
  [ ] Pentium FDIV対応
   構造体データの配置[8]▼

こんなんなっているようですが
これが影響してるかも...
つまり過去ログなんて読んでられないと?
>>864
1.5倍も時間がかかるのは劇的に遅いといってもいいと思う。

内部的にextendedで計算されるってことは、doubleを使ってもメモリ節約以外の意味は
あんまりないのかな。
     /⌒\
    γ彡・ω)ミ      /検索したけど
     |ミ,, ゚Д゚彡     < ログにある?
     | つ_|| ̄ ̄ ̄ | \ごめん、調べきれてません
   〜ミ,,, ,,|\||Letsノ-ト|
       '\||.======.|
           ̄ ̄ ̄
何れにせよC#の方が速いのは嬉しいことだ、
ところで、いまだにネイティブWin開発環境なDelと
.NETに最適化されているC#を比較するのって、なんか意味ってあるの?
むしろ、VB.NETとC#を比較して速度差があるとか無いとかって比較
じゃないとって気がするけど・・・・・・・・。
こんなベンチは Delphi.NETでも出てきたらやったらいいと思うよ、
まぁ、当然C#の快勝だろうしDELPHI.NETなんて作れないだろうけど。(プ
waitの有無って、最適化が賢いとか賢く無いとかそういう問題じゃない気もするが。
>>858の言う通りで、どんなCPUでも正確に実行できるように入れているのと思う。
.NETの場合はその都度コンパイルするのでその時のCPU以外考えなくていいし。

ちなみにこんな↓風にしてもうちのマシンじゃ少ししか速くならなかったけど、試してみて。
(アセンブラで浮動小数点命令なんて滅多に使わないからバグってたらごめん)

function b: double;
var w: longint;
asm
 mov w, 0
 fild dword ptr w
 mov eax, $e6666667
@1:
 mov w,eax
 fadd qword ptr w
 inc eax
 cmp eax,$1999999a
 jnz @1
end;

(.NET大ブームスレでSet8087CWの事を書いたのは自分だが)
Set8087CWで演算精度を落としても、言うほどは差が無かった気がする。
>>869
確かに速度的には1秒速いだけだったし、何より答えが違ってた。
>>なんか意味ってあるの?
無い。

(仮に選択肢が.NETとDelphiだけとして)Extendedの精度が欲しい時はDelphiを使うしかないし、
.NETには、doubleの計算が少しばかり速いなんて事よりも、他にメリットいっぱいあるでしょ。

単純に最適化の話で言えば、C#のJIT後のコードは、nopが残っていたり、
Int32.MinValue/5 < Int32.MaxValue/5 であることを見て無かったりと、Delphiに比べても意外に甘い気がする。
ループ中に無いので影響が出て無いけど、ややこしいアルゴリズムなら逆転しそう。(あくまで予想)
…つーか、ネイティブ対.NETの速度対決なら、ネイティブサイドは最適化の甘いDelphiなんか使わずに
Intelの最適化C++コンパイラ持ち出して来ればいいだろーに。

>>870
FPUレジスタのままで計算するから、一旦メモリ上のdouble変数に落とさないので、精度が少しだけいい筈。
それとも、致命的に違ってた?(汗
普通こう書く
fldQWORD PTR __real@8@00000000000000000000
moveax, -429496729; e6666667H
movDWORD PTR _i$[esp+4], eax
$L525:
fiaddDWORD PTR _i$[esp+4]
inceax
cmpeax, 429496729; 19999999H
movDWORD PTR _i$[esp+4], eax
jleSHORT $L525
popecx
ret0
はい、凡ミスです。ごめん。

fadd qword ptr w
→fiadd w
>>868
> .NETに最適化されているC#を比較するのって、なんか意味ってあるの?

今この議論を続けてるのは、局所的な優劣をネタに煽りたいうんこと、
知的好奇心を満たしたい人だけ。

もちろんおれは後者。
ほんとだってば。
>Int32.MinValue/5 < Int32.MaxValue/5 であることを見て無かったりと、
>Delphiに比べても意外に甘い気がする。
ループを0方向に変える最適化はC++だってやらないよ。
大して効果がないのにiの増分を-1,1に固定されちゃ割に合わない。
ところで、正しい結果って0.0ですよね?(-x から x まで全部足すのだから)
なんか、double精度の時、C#/Delphi両方とも変な値になるような。
Delphiで型をExtendedにした時か、アセンブラの時だけちゃんと0.0になる。

途中でdoubleの有効桁数を超えている?
>(-x から x まで全部足すのだから)
確認してみなよ
64bit整数型を使って、Int32.MinValue/5 .. 0を全部足したところ、

 -92233720325598085 (17桁)

doubleの精度は15〜16桁なので、桁が足りない→結果が狂う。
Extendedは19〜20桁いけるのでOK。

誰だよ、このお題持ってきた香具師。
>>875
いや、そうじゃなくて、初期値がループ継続条件を満たしているので、
初回の継続条件チェックを省けるという話。増分は関係無い。
計算処理で優劣を競いたいなら、古来からベンチマークとして活用される
円周率を求める処理等で計測した方が理想的だとおもうけど、
既にやってる板はありますか?
    .∧∧   なんかいろいろおかしい。
  ,.、ミ,,゚Д゚彡     /i
 ;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
 '、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
  `` U U   やっぱサンプルがダメなのかなと思ってしらべてたら
         Button2のコードが最適化スイッチONで
ループが1回しか通らず
         バグっているみたいなんだけど....

サンプルが変だと思ったら、いろいろ変更して試してくださいな。

procedure TForm1.Button1Click(Sender: TObject);
var i, k: Integer; d: Double;
begin
 k := 100; d := 0;
 for i := Low(integer) div 100 to High(integer) div 100 do
 begin  d := d + i; end;
 TButton(Sender).Caption := FloatToStr(d);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i, k: Integer; d: Double;
begin
 k := 100;  d := 0;
 for i := Low(integer) div k to High(integer) div k do
 begin   d := d + i; end;
 TButton(Sender).Caption := FloatToStr(d);
end;
んなもんCPUウィンドウで追っかけりゃ一発で分かるだろ。
  ∧,,∧   /  誰か、、、たつけて
 ミ;゚Д゚彡<  これだけでも、最適化チェックONで値が
  ミつ つ  \     変なのですが,,,,おれだけ?
D6Pro,,,UP2適応です

procedure TForm1.Button3Click(Sender: TObject);
begin
Self.Caption := IntToStr(Low(integer) div 100);
end;//-21474836

procedure TForm1.Button4Click(Sender: TObject);
var
k: Integer;
begin
k := 100;
Self.Caption := IntToStr(Low(integer) div k);
end;//21474836  ???なぜか正数だ、、

最適化スイッチのON/OFF変更
だけではソースに変更なくてコンパリウしないのキヲツケテ

>んなもんCPUウィンドウで追っかけりゃ一発で分かるだろ。
CPUウィドウで追っかけなくても変なのはわかるのですが,,,,
なぜそうなるかは,,,わかる人しかわからないかしら。。。。
   ∧,,∧     / ・・・
  ミ,,゚Д゚彡  <  こ,,,こんな風に書いてあったのですが
  ミつ  つ   \ CPU窓、、
最適化適応版は

  k := 100;
mov esi,$00000064
  Self.Caption := IntToStr(Low(integer) div k);
mov eax,$80000000
xor edx,edx
idiv esi
lea edx,[ebp-$04]
call IntToStr
mov edx,[ebp-$04]
mov eax,ebx
call TControl.SetText
xor eax,eax

   ∧,,∧     / ・・・
  ミ,,゚Д゚彡  <  俺には何が何やら、、、
  ミつ  つ   \
最適化無し版はこうなってました。

  k := 100;
mov [ebp-$08],$00000064
  Self.Caption := IntToStr(Low(integer) div k);
mov eax,$80000000
xor edx,edx
cdq
idiv dword ptr [ebp-$08]
lea edx,[ebp-$10]
call IntToStr
mov edx,[ebp-$10]
mov eax,[ebp-$04]
call TControl.SetText
xor eax,eax

それ、1000で割ったらどうなる?
     ?
    ∧,,∧  >>886
   ミ,,゚Д゚彡   やっぱりk:=1000;Low(Integer) div kで負の値に
    ミ つ旦)~~   ならないです、、

  環境が壊れたる?でしょうか
>>887 コンパイラのバグでしょう
割算は 32+32 / 32 で
Low(integer) は integer型だから符号拡張しなければいけないのに
それを抜かしてしまったのでしょう

>>887
D6のバグです、D7で修正されてます.
var k,i:integer;
begin k:=100; i:=Low(i); self.caption:=IntToStr(i div k); end;
では正常に動作するのでは?
   ∧,,∧      / ̄
  ミ*゚∀゚彡  <  うまく動きました。
  ミ つ且~~   \_  D6/D6UP1/D6UP2全部のバグ?っすか
〜ミ,,,,,, ,,ミ  サンクスコ
    Low()divなんて書き方が悪かったですか。
    とりあえずほっと一息。
//////////// Delphi /////////
procedure TForm1.Button1Click(Sender: TObject);
type TTest=Cardinal;
function Collatz(n:TTest):TTest;
begin
Result:=0;
while n >1 do begin
if (n and 1)=0 then n:=n shr 1  else n:=n+n+n+1;
inc(Result);
end;
end;
var k:Integer;
var tm:DWORD;
begin
AllocConsole;
tm:=GetTickCount;
for k:=1 to 999999 do Collatz(k);
writeLn(' 実行時間=',GetTickCount-tm,'ms');
end;
//////////// C# /////////
static int Collatz(int n)
{int c=0;
  while(n>1){ if ( (n&1)==0 ) n>>=1; else n=n+n+n+1;c++;}
return c;
}
static void Main(string[] args)
{
DateTime stim = DateTime.Now;
for(int i=0;i<999999;i++)   Collatz(i);
System.Console.WriteLine("{0}",(DateTime.Now.Ticks-stim.Ticks)/10000.0);
System.Console.ReadLine();
}
892891:02/10/12 10:12
たまに比べてみるけど、普通に書いたコードはC#の方が多少速いですね
今迄、C#よりDelphiがはっきり速かったコードは
procedure TForm1.Button2Click(Sender: TObject);
function func(a:Integer):Integer;
var i:integer;
begin
Result:=0; if a<1 then exit;
Result:=1; if a<2 then exit;
for i:=1 to a-1 do Result:=Result+func(a-i)+func(i);
end;
var StartTime:int64;
begin
StartTime:=GetTickCount;
func(19);
Memo1.Lines.Add(format('%10.2fsec',[(GetTickCount-StartTime)/1000]) );
end;
////////////////////////////
private int func(int a)
{
if (a<1)return 0;
if (a<2)return 1;
int r=1;
for(int i=1;i<a;i++)r += func(a-i)+func(i);
return r;
}
private void button2_Click(object sender, System.EventArgs e)
{
DateTime stim = DateTime.Now;
func(19);
textBox1.AppendText( "\x0d\x0a"+((DateTime.Now.Ticks-stim.Ticks)/10000000.0).ToString("f") );
}
傾向として、C#は、関数内部の処理はJITで動的に最適化される分
ネイティブを上回る事も多々ありますが、
マネージド故かどうかは知りませんが関数の出入り口の処理が弱い気がしてます。
>>892のコードも、Delphiはebpすらローカル変数に使っているのに、
C#は真面目にスタックフレームを作っていました。
つまりC#は、ひとつの関数内でカタがつくような処理の方が得意と言っていいと思います。

Delphiは、最適化そのものは緩めですが、レジスタ割り当てが上手なのと、
呼びだし規約がfastcallなのでローカル変数が少なければスタックフレームを作らずに済むので、
関数を呼びまくる方が得意でしょうね。
>> つまりC#は、ひとつの関数内でカタがつくような処理の方が得意と言っていいと

そのとおりだよね。小さなループでのベンチは JIT の不利を帳消しにして
最適化の有利だけが目立つ結果になる
C# と VB.NET だと関数呼び出しのオーバーヘッドが大きくて VB.NET が
大幅に遅いと話題になってたね。
つまり構造化をしてはいけないのか
897デフォルトの名無しさん:02/10/14 10:58
仲良くしてくれと歩み寄ったのはDel厨
>>897
と、突然、話の筋に関係ないその書き込みは?電波?(汗
>>898
技術話についていけない煽り厨
.NET大ブーム9 GUIの非クロスがバレバレ

クラスライブラリから直接 CreateWindowEx 呼んじゃダメだろ。
GUI 関連は、CLI にも CLR にも含まれて無いからISO的にはOK?
途方に暮れたMonoチームは Form 出すために Wine を呼び出すことを考えているそうで本末転倒。

ここはひどいクロスプラットフォームですね。どうするMS。

複数言語単一ランタイム、実行時ベリファイ、実行時セキュリティなんて、
動けば良い&VBマンセーのブビ厨には要らねーよ。.NETは壮大なネタでした。
901デフォルトの名無しさん:02/10/16 22:17
>>900
sageんなよ
902Delフサギコ ◆A6VzDeLphI :02/10/17 11:04
  ,,,,,,,,,,,,,,,,∧,,∧   /
〜′,,,,,,,,,,ミ,,゚Д゚彡 < どきんぐとかどうですか?
  UU"""" U U    \
VS.NET使っていて、ドッキングUIがなかなか心地良い
感じではあるんだけど
C#アプリではドッキングFormやドッキングツールバーは
簡単に作れるのでしょうか?

ライブラリレベルでサポートされてるでしょうか?

あと、日本で、.NETコンポーネント配布サイトは
どこか作られてますか?
DelphianWorldみたいなトコ。
> ひどいクロスプラットフォームですね。どうするMS

ひどくありません、だってWin9xでもMeでも2000でもXPでも動くし、将来も
動かせるよ!って意味のクロスなんですから。
Linux?なんですか?BSD?ハァ?世の中にはWindows以外のOSは存在していませんよ!

しかし、Macでの.NETってどーなってんだろうね、Monoを使うのかな?
そーいや、可能ならKylixをMacでも動かす!とかって何処かで聞いたような
気がするけど、Kylix.NETでって事かな・・・。
>KylixをMacでも動かす
CLXのベースとなっているQtがmacにもあるみたいですので、
コンパイラだけ作り直せばおーけーみたいなのをどこかで読んだ気が。
だからネイティブのままじゃ無いですか?
>>904
書き込んだ本人です。どこに書いたか忘れたけど。

作り直すのがたいへんなのは、IDE の方だと思う。
現在は WINE の上で IDE が動いてるので。

コンパイラ自体は C++ で実装されてて、MacOS X には gcc もあるので、
バイナリフォーマットの変更だけで済むはず。
え? Delphiのコンパイラは Delphiでかかれているんじゃなかったの?
それこそガリレオIDEができたら、IDEはmac用.NET(あるの?)上で動かして、
コンパイラはILかmac専用バイナリのどちらでも吐けるように
・・・絵に描いた餅ですね・・・

IDEをCLXで書き直して、KylixをWineから解き放つのが一番かな・・・
>>906
コンパイラ本体はアセンブラ。で、コマンド部分(dcc32.exe)はBorland C++。
IDE(delphi32.exe)がDelphi自身。

・・・だったと思いますよ。
確か、dcc32.exeに"Borland C++"って文字列が埋め込まれてますもの。
909デフォルトの名無しさん:02/10/17 22:46
次スレの季節
>> IDE(delphi32.exe)がDelphi自身。

最初のIDEは、どうやってつくたんだろう?
もちろん、IDEなしでつくったんだよね。
Turbo PascalかBorland C++でしょ。
地味にdcc.exeだけで作ったんじゃないの。

     ∧,,∧        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ミ,, ゚Д゚彡     <  日ソフの記事だったかな。
     〃つ_|| ̄ ̄ ̄ | \_____________
   〜ミ,,, ,,|\||Letsノ-ト|
       '\||.======.|
           ̄ ̄ ̄
ちょっと話ちがうんだけど
TurboPascalコンパイラが出てきたときの話を
読んだんだけど、Web検索してもどうしても出てこない。

インタビューに必要なのはパッションだ!
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20020604/1/

これの本物の記事のほうだったか
ヘイルスか、ヘルスかのバーグタンが
しこしこPascalコンパイラを作って、早いのできたから
BOrぁんdに売り込みに行って採用されたとか
なんとか書いていた気が汁です。

>>910
WideStudioとか#デベロップとかエクリプス
追いかけてみるとよいのでは?
コンパイラ本体をアセンブラで書くかなあ?
Turbo Pascalってのは、コンパイラ本体を汗で書いて全てオンメモリにして爆速だったから、流行ったんだぞい。
この製品で某が大きくなったんでしょ。
で、Del3以前はコマンドコンパイルするとTurbo Pascalって出るぞ。
916914:02/10/18 19:45
>コンパイラ本体を汗で書いて
この部分は知りませんでした。

コンパイラを書く技術は持ち合わせてないけど、もし自分でやるとすれば
最初の目標はセルフコンパイルだと思うので「アセンブラでは書かねーだろ」と
思い込んでました。
確かにフルアセンブラでないとCP/Mで動かなさそう。
     ∧,,∧        />>891-892 ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ミ,, ゚Д゚彡     <  GetTickCountより高精度だとか
     〃つ_|| ̄ ̄ ̄ | \聞いた事があります。
   〜ミ,,, ,,|\||Letsノ-ト|    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       '\||.======.|
           ̄ ̄ ̄
  関数実行時間測定ベンチマークのやりかた。
  C#でどうやるかは知らない。教えて。

//uses Windows; が必要
var Frequency, CountStart, CountEnd: Int64;
 Freq: Single; Time: Double;
begin
 QueryPerformanceFrequency(Frequency);
 Freq := LARGE_INTEGER(Frequency).LowPart;
 QueryPerformanceCounter(CountStart);

//計測したい処理内容をここに記述
 Sleep(1000);

 QueryPerformanceCounter(CountEnd);
 Time := (LARGE_INTEGER(CountEnd).LowPart
       - LARGE_INTEGER(CountStart).LowPart) / Freq;
 Writeln(Time);  Readln;
//1.00000??????とか出力される。
 
 //Memo1.Lines.Add( FloatToStr(Time) );
 //0.999838526963623 というような値が取得可 単位は秒
end;
せっかくのInt64をLARGE_INTEGERにキャストするなよ。そのまま使え。

>C#でどうやるかは知らない。教えて。
ランタイム プロファイリングで健作しろ。

   コピペ厨だからよくわかない。
     .ΛΛ.   ___  
    ミ;゚Д゚ミ .||::::::::||
    ミ   つ___||_____|| 
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴
System.Diagnostics
       こうかニャ   
     Λ,,Λ.   ___  
    ミ  ,,彡  ||::::::::||レッ
    .ミ   つ___||_____||  ツ
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴
procedure TForm1.Button3Click(Sender: TObject);
var
 Frequency, CountStart, CountEnd: Int64;
 Time: Double;
begin
 QueryPerformanceFrequency(Frequency);
 QueryPerformanceCounter(CountStart);

//計測したい処理内容をここに記述
 Sleep(1000);

 QueryPerformanceCounter(CountEnd);
 Time := (CountEnd - CountStart) / Frequency;

 Memo1.Lines.Add( FloatToStr(Time) );
 //0.99621125031254 が出力され
end;
922デフォルトの名無しさん:02/10/23 10:57
Dの.NET Preview版の話がほとんど無いなぁ…
http://pc3.2ch.net/test/read.cgi/tech/1033489735/l50
も何か違う話題麦価だし
だって面白くないでしょ。
 XBOXのゲームが作れるとか
 9千800円のPDAのアプリが作れるとか
 無料で使えるWebサービス鯖があるとか

何かメリットないと 触る気になれない
>>922
Del.NET インストールしてみた、今の段階だと
.NETのクロスコンパイル?程度しか出来んのだろうが、
そもそもコンパイル方法がわからん!
そんな俺に、誰かコンパイル方法等を懇切丁寧に教えて
.NETもいいじゃないか!と言わせてくれ。
>>924
失望するからしなくてよろしい、今のまま.NETの夢をみておやすみ。
926デフォルトの名無しさん:02/10/27 23:54
>>925
わかりました寝ます、おやすみ。
927デフォルトの名無しさん:02/10/28 10:05
Delphi・・・Win32、Win64(D8)、DOS(D1)、Win16(D1)、Linux(同封Kylix)、.NET(D8)
BCB7・・・Win32/64、DOS、WinCE、Linux(同封Kylix)、.NET

C#・・・.NET

勝ち組み・・・Java、Delphi、VC++
負け組み・・・VB、VB.NET、C#、COBOL
判った判った
負け組みでいいから俺のMSDNの有効期限内にEverettの配布が始まる事を一緒に祈ってくれ。
無理だと思う。でも可哀想だから祈ってあげるよ。なもなも。
>>927
同封って・・・。封筒で来たのか?
もしかして、CD-R媒体で割物?
>>930
4時間かけてそのツッコミですか・・・
ゴメン。 気に入ったネタみたいだから、少しでも料理してあげようと努力してみたけど、ダメだったよ。

そのネタ腐ってるみたい。 次はEverett ででも仕入れてきて。
>>928
分かった。祈る。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1001489683&res=22&fi=no

     ∧,,∧        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ミ,,゚Д゚彡      <  とりあえずあげますた。
     〃つ_|| ̄ ̄ ̄ | \_____________
   〜ミ,,, ,,|\||Letsノ-ト|
       '\||.======.|
           ̄ ̄ ̄
ガベコレとか、InterfaceとかASP.NETとか
そういうの除けば

http://www.zdnet.co.jp/news/0202/01/e_code.html
この人みたいに、毎週平均5000行のペースでコードを書いて
いったら、VCLでほぼ.NET枠のライブラリを網羅できなくは
ないような気が激しくしてきますナ....

というより、なぜ某がもっと迅速にVCLを拡張
していけばいいものの、手抜きすぎでつ。
D4〜D7....
たまたまJB7の情報を見ていたら、JBは進化しまくってた。
http://www.borland.co.jp/jbuilder/jb7/new01.html
http://www.borland.co.jp/jbuilder/jb7/new03.html

     ∧,,∧        /やっぱ、標準関数とか
     ミ,,゚Д゚彡      <  標準クラス増築は
     〃つ_|| ̄ ̄ ̄ | \ ヘイルスバーグ級のセンスがいるの?
   〜ミ,,, ,,|\||Letsノ-ト|
       '\||.======.| FileSetDateとか関数宣言みると
           ̄ ̄ ̄  センスのなさが浮き彫りすぎ。
#なぜディレクトリ版FileSetDateがない?
#なぜ引数がTDateTimeじゃない?

話違うけど、
AnsiSameText/AnsiSameStrに
みられるように、大小文字区別するしないを
それを意味しない関数名で区別するのもいい加減、止めレと…

現状のVCLをタンに.NET化したら、あくまでも
過去資産移行のためだけのBorland.VCL名前空間に
成り下がる気が汁てなりません。

理想をいえば、.NETのライブラリ豊富さと同等に
ネイティブExeが作れるツールにならんかと思う。
そうなれば、マスコミに言うように
ガリレオがキラーVS.NETとなれると思うが
D4-D7のVerUpペースから推測すると、無理ぽ、っすよね。

VCL.NETとVCLと差は、開くばっかりになるのかしら。

VCL/VCL.NET/CLXの進化速度、どうせ遅いんだから
VCL.orgとか外部に作ってVCL.某と区別して
ライブラリ進化を早める方法は取れないものなのか,,,
たぶん、それだけだと、「うちのパソコンでは動きませんでした」って発言が出るでしょうから

そういう場合は、コレか
http://www.nifty.ne.jp/forum/fdelphi/samples/01405.html

あんまりスマートじゃないなあ・・・・
という事で、
#なぜディレクトリ版FileSetDateがない?
  サポートしている全てのOSで 安全に可能な方法が無い為だと思います。


#なぜ引数がTDateTimeじゃない?
  これも、TdateTimeで渡すと、その精度で設定出来ると勘違いする人も多いでしょう
  OS依存の処理ですから仕方ないと思います
     !!
     ∧,,∧  そなんか>>OS依存
   Σミ゚Д゚,,彡
     ミ つ且~~   
     ミ,,__ ヾ
 ⊂二二二UU二二⊃  

鋭いレス、サンクスコ。

また、俺は、FDelphiと株って車輪の際発明したですか....鬱
>>935
終わった処理系の終わりっぷりを
いつまでもうだうだ言うのはやめろ。
ほんとだね。 C# も VB.NET も来年まで凍結状態か。
とりあえず今やってる奴は終ったも同じだよね。

まあ3年先には多少元気になるかもね。
VS.NETにはコードテンプレートが無いのが痛い・・・
でもこんな半端な機能は実装されることはないんだろうな。

DELPHI32.DCI
[code_TraverseDir | ディレクトリを巡回する]
procedure TraverseDir(APath: String);
var sr: TSearchRec;
begin
 try
  // todo:ここにディレクトリに入った時の処理を記述
  APath := IncludeTrailingPathDelimiter(APath);
  Win32Check(FindFirst(APath+'*.*', faAnyFile, sr) = 0);
  try
   repeat
    if (sr.Name = '.') or (sr.Name = '..') then
     continue;
    if sr.Attr and faDirectory <> 0 then
    begin
     // todo:ここにサブディレクトリを巡回する直前の処理を記述
     TraverseDir(APath + sr.Name);
    end else begin
     // todo:ここにファイルが見つかった時の処理を記述
    end;
   until FindNext(sr) <> 0;
  finally
   FindClose(sr);
  end;
 finally
  // todo:ここにディレクトリから出る時の処理を記述
 end;
end;
    ,,,,,,,,,,,,,,,∧,,∧   /[の処理を記述 ]
  〜′,,,,,,,,,,ミ,,゚Д゚彡<  するときにイベントを呼ぶ
   UU"""" U  ⊃  \ クラスを用意すると
              コード隠蔽できて綺麗かと。

 コードテンプレが無いのはいやですが
 その処理を毎回挿入するのは、コピペとかわんらいのでは?
943941:02/11/02 15:14
>>942
クラス&メソッドoverride版とコンポーネント&イベントハンドラ版もってるけど
いろいろな手間を考えるとコード隠蔽できて綺麗って程ではないよ。

この程度のコードは毎回コピペして手入れた方が楽。
イディオムいちいちラップしてたらきりないよ。
944デフォルトの名無しさん:02/11/02 20:13
Delphi->C#移行ガイドみたいなサイトないですか?
このスレを逆に読めば?
モニタ逆さにして読んだけど良く分かりませんでした・゚・(ノД`)・゚・。

          _______________
   ∧.,,∧   /
  ミ.,,゚Д゚彡< こんなん、どやどや
  ミ つ目(ミ . \
〜ミ,,O,,,,,,つ     ̄ ̄ ̄ ̄ ̄ ̄

Borland Delphi,C++Builder
http://www2d.biglobe.ne.jp/~katsu_k/borland.html
C-C++プログラマのためのPascal講座
http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-003.html
c2delphi
http://www.infoeddy.ne.jp/~tensyo/c2delphi.txt
Delphi&C++Builder&VisualBasic徹底比較
http://member.nifty.ne.jp/h_kova/procomp.htm
Object Pascal, C-C++, VBのデータ型
http://homepage1.nifty.com/susho/windoze/datatype.html

>>943
美しくないようでも初心者には使いやすいのかも。
.NETの隠蔽仕方は美しいと感じられますか?

あまりよくしらないけど、
DirectoryInfoとDirectory
FileInfoとFileクラスを分けているのは
なかなか賢いような気がしますよ。

TRegistoryIniFileとTRegIniFileのような
クラス構成の美しさを感じます。

さすが、ヘイルスバーグって気が汁ですが。
VisualStudioみないなクソに銭払う必要はない

SharpDevelop(-jp)は無料です上げ
ttp://sharpdevelop-jp.sourceforge.jp/
ふーん、面白く無さそうだね。
C# 以外は糞
じゃあ、 inp 命令を素通しするだけのサービス書いてみて
952デフォルトの名無しさん:02/11/24 16:22
>>951 Delphiで?
953デフォルトの名無しさん:02/11/24 16:46
面白そうだから調べてみた。

カーネルドライバの実装が出来るなら
http://www.taisoft.net/programming/sysdirio.htm

これでいいのだが 問題はカーネルモードドライバがDelphiで書けるかどうか
DLLと同じ構造なら書けるはずだが・・・
954デフォルトの名無しさん:02/11/24 16:54
C#君はjavaさんの友達です。
C#君はDelphi君と一緒にして欲しくないそうです。
955C#:02/11/24 17:00
ママ、僕の本当のパパは一体誰なの?
956デフォルトの名無しさん:02/11/24 17:00
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_.2f.driver.asp
どうも何か特別なヘッダ情報が必要になる感じ。

それが判ればそれを追加すれば良さそうだけど、試してみるしかないかも
>>956
使っていいAPIも限定されていたような・・・
958デフォルトの名無しさん:02/11/24 17:16
>>955
javaの隠し子、C/C++は見かけ上育ての親だが、実質ジュウシマツの役割。
959ママン:02/11/24 17:20
>>955
びる・げーしっていう腹の出た男よ…
960デフォルトの名無しさん:02/11/24 17:23
該当するコードは
http://www.ddj.com/ftp/1996/1996.05/directio.zip/GIVEIO/GIVEIO.C

Delphiで検索したら見つけたのは
http://www.wideman-one.com/gw/tech/Delphi/iopm/index.htm
これはしかし gwio.sys というドライバを動的に追加してる様子
961デフォルトの名無しさん:02/11/24 17:42
Del 房がおもちゃを手に入れました。
http://onigiri.s3.xrea.com:8080/delphi/index.php?FrontPage
みんなで遊んであげよう。
965名無しさん:03/01/05 02:13
              / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
Λ_Λ  | 君さぁ こんなスレッド立てるから          |
( ´∀`)< 厨房って言われちゃうんだよ             |
( ΛΛ つ >―――――――――――――――――――‐<
 ( ゚Д゚) < おまえのことを必要としてる奴なんて         |
 /つつ  | いないんだからさっさと回線切って首吊れ     |
       \____________________/

(-_-) ハヤクシンデネ… (-_-) ハヤクシンデネ… (-_-) ハヤクシンデネ…
(∩∩) (∩∩) (∩∩)

(-_-) ハヤクシンデネ… (-_-) ハヤクシンデネ… (-_-) ハヤクシンデネ…
(∩∩) (∩∩) (∩∩)

(-_-) ハヤクシンデネ… (-_-) ハヤクシンデネ… (-_-) ハヤクシンデネ…
(∩∩) (∩∩) (∩∩)
966デフォルトの名無しさん:03/01/05 05:52
>>935
JCLがあったけど…。 今はどうなってるのかな。
967デフォルトの名無しさん:03/01/05 09:18
JEDI繋がんないな
終了?
埋め
埋め
埋め
埋め
埋め
埋め
埋め
旨めー
埋め
埋め
埋め
979IP記録実験:03/01/08 21:54
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
荒らし終わったぽ埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
埋め
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。