1 :
デフォルトの名無しさん :
02/08/03 18:13 はい、いつものやつ、どうぞ。
お前ら、モティツケ /\⌒ヽペタン / /⌒)ノ ペタン ∧_∧ \ (( ∧_∧ (; ´Д`))' ))(・∀・ ;) / ⌒ノ ( ⌒ヽ⊂⌒ヽ .(O ノ ) ̄ ̄ ̄()__ ) )_)_) (;;;;;;;;;;;;;;;;;;;)(_(
3 :
デフォルトの名無しさん :02/08/03 18:15
VBもDelphiも厨房には同じなんだろうけど 多少でも向上心がある奴にはDelphiの方が伸び易いのだろう。 それは 1、VCLソースが覗ける 2、コンポーネントの自作が楽 3、インラインアセンブラなど、より低レベル処理もDelphiの上で書ける とかの特性+コミュニティの差があるのだろう
VBで作れるのは作り捨ての簡単なシステムだけです、 長年使うようなシステムをVBで作ると後々のメンテで死人続出します。 私はVBもC++も使いますが、今までの経験ではDelphiで作られた システムの方がメンテは楽です。 但し、作り方にもよるんでしょうが、VBのプログラマはどーも基本が 解ってない人が多いみたいで色々と苦労させられる事が多いですね。 だからVBが駄目だとは思いませんが、要するに玄人はC++やDelphiを 使っているケースが多いのかな?などと感じます。
7 :
デフォルトの名無しさん :02/08/03 18:51
単にいつものパターンの罵りあいやってもつまらんので 1.VB厨側から「おらDel厨ども○○○を書いてみろよ」と問題を提示。 2.Del厨側、問いに対するコーディング例を提示。 3.Del厨側から「おらVB厨ども○○○を書いてみろよ」と問題を提示。 4.VBl厨側、問いに対するコーディング例を提示。 5.以後繰り返し。 ・問いに対する回答期限は半日とか、一日とか縛りをつける。 ・問いに対し回答できなかった場合、出題側は出題陣営での言語を用いてコーディング例 を示すこと。誰も例を書けなかったら出題側の負けとする(無茶な問題の抑制) ・・・というのはどうか。 ただ煽り合っているよりは生産的だと思うんだけど。
>>7 無駄だよ。
VBユーザは他の言語のソースなんて高度すぎて読めない。
Del厨ではVB.NETには対抗できないよ。プププ
>>9 既に半数以上がそれより高度なC#に乗り換えてますが何か?(劇藁嘲笑
恐ろしい数のVBっていうプログラミングごっこソフトユーザを囲い込む以上の意図はないよ。
実際、VB.NETに乗り換えられなくて悩んでいるのはVBユーザだけさ。
VB vs Delphi = M$ vs Borland?
>>11 そうそう。早くVB.NETに乗り換えたいところだが、
VBAはまだ.NETじゃねぇのよなぁ。シクシク
もち単体アプリはVB.NETに決まってんだろうがゴルァだけどな
C#スレでド素人質問してるのってDel厨だろ。(プププ
期待通りの展開だな(ワラ
仲良くC#つかえばいいのに
>>15 乗ってやってるってのがワカランのかな?
暇なんだよ!
お題はまだぁ??
>>16 俺たちはそう思ってる。
あっちが使えないから困ってるんだよ・・・。
>>18 取りあえず√実装してくれ。数学ライブラリ使用不可ね。
>>20 ライブラリですでにあるものを再実装なんて馬鹿馬鹿しい。
そんなのオブジェクト指向じゃないね。
お題が馬鹿馬鹿しいんだが、まぁやってみた。 Module Module1 Public Function Rootinko(ByVal itteyoshi As Double) As Double Dim giko As Double = 1 Dim i As Integer For i = 1 To 10 giko = (giko + itteyoshi / giko) / 2 Next Return giko End Function End Module
手続き型で書くルーチンはVBでやろうがDelでやろうが一緒だよ
もう終了か。ハァ
>>23 じゃあ、ポリモルフィズム使ってなんか書いてくれ。簡単でいいから。
今さらMSが捨てたVB叩いてどうするよ。>煽ってる奴
オブジェクト指向全くの初めてなので添削よろしこぴゅっ Public Class giko Public Overridable Sub itteyoshi() MessageBox.Show("逝ってよし") End Sub End Class Public Class siraneeyo Inherits giko Public Overrides Sub itteyoshi() MessageBox.Show("逝っていいんじゃねーの") End Sub End Class Public Class mona Inherits giko Public Overrides Sub itteyoshi() MessageBox.Show("逝っていいモナー") End Sub End Class
この場合ならこっちのほうがよさげ? Public MustInherit Class chara2ch Public MustOverride Sub itteyoshi() End Class Public Class giko Inherits chara2ch Public Overrides Sub itteyoshi() MessageBox.Show("逝ってよし") End Sub End Class Public Class siraneeyo Inherits chara2ch Public Overrides Sub itteyoshi() MessageBox.Show("逝っていいんじゃねーの") End Sub End Class Public Class mona Inherits chara2ch Public Overrides Sub itteyoshi() MessageBox.Show("逝っていいモナー") End Sub End Class
29 :
ちんかすVB厨 :02/08/03 20:32
ハァ
>27 ダメだこりゃ
具体的にここがだめと言われるとすげぇへこむな
意味ふめん
34 :
デフォルトの名無しさん :02/08/03 20:41
次の課題 窓を何も開かずに、 ディスクトップに 大きく下のAAを描くだけで終了するアプリ ∧,,∧ ミ,,゚Д゚彡 ミ つ旦)~~ 〜と,,,~),,~)
>>34 書くののめんどいからやり方だけ。
GetDC(0);かちゃんとした方法で今表示されてるDCを取得。
そこにsetText();
ポリモルね 'オブジェクト名 Module1 Option Explicit Public Sub Main() Dim c As chara2ch Dim n As Integer n = 1 'てきとーに変えてな Select Case n Case 0 Set c = New giko Case 1 Set c = New siraneeyo Case 2 Set c = New mona End Select Call c.talk End Sub 'オブジェクト名 chara2ch Option Explicit Public Sub talk() End Sub 'オブジェクト名 giko Option Explicit Implements chara2ch Private Sub chara2ch_talk() MsgBox "逝ってよし" End Sub 'オブジェクト名 siraneeyo Option Explicit Implements chara2ch Private Sub chara2ch_talk() MsgBox "逝っていいんじゃねーの" End Sub 'オブジェクト名 mona Option Explicit Implements chara2ch Private Sub chara2ch_talk() MsgBox "逝っていいモナー" End Sub
”窓を開かずに” の所で 夏厨 95% 脱落 ディスクトップにの所で残り 1%って感じかな?
>>37 なかなかやるね(^^合格。
>>38 それを難しいと思う時点でアウトだと思われ。
基本はこれでいいのかな。フォントとか座標とか言いたいことはあるだろうけど API直で使うのになれてないし調べるのがめんどくさい。 'オブジェクト名 Module Option Explicit Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long Sub Main() Dim hdc As Long Const l1 As String = " ∧,,∧ " Const l2 As String = " ミ,,゚Д゚彡 " Const l3 As String = " ミ つ旦)~~ " Const l4 As String = " 〜と,,,~),,~) " hdc = GetDC(0) Call TextOut(hdc, 0, 0, l1, LenB(StrConv(l1, vbFromUnicode))) Call TextOut(hdc, 0, 16, l2, LenB(StrConv(l2, vbFromUnicode))) Call TextOut(hdc, 0, 32, l3, LenB(StrConv(l3, vbFromUnicode))) Call TextOut(hdc, 0, 48, l4, LenB(StrConv(l4, vbFromUnicode))) Call ReleaseDC(0, hdc) End Sub
VB6とVB.NETが入り乱れてるな
--------- File DisktopV1.DPR --------- program DisktopV1; uses windows,Graphics; const AA:array [0..3] of string= (' ∧,,∧ ' ,' ミ,,゚Д゚彡 ' ,' ミ つ旦)~~ ' ,' 〜と,,,~),,~) '); var i,y,c:Integer; var Canvas:TCanvas; begin Canvas:=TCanvas.Create; Canvas.Handle:=GetDC(0); with Canvas.Font do begin Name:='MS Pゴシック'; Height:=480 div 5; end; Canvas.Brush.Style :=bsClear; for c:=0 to 255 do begin y:=10; Canvas.Font.Color:=c shl 16 + c shl 8 ; for i:=0 to High(AA) do begin Canvas.TextOut(10,y,AA[i]); Inc(y,Canvas.TextHeight(AA[i])); end; Sleep(1); end; end.
Del版ポリモルがでてない。
Canvas.TextOut(10,y,AA[i]); ↓ Canvas.TextOut(10+c div 5,y-C div 31,AA[i]); とすると少し3Dになるんでお試しあれ
46 :
デフォルトの名無しさん :02/08/03 21:32
俺DelphiもVB6も持ってないから試せない。 よって、無料で動かせるVB.NETの勝利ということで。
>>40 ポリモルしてないじゃん。あなたのはただ継承してるだけ。
>>43 Disktopってのが夏厨っぽくてハイスコア。
~
でも、昔はディスクトップって言ってたんだよ。最近のヤシは知らないだろうけどさ。
>>51 昔もディスクトップなんて言わん。あんたが間違っていただけ。
という事で次のお題 1、 実行時の第一引数で指定したのがファイルなら そのファイル 2、 ディレクトリならサブディレクトリを含めて全て のファイルから disktop の文字列数を数えよ
>51 >昔はディスクトップって言ってたんだよ 言ったとしても DISKTOP とは書かないだろ。 つか言ってたのはお前だけだろ?
×DISKTOP ○DISCTOP
単純に VB:Instrや Delphi:posで検索するんじゃ面白くないから disktop p+6 文字目を調べて disktopの何れかと 一致したら 6543210 だけpを移動 というのを実装してみてね
>>41 対
>>43 派手さとかの面では43の勝ちだけど、 サイズだけは41の勝ち
窓開かなくても結構大きいね
>>41 たかがTextOutするのに
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
は萎えるな・・・
>>59 なんで? DelphiでもVCL被せてるだけで、結局同じような事やってるわけで
Delphiだって 例えばフォントを回転させるなんて条件がつけばVCLの範囲で出来ないわけでしょ?
カタログにさえディスクトップと書いてある時代があった
>>59 はAPIの宣言が面倒と言いたいと思われ。
Delphiはusesで、当然C/C++は#includeで、既存の宣言を使い回せるから。
,,,,,,,,,,,,,,,∧,,∧ おまいら! 〜′,,,,,,,,,,ミ,,゚Д゚彡 VB.NET最強!これ定説ですよ! UU"""" U U
>>60-61 いいえ、WindowsAPI2つ呼ぶだけです。
Windows.pasをVCLと言うのなら、Cのwindows.hも否定することになる。
DeclareがめんどくさいならWIN32API.TXTをWIN32API.BASにリネームして プロジェクトに入れればいいやん。
>>66 どうしてデフォルトで用意されてないんだろうね。ふと疑問。
後、APIビューア、妙に手を抜かれてる気がする。
APIは叩くなってことだ。
厨房はちゃんと勉強してから叩きなさいって事だろ。
>>68-69 ふぅん、てっきり
>>60 みたいなのを作るとすべてのAPIの呼び出し用ドライバとかが組み込まれるんだと思ってた。
>>70 >APIの呼び出し用ドライバ
何の話をしている?
73 :
デフォルトの名無しさん :02/08/04 14:48
良スレあげ
どちらの言語でもAPI使わないとダメそうなお題。 デスクトップにショートカットファイルを作成する関数を作る。 関数の仕様 引数a 文字列型。実行プログラムへのフルパス 引数b 文字列型。実行プログラムへの引数 引数c 文字列型。作業ディレクトリ 引数d 数値型。実行時のウィンドウ状態 戻り値 Bool型。成功ならTrue、作成に失敗したらFalse。
>>74 で、作成先が指定されてないんだが。
仕様の時点でアウトっす。
76 :
デフォルトの名無しさん :02/08/04 15:41
普通は実行プログラム名じゃないの?
>>74 >どちらの言語でもAPI使わないとダメそうなお題。
んだから、使うほうからすると API と VCL/RTL に差は無いんだってばよ。
誰が作ったのか程度の違いしかない。
イイとかダメとかの話ではない。
>>79 突っ込む所は、 API じゃなくて COM だろ ! では?
これは COM をどれだけ簡単に扱えるかの勝負だろ
VB6 は COMの為にあるようなもんだから強そうだね
DelphiもOLEVariant実装してるらしいから結構やるんでは?
「強い」と「結構やる」は別次元だと思うけどなぁ。プププ
死刑宣告された技術(COM)で競ってもしょうがあんめ
>>80 VBはIDispatchだけ、 DelphiはGUID使った呼び出しも楽だから
>>83 腐る直前が一番美味しいんだよ
>>84 > VBはIDispatchだけ、
少し調べなおした方がいいぞ。
uses ComObj,ActiveX, ShlObj ,Registry ; type TShortCutAdr=(scDiskTop ,scStartMenu, scPrograms ,scSendTo, scPersonal ,scTemplates); function GetShortCutPath( adr:TShortCutAdr):String; begin with TRegIniFile.Create( 'Software\MicroSoft\Windows\CurrentVersion\Explorer') do try case adr of scDiskTop : Result:=ReadString('Shell Folders','Desktop' ,''); scStartMenu: Result:=ReadString('Shell Folders','Start Menu',''); scPrograms : Result:=ReadString('Shell Folders','Programs' ,''); scSendTo : Result:=ReadString('Shell Folders','SendTo' ,''); scPersonal : Result:=ReadString('Shell Folders','Personal' ,'');//My Documents scTemplates: Result:=ReadString('Shell Folders','Templates',''); end ; finally free;end; end; function ShortCut(Path,Arg,Dir:String;ShowCmd:Integer):IPersistFile; var Obj: IUnknown; begin Obj:= CreateComObject(CLSID_ShellLink) ; with Obj as IShellLink do begin OleCheck(SetArguments (PChar(Arg ))); OleCheck(SetPath (PChar(Path))); OleCheck(SetWorkingDirectory(PChar(Dir ))); if ShowCmd >=0 then OleCheck(SetShowCmd(ShowCmd));//SW_SHOWNORMAL SW_SHOWMAXIMIZED SW_SHOWMINNOACTIVE Result:= Obj As IPersistFile; end; end; procedure MkShortCut(adr:TShortCutAdr;name,Path,Arg,Dir:String;ShowCmd:Integer); var wname:WideString; begin wname:=GetShortCutPath(adr)+'\'+name+'.lnk'; with ShortCut(Path,Arg,Dir,ShowCmd) do OleCheck(Save(PWChar(wname),False)); end;
procedure MkShortCut(adr:TShortCutAdr;name,Path,Arg,Dir:String;ShowCmd:Integer); 引数name adr ショートカットの位置 ディスクトップに作る場合は scDiskTop にして下さい 引数name 文字列型。ショートカットの名前 引数Path 文字列型。実行プログラムへのフルパス 引数Arg 文字列型。実行プログラムへの引数 引数Dir 文字列型。作業ディレクトリ 引数ShowCmd 数値型。実行時のウィンドウ状態 戻り値 なし、エラーなら例外を送ります
コードが出てくるとあんまり荒れないなー。
読めない奴が多いからな
90 :
デフォルトの名無しさん :02/08/05 04:27
ところで、 Dim a,b,c As Integer って宣言すると、整数型になるのは a だけで、 b と c はバリアント型になるっていう、非人間的な仕様は 改善されたのでしょうか。 わたしは、昔、これで、VBやる気力が失せましたが。
91 :
デフォルトの名無しさん :02/08/05 04:33
ところで int* a,b,c; って宣言すると、整数のポインタ型になるのは a だけで、 b と c は整数型になるっていう、非人間的な仕様は 改善されたのでしょうか。
ところで var a^ , b , c :Integer; って宣言すると、 ***以下略***
>>90 あの〜、整数型になるのはcだけでは?
>>93 そんな宣言見た事無いんですけど。
こうです。 var a,b,c: ^Integer;
>>94 そりゃだって書けないもの
こうしか書けない
var a :^Integer; b , c :Integer;
>>97 で、bはバリアントと。怖い仕様だね・・・。
>>98 え?
var a :^Integer; b , c :Integer; は
var a :^Integer;
var b , c :Integer; と書いたのと同じでvarは const や type が来るまでは変数宣言ですよという意味
引数の時のみ var は ; 迄しか有効じゃなくて、これは参照ですよという意味
それからバリアントだろうと型宣言は省略出来ない
唯一、引数の時で参照宣言の時のみ書かない事が出来るけど、それはバリアントではない
>>99 const の時も型を書かない事が出来るよ
const kazu=123; とか
const moji='123' とか
やっと 絵が回転したよ program DesktopV2; uses windows , Graphics; const AA:array [0..3] of string= (' ∧,,∧ ' ,' ミ,,゚Д゚彡 ' ,' ミ つ旦)~~ ' ,' 〜と,,,~),,~) '); const FontName='MS Pゴシック'; var i,y,c,sz:Integer; Canvas:TCanvas; lf:LOGFONT; hFnt,hFntPrev:HFont; s:double; begin Canvas:=TCanvas.Create; Canvas.Handle:=GetDC(0); Canvas.Brush.Style :=bsClear; for c:=0 to 255 do begin s:=PI*(256-c)/2/256; Canvas.Font.Color:=c shl 16 + c shl 8; y:=10; sz:=64+c div 6; with lf do begin Move(PChar(FontName)^,lfFaceName , Length(FontName)); lfCharSet := SHIFTJIS_CHARSET; lfHeight := sz; lfEscapement := round(1800*s/PI); end; hFnt := CreateFontIndirect(lf); hfntPrev := SelectObject(Canvas.Handle , hfnt); for i:=0 to High(AA) do begin Canvas.TextOut( 100+sz*1+round((y-c)*sin(s)) ,100+sz*2+round((y-c)*cos(s)),AA[i]); Inc(y,Canvas.TextHeight(AA[i])); end; DeleteObject(hFnt); end; while GetKeyState(1)>= 0 do ; InvalidateRect(0,nil,True); end.
>DesktopV2 ~ ブーブー!
105 :
ちんかすVB厨 :02/08/05 19:22
ポリモルがちょっとわかったかも。 age
>>101 型付き定数は代入が出来るんですよね。
あと、ローカル型付き定数は値が保存される。
(同じプロシジャを複数実行しても、値が保存されている。)
>>106 VBはそうなの?
Delphiは const には代入出来ない。 初期値付変数なら代入は出来るけどね
(´-`).。oO(そもそもconstな変数に代入できたらconstの意味が‥‥)
Delphiの面白い機能は 配列の定義かな たとえば data:array [Byte] of Integer; とやると Byteの大きさの配列が作れる byteは8bitだから data:array [0..255] of Integer; としたのとほぼ同じ 列挙型を用意しておけば hoge:array [boolean] of Double; とかも作れる で for i:=low(hoge) to High(hoge) do みたいに処理出来る
>>110 へぇ、便利になったねぇ。そら、0ベース以外の配列なんて使いにくいしな。
112 :
デフォルトの名無しさん :02/08/06 06:10
113 :
デフォルトの名無しさん :02/08/06 06:27
ここってマジ厨房スレなんだな(w
>114 わかったからコード晒してよ。
>>109 TimerコンポーネントのOnTimerに、
const
i: Integer = 1;
begin
i := i+1;
Caption := IntToStr(i);
end;
と書いてみてください。分かるはずです。
ただし、コンパイラオプションで「型付き定数への代入」のチェックが外れていたら無効ですが。
>>116 ああ、C言語のstaticね。それって定数じゃなかった気が。なんか違う名前あったっしょ。
118 :
デフォルトの名無しさん :02/08/06 11:07
>>117 型付き定数、では?
C言語は全く知りませんが。
ageちまった・・・スマソ
>>118 うむ、型付き定数だった。離れて久しい&staticは使うべからずってのがあったから。
>>120 Cのstatic=Delphiの型付き定数?
漏れも型付き定数はPascalらしくないんであんま好きじゃないです。
>>121 関数内でstatic宣言された変数は関数処理終了後も値を保持し続ける。しかしスコープは関数内のみ。
型付定数を書込可能にして使ってる奴が いまだにいるのに驚き オブジェクト型もバリバリに使ってそうな・・・ DelphiはCと違ってunitが隠蔽してくれるから、 unit内グローバルで 初期化付変数を使う方がいいでしょう ただ static int r1=123; void func() { static int r2=456; } こんなふうな r2も r1と同じようにブロックの外に書かないといけないけど
>>123 >型付定数を書込可能にして使ってる奴が いまだにいるのに驚き
デフォルトでONだからそのまま使ってた罠。
カウントダウンとかする時とかに便利だし・・・。
さすがにオブジェクト型は使ってません。
次期Delphiではクラスメソッドに加えクラス変数も使えるそうだ。 あんまり関係ないか。
126 :
デフォルトの名無しさん :02/08/06 11:58
>>126 Javaで言うクラス内でのstatic変数。
インスタンスを作らなくてもアクセスできてしまう、ネームスペース付きグローバル変数。
インスタンスの数を制限するシングルトンパターンを もう少しスマートに書けるかも。まあ、ユニットローカルな 変数でも別に困らないんだけどね。
>>128 うん まったく困ってないな
初期化節とかあるからユニットがシングルトンパターンの表現みたいなもんだし
なるほど。ようやくVB.NETに一歩近づくのか。
>>なるほど。ようやくVB.NETに一歩近づくのか。 そう思いたいのですね?
132 :
デフォルトの名無しさん :02/08/06 12:43
D7ではエンプラの上にアーキテクトまで出すのか・・・
>>134 それはウソ。132のリンク先にこの夏の末って書いてあるじゃん。
Delphi 7 will be available in three editions: Delphi 7 Architect is priced at $3,499, Delphi 7 Enterprise costs $2,999, and Delphi 7 Professional is $999. A personal edition also will be available for free download at www.borland.com/downloads. (((゚Д゚)))ガクガクブルブル....
ありゃ?6のProも$999か‥‥ 日本語版が安いのか?
142 :
デフォルトの名無しさん :02/08/06 17:42
VBってなに指向なんですか?
(;´Д`)指向
144 :
デフォルトの名無しさん :02/08/06 18:37
スレ違いだろ しかもDelphi Studioってパクリか?
いいじゃん別に。これといった話題無いんだし。
Pro以上にはKylixもついてるね。(C++バージョンはBCBへの統合か?) Rave ReportってKylixでも使えるのが新たに付くらしい。 (Quick Reportはいよいよ捨てか?) Ent&Architectは他にもサードパーティツールが盛りだくさんみたいだ。 (BOLD, ModelMaker, IntraWeb) DataSnapが配布ライセンス不要になったらしい。
なんか詐欺っぽくない?どこが.NET対応? COMコンポーネントでexport/importしてるだけじゃん。
別にそれでいいよ。.NETそんなに浸透してないし。
>>150 COM対応レベルならVB5程度ということだね。
VB.NETレベルに追いつくには何年かかるのだろう。
プレリリースプレビューも付くんだから準備段階としては 十分かな。
153 :
デフォルトの名無しさん :02/08/06 19:37
.NETの第2フェーズがあと3年かかるらしいから、 ま、じっくりやってよ。って感じ。
VB.NETに例えるならUpgrade Wizardに30マソ払うようなものか。 Del厨っていいカモだね。(プププ
>>155 誰も買うとは言ってない罠。
そう言えば「ソースはアップグレードできてもユーザはVB.NETにアップグレードできない。」って記事があったね。
VS.NETのベータに30万払うと解釈することもできる。 VSの場合は雑誌のおまけでついてきたけど。
ほら、コードを書かないとこういう展開になる。(ワラ
VB.NETを使いこなしているエリートVBプログラマ(プの集うスレはここですか?
>>159 まぁ、VB厨の中ではエリートじゃない?
後、プログラマって言うな。ユーザにしてくれ。
163 :
デフォルトの名無しさん :02/08/07 17:30
レスどうもありがとうございます。 難しいことがやりたいのではなく、ブラウザみたいに実用的なものを作って勉強していくということなんです。まだ、レベル低いので。 というわけで、IEコンポーネントを使ってやってみることにします。
VBユーザの人に質問なんすけど、VBでbtreeのようなデータ構造を 書く時ってどうやってるの?
166 :
デフォルトの名無しさん :02/08/08 13:13
DelphiのIDEで各Windowをドッキングする為にはどうすればいいのでせうか... 厨なわたしに教えてくだされ...
167 :
デフォルトの名無しさん :02/08/08 13:14
バージョンは6のPersonalでし。
VBにする
いや、VB.NETの方がいい
前に何かのVBでアルゴリズムを実装する記事で、 ユーザ定義型に参照先のインデックスを含めておいて、 その配列で実装する、というのを読んだ気がする。
結局配列な罠
>>174 btreeの実装が配列だから、結局配列と言うのは馬鹿。
>>176 要素の入れ替え、削除、挿入ができる配列な。
178 :
デフォルトの名無しさん :02/08/08 16:05
_________ /∴∵∴ヽ |∵∴∞ヽ| ___ |∴/= ♀=| <うるせー馬鹿! \| ▽/  ̄ ̄ ̄  ̄ ̄
btreeって何?
2分木。情報処理の試験じゃ普通に出てくるが。
2分木なら知ってる
>180 2分木じゃねえだろ。多分木。 勉強しる!
それじゃぁcompositeパターン使っておしまいじゃん
属 <正直すまんかった
バランスのB・・・いやネタにマジレス・・スマン・・厨房がホントにBがバイナリと思ってもなんだし
バイナリーランドって難しいよな、
>166を教えて下され誰か。
>>189 IDEのバーにドッキングしたいの? それは無理
マウスの右ボタンおしてドッキング可能になってたら兎に角ドラッグしてみたらどう?
これから作るアプリ、じゃなくてIDEでしょ? 普通にD&Dで近づければくっつくと思うのですが。
192 :
デフォルトの名無しさん :02/08/12 11:04
VB=プレステ Delphi=ドリームキャスト
>>192 VB:プレステ
Delphi:パソコン
じゃ C#は XBOX? PS2は何?
195 :
デフォルトの名無しさん :02/08/12 11:51
Delphiマンセー
ポケコンBASIC=ゲームウォッチ N88BASIC=ファミコン GBとN64も思い付かないなあ
PS2はC++?
>190-191 オブジェクトインスペクタとプロパティシートは普通にD&Dしてくっつきました。 その他の窓(フォーム、コード)はくっつかないみたいなのですが...
>>198 みたいですね。 そういうもんです。
VisualStudioみたいなのが好みですか?
でもこっちのスタイルも軽くてイイ感じだと思うんだけどなあ
C#=Cell Del=x86-64 VB=386
>199 あ、やっぱりそうなんですか。 個人的には1つの窓に全部まとまっているほうが好きだったので、出来たらいいなと思っていたんですが。 こっちで慣れるようがんばります。 あんがとさんです。
202 :
デフォルトの名無しさん :02/08/12 14:03
RUBY = ピピン@
203 :
デフォルトの名無しさん :02/08/12 15:14
>>952 VBのルール
・関数名、変数名は8文字まで
・ローカル変数は使わない
・全ての関数でデバッグメッセージを表示する
最低限これ必要
>・関数名、変数名は8文字まで いつの時代の制約だよそれ
>>205 > ・ローカル変数は使わない
こっちに突っ込むべきかと。
いいや952に突っ込むべきだろう。
先は長いな
210 :
デフォルトの名無しさん :02/08/20 14:57
夏はどうですか。 終わりますか。
211 :
デフォルトの名無しさん :02/08/30 23:50
さて、Delphi七が発表されたわけなんですが
しっかし、.NETでVB使うやつなんているんか? 新しく覚えるならC#だろ??
いいえ。COBOL.NETでス。
>>212 まぁ今のところ.NETで一番仕事があるのはVB.NETなわけなんだが。
いちいちrefって書くのがうざいからVBのほうが良いってひともいるかもしれん
プッ
217 :
デフォルトの名無しさん :02/08/31 02:34
いまどきVBのまともな仕事なんかねーだろ
昔から仕事がないDelphiよりはマシでしょう。
あれだけあったVBで開発されていた仕事は、今何を使って開発されてるんだ?
だからCOBOL.NETだってば。VB厨の実体は約90%がCOBOLerなんだから。
今でもVBが一番仕事あるって。
>>221 仕事あるったって
VBの場合、VBって指定された時点で請けたら時給にしたら日雇人夫にも劣るようなものばかり
しかもVBだと熟練しても手間と時間のかかり具合は同じ、効率はそう上がらない
とてもこれで女房子供は食わせられないよ
まあ元で請けて仕事投げる方に回ればいいけど、皆同じような狙いだから厳しいやね
あんたもそれ狙ってんだろ? でも現実は厳しいよ
223 :
デフォルトの名無しさん :02/08/31 22:38
夏が過ぅぎぃ 風あざみ 誰のあこがれにさまよう〜♪ さあ最後のバトルでもどうぞ〜
夏が過ぎ風あざみ 誰のあこがれにさまよう 青空に残された 私の心は夏模様 夢が覚め夜の中 長い冬が窓を閉じて 呼びかけたままで 夢はつまり 想い出のあとさき
Delは優れたツール。だが優れすぎて理解できない奴が多い。故に仕事がない。 VBは優しいツール。だが優しすぎてレベルが低い奴が多い。故に生産性が低い。
VBの生産性が低いんじゃなくVBプログラマの生産性が低いのね。
VC++ and VB 使っとる房です。 次にVB.NETかC#でもやってみようかと 思っとりますが、どっちが取っ付き易 いですか?(ここの連中に・・・)
どっちも使えるならそんな質問すんなや。
やっぱC#じゃないかのー VBは言語仕様がガラリと変わっとるけん
230 :
デフォルトの名無しさん :02/09/01 20:25
Delphiの.NET対応では、delphi7でできるのでしょうか。
>>230 .NET対応って
具体的にどうなると、.NET対応と
呼ぶのだ?
.netのランタイムの上で動くプログラム作れて、 クラスライブラリ使えることぐらいじゃねぇの?
>>232 サンクスコ。
でも、
>.netのランタイムの上で動くプログラム作れて、
.NETはマルチプラットホームといっても、どーせ
当面は稼働環境はWinだけだろうし、それならWin上
でNative(ランタイム無し)で動く今までのDel
で十分だと思う。
クラスライブラリもActiveXなら、OLEVariantや
タイプライブラリの取り込みでほぼ実現可能では
ないのかな。
妄想で勝手に結論付ける代わりに ちょっと検索すればわかる事を何で調べないんだろ・・・
233じゃないけど、 .NET構想って、ちょっと検索しただけで 解ることか?
> .NET構想って、ちょっと検索しただけで > 解ることか? そう、ちょっと検索しただけでアホな構想であることは すぐ分かる
そもそもマルチプラットフォームを期待してる方が間違い。 Framework少しでも触ればわかるが明かにWindows専用。 移植できたとしてもまともには動かないであろう。 アレはマルチWIndowsを達成するための手段でしかないよ。
>>237 少ししか触ってないからWindows専用と思い込んでいるんですね。
237が書いている「WIndows」のIが大文字である事にに深い意味があるのか 気になって夜も眠れません。助けてくだちぃ
昼にに寝てください
夜「も」眠れませんと書いているじゃないですか。 つまり昼も眠れないんです。
じゃ、夕方と朝だね。 まぁ、気にするな。.NET はアホなプラットホームでも MS とその盲目的追随者によって普及することになるだろうから。
.NET プラットフォームとは インターネットを基盤とした標準プロトコルとオープンな規格に基づいて作られた、 サービス指向のプラットフォーム。.NET プラットフォームは、インターネットでの 標準プロトコル(HTTPなど)やオープンな規格(XML 、SOAP など)に基づいて 構築されたプラットフォームです。Microsoft Windows(R) OS は、 .NET プラット フォームを実装するための重要な手段の1つですが、 .NET プラットフォームの ターゲットプラットフォームは、Windows OSではなく、いわばインターネット自身です(キッパリ)。 サービス指向は、 .NET プラットフォームの本質を表す重要なキーワードです。 .NET プラットフォームはユーザー本位のサービスを提供するものであり、 特定のOSやアーキテクチャに関係なく、ユーザーは透過的にサービスを利用できるようになります。 .NET プラットフォームは特定の実装手段に依存しない、インターネットを基盤とした オープンなプラットフォームです(核爆)。
理想は高く、現実はさびしく....
もう終わり?
Del厨:1件 VB厨:3件 よって、VBの勝ちです。
247 :
デフォルトの名無しさん :02/10/02 22:15
もう秋だね。秋厨対決まだぁ?
.NET構想とは「.NETはオープンなプラットフォームなんですよ!」と言って、 『オープン(マルチ)プラットフォームマンセー』な方や『MSがいつまで持つんだyo!』な方にも 抵抗感をなくそうっていうだけのことです。 #SUNがJavaをWrite Onece, Run Anywhereって言うのに近いっちゃ近い?
249 :
デフォルトの名無しさん :02/10/04 04:50
もう秋だね。秋厨対決まだぁ?
250 :
デフォルトの名無しさん :02/10/14 10:57
秋になってもDelphiの負けは変わらず
251 :
デフォルトの名無しさん :02/10/16 17:17
もっとこーい。
もういいよ。Delphiが技術的に勝ってんだから。シェアで負けたとしても。
253 :
デフォルトの名無しさん :02/10/16 17:29
というか、VB出荷停止が決まってるじゃん。
254 :
デフォルトの名無しさん :02/10/16 17:32
.NET大ブーム9 GUIの非クロスがバレバレ クラスライブラリから直接 CreateWindowEX 呼んじゃダメだろ。 GUI 関連は、CLI にも CLR にも含まれて無いからISO的にもOK? 途方に暮れた Mono チームは Form 出すために Wine を呼び出すことを考えているそうで本末転倒。 ここはひどいクロスプラットフォームですね。どうするMS。 複数言語単一ランタイム、実行時ベリファイ、実行時セキュリティなんて、 動けば良い&VBマンセーのブビ厨には要らねーよ。.NETは壮大なネタでした。
>>254 なにこれ? 煽りってこんな低いレベルのこと言ってるの?
インターネットを碁盤にしる
257 :
デフォルトの名無しさん :02/10/16 18:11
さすがブビ厨、事の重大さが分かってない。 ”クラスライブラリ〜”の、致命的な問題を読み取れなんだな。 無知は恐ろしい。
無知って昔からよく致命的でない問題を大問題にするよな。 なんでもない自然現象を悪魔の仕業とか(w
259 :
デフォルトの名無しさん :02/10/16 18:18
>無知って昔からよく致命的でない問題を大問題にするよな。 「問題を大問題とする」ことが言いたいんだな。 >なんでもない自然現象を悪魔の仕業とか(w 「自然現象の原因を間違う」ことが言いたいんだな。 文が繋がってないよ((((;゚д゚)))))ガクガクブルブル
>>257 何かあったら二言目には何の脈絡もなくブビ厨。
明らかに煽る目的だけで書いているわけでまともに反論するだけ無駄。
262 :
デフォルトの名無しさん :02/10/19 17:37
age
具体的にここがだめと言われるとすげぇへこむな
期待通りの展開だな(ワラ
いまどきVBのまともな仕事なんかねーだろ
267 :
bloom :02/11/22 16:27
268 :
デフォルトの名無しさん :02/11/24 17:42
272 :
デフォルトの名無しさん :02/12/29 08:07
冬厨用に再利用
VBもDelphiもまとめてかかってこい
DelphiにしろVBにしろC#にしろどれも似たようなものに見える。 DelphiとC#は同じ人が作ったというし。 C#はJavaに似ているどころかVBやDelphiににているところがある。 VBやるならVB.Netをやれ。 VB.NetをやるならC#をやれ。 C#をやるならJavaをやれ。 JavaをやるならAspectJをやれ。
>>273 C#でFirebirdを使えるようにしてください
IDEだけでVBに似てるとか言ってるんじゃないかと小一時間(略
277 :
デフォルトの名無しさん :02/12/30 11:24
ま、IDEが重要なわけよ。 某のコンポーネント派生型&2way toolであるDel。 Javaはそれをマネタシ、C#にもコピーされた。 ゴミ箱行きになったのは、コンポはコンポ作成言語、 コンポ利用はコンポ利用言語の形態をとったブビ。
今いくらぐらいするんだ?>VB.NET
>>278 なんか はじめよう.NET キャンペーンみたいなのやってたと思うけど、値段じゃなくて
なんか入門CDROMが1枚ついてるだけみたいだったぞ。
それに来年夏には 次バージョンが出るみたいだしな
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を提出することがある。
>>1 =無職
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ひろゆきさん削除人はどうなってるんですか? 違反してるのに消してくれないんですけど
ひろさださん、宝くじで何か買いました?
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を提出することがある。
これで「2ちゃんねる」は匿名掲示板の看板を下げたわけですが、 「2ちゃんねるガイド」の説明がまだ直っていないみたいです >誰もが自由に書き込みが出来る匿名掲示板のシステムには、 >アンダーグラウンド(UG アングラ)のイメージが付きまと >いますが、運営者としてはそういうスタンスではありません。 本運用になったら直すのでしょうか あとNiftyみたいにですます調で書き込みしないといけなくなるかも (^^;
>>65 だね、かちゅで見落としたよ。
ありがとう。
>97 2chやってるからヒッキーって責任転嫁が既に敗北者っぽ・・。
悲しみを肴にオナニー
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
qbだけじゃなかったのか
>>540 鑑定スレでお願いしようとして誤爆し・ま・す・た・!
>>354 1はマスコミに期待しすぎと思う。あと無数の散文情報をいかに有意義に処理するか
アルゴリズム開発がまだまだだしなー。
>>343 と同じスパンの話なら禿同でつが。
2は・・・・・・東でも南でも北でもない某を思い出すのでマジレスできません(w
>>355 割りきってはいるんだけどね。なんか「やって」ほしいのに、最近受け身なんだものな。
むしろ 見つけたおまいが 凄い フムフム へるすネ (・∀・)
また新しい形態の「便所の落書き」が出てくることを期待
ガ━━(゚Д゚;)━━ン!ガ━━(゚Д゚;)━━ン!ガ━━(゚Д゚;)━━ン!
こえぇ〜(゚Д゚ )ポカーン
>>336 インペリアル・パカ
ならお売りいたしましょうか?
今いくらぐらいするんだ?>VB.NET
2chは自滅の方向へ向かっております。
懐かしいなそのコピペ。一時期はやったよね。もう2年くらいになるか。
さん 多少の欠点には目をつぶります。 2chを救って下さい。。。
似非タソ、春になったらツーリングね!
IDからIPを再構成できるんですか、技術的には??
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
38みたいのは貼って大丈夫なのか?
普通に考えてひろゆき?
トリップの作り方とか馬鹿にはわからんよ(;´Д`)
似非タソ。こっちは毎日路面がカチカチになってます。 ばい軽い沢
まぁなんだ 「ひろゆきよ ラウンジが重いんだが・・・と電話しまくって即閉鎖」 が一番早そうだな(藁
以前に、この世に匿名なんてものはありません
IT ITって大騒ぎ 多分9割は楽しんで騒いでいる
やったね━━━━(゚∀゚)━━━━IPマンセー
昨日の今頃、キリ番取り合戦やってたなw
チョト(略
じゃあトリップ変えるか
ハソコン初心者だがアケ板見れるけど?
(^^)
ループコピペ厨は年越しは一人ぼっちの筆記
(^^)
(^^)
VB サイキョー!
えっ、VB災凶?
327 :
デフォルトの名無しさん :03/04/15 17:27
なんか春厨対決があったようなのであげ
会社でいきなり企業向け向けのソフトのデバッグをしろと言われたんでつが 予備知識なしでもVBが丸ごと解るホムペあったら教えて栗。 むちゃだよなぁ1週間で仕上げろといわれましても・・・
確かに・・・・よほど適性が無いかぎり無理でしょうね。 それは、いわゆるパワーハラスメントですか?
330 :
デフォルトの名無しさん :03/04/15 20:51
VBはどこまでいってもVBだなあ Delphiより文法的にはリッチで高機能なのに、 規模が大きくなればなるほどVBは収束しない。 まったくどうしてだ?
単にマトモなDelphiプログラマとヘタレなVBプログラマを比べてるだけだろ?
まあお互い煽るのが目的だからだろうな。 まともな話をしたいわけではなさげ。 真面目にレスした奴が馬鹿をみる。
(^^)
オナニースレ死滅記念AGE
VBの場合、あまりに初心者向けすぎると思う。 入門者に優しすぎな環境が自称プログラマを育てない。 結果コミュニティも厨同士の馴れ合いになって教えて君であふれてる。
847:デフォルトの名無しさん:03/04/19 11:55
>>796 このページができた原因ってもしかして・・・。
http://msdn.microsoft.com/vstudio/partners/localization/ 864:デフォルトの名無しさん:03/04/19 12:28
>>847 知っている人は知っているんだけど、異なる言語の 1.0 と 1.1 を同じ環境にインストールすると .NET は発狂する。
SDK の README にも重要な注意として明記されているし、実際混ぜると変なエラーメッセージが出まくる。
対応策として
A: ローカライズ版 1.0 を抜き、英語版 1.0 を入れる。
B: 1.0 と同一言語のローカライズ版または多国語対応版 1.1 を入れる。
を MS は公開している。
A案は、英語版の FrameWork で使ってください。というもの。
B案は、1.0 と同じ言語の 1.1 を入れれば大丈夫ですよ。というもの。
B 案のほうがまともな案なのだが、この「多国語対応版」 .NET Framework v1.1 を
英語版 1.1 と同時にリリースする話だったのだ。
Windows MUI 版と同じでインストーラドキュメントは英語のまま。.NET Framework としての UI / 実行時メッセージが多国語対応。
かつ(たぶん再起動が必要だが)切り替え可能。というもの。
これがなぜかいまだにリリースされていない。
ほとんどのマシンには Windows Update で、適切な言語の .NET Runtime がインストール
されちゃっているから、現時点で 1.1 アプリを配布することは実質的にできない。
MUI 版が出ないとアプリを配布できない開発環境になることは分かっているはずなのに > MS
∧_∧ ( ^^ )< ぬるぽ(^^)
∧_∧ ( ^^ )< ぬるぽ(^^)
339 :
デフォルトの名無しさん :03/04/20 18:20
>>335 入門者に優しいというか、
入門者しか使えないような構造がよくないんじゃないかな
例えば文字列、
Pascalの文字列とBasicの文字列は似てるけど、
basicの文字列は文字単位に処理しようとすると、MID$くらいしかない。
でも、Pascalの文字列は配列として文字単位にアクセス出来る。
VBは構造化構文を色々増やして、その点では既にDelphiよりリッチだけど
文字列の扱いが全てダメにしてきたように思うな。
>>339 文字列を文字の配列とすることができない言語ってVBに限らずたくさんあるが、
それらにも言える?
341 :
デフォルトの名無しさん :03/04/20 18:26
>>340 VBは 構造化言語なのに って事で、関数型言語なら別の視点があると思うよ。
文字列の扱いは、構造化言語なら、確立された技術があるのに
Perlとかさぁ・・・・ あれもsubstr使って切り出すしかないでしょ。そんなことない?
343 :
デフォルトの名無しさん :03/04/20 18:34
>>342 Perlは目的、目標が違うから比較にならんでしょう。
VBAなら VBの文法はいいと思うんだけどね。
なんかどんどん主張があやふやになってるね。 念のために言っておくけど、VBでは文字列はバイト配列に 代入することでバイト単位に処理できるから。
345 :
デフォルトの名無しさん :03/04/20 19:49
>>344 主張というか、VB使いってなんでああなんだろうって不思議なんでどうしてかなと。
もしかして、文字列のせいかな? 程度のことなんだけどね。
ところで、その方法だと、配列への複製コストを支払う必要があるでしょ。
他の言語、例えば、Delphiだと、PCHAR型に型をキャストするだけとか、
>>345 結局何が言いたいのかわからない。
VBは「こう」あるべきだという主張があるようだが、
構造化言語だからVBは「こう」あるべきだと言っていたと思えば、
Perlを持ち出されて、構造化言語だからではなく目的が違うからという。
ではPerlとVBの目的の違いはなんなんだね? その根拠は?
それとVBは構造化言語というがクラスやインタフェースなどの
概念があることをどう考えるのかね?
>>346 いや別にあなたに何か言いたい訳じゃない
構造化言語という概念と、クラス・インターフェースとは別の概念で無相関だと思う私とは
同じ言葉でも、意味はどこか違うのでしょうし
>>345 あれって、新たに領域切って使うことになってるんじゃないの?
だとしたら仮にそれを短所と言われても仕方ないかと。
なわけない。 高速DelphiのVCLの中身はWin32APIコールバリバリであって。 というか、メモリ不足バリバリで超低速のVBとDelphiを比較するのはやめなさい。
delphiって、まだデストラクタを自分でよばんといかんの?
>>350 オブジェクト型からクラス型、そしてインターフェース型の3つがあるけど
インターフェース型なら参照カウンタによって自動解放が可能
クラス型でもコンポーネント継承なら親子関係で自動解放される
352 :
デフォルトの名無しさん :03/04/29 01:19
>クラス型でもコンポーネント継承なら親子関係で自動解放される 自分これが一番好きだけど。ガベコレと違って性能も問題無いし。 >インターフェース型なら参照カウンタによって自動解放が可能 開放忘れててメモリ食ってないかなー、とか不安になる場合ない?
> 開放忘れててメモリ食ってないかなー、とか不安になる場合ない? あります。だからコンポーネント継承なぞ信用できません。 ついでにDelphi自体信用できません。
極端だなぁ。 インターフェースはCOM関連。つまりM$関連。 M$関連は信用できない。 これくらいの単純な考え方でいいんだよ。 どうせM$厨を煽るネタにするだけなんだから。
>あります。だからコンポーネント継承なぞ信用できません。 >ついでにDelphi自体信用できません。 コンポーネント継承はVCLコード見れるので超信用できる。 信用出来ないのはActiveXや.NET。
>>356 そんなこといったらwindowsはソース見れないから使えないじゃん。
おれはVB厨なので、Delphiはよくわからんのだが、 以下のような場合、Delphiでは下のようになるのか? 1.インターフェース型Aをローカルで宣言。---参照カウント1。 2.AをクラスBのインターフェース型メンバ変数Cに代入。---参照カウント2。 3.関数終わり。---参照カウント1。 4.クラスBを破棄。---参照カウント0。Aが破棄される。 ヘルプだけじゃ、さぱーりわからん。 つーか、ヘルプが簡素すぎるような。
2003 Summerをむかえようとしているわけだが
360 :
デフォルトの名無しさん :03/05/02 21:11
勝った負けたと騒ぐじゃないよ、後の態度が大事だぜ♪
361 :
動画直リン :03/05/02 21:13
>>1 インターフェース型変数を宣言しただけじゃ参照カウンタは増えない。
代入した時点で増える。
パーソナルでないなら、デバッガでトレースして追いかければいい。
後は正解。
>>362 さんくすこ。
でも、
>>1 じゃないよ。
Delphiでも、デストラクタ呼び出しを完全に無くすことが可能ってことだよね。
自分でオブジェクト開放なんて、面倒だし、バグの温床だ。
364 :
デフォルトの名無しさん :03/05/08 12:49
暑い!もう夏だ!戦え!
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
366 :
デフォルトの名無しさん :03/06/07 10:14
厨房なんていらねえよ、夏
ゲーセンでの話 何気に小便がしたくなってトイレに駆け込んだ。 そこは和式の便器がひとつしかなく、しかもドアを開けるといきなり便器が置いてある。 俺が入ると、便器に白いものが大量にぶちまけてあった。 そう、間違いなくザーメンだ。 「誰だよ・・・ったく」 小便をしながら、こんなとこでオナニーした奴への文句を言っていた。 そこで不意にドアをノックする音。鍵は閉まってるので問題ないわけだが、 その次が問題だった。 「水が流れねぇ・・・」 このままでは間違いなく、「便所でオナニーした奴」の烙印が押される。 どうしても、このまま便所から出るわけにはいかなかった。
368 :
デフォルトの名無しさん :03/06/09 15:42
Delphi厨の相手になる夏厨は 今年はVBではなくC#なんでしょうな。
Delphi = 居留守バーグに認知されない隠し子?
370 :
デフォルトの名無しさん :03/06/11 23:37
いや、VBでしょう
VC++ あといらない なんのメリットがあるんだよ 特にVB いいかげん消えれ
最高級の惚れ方さZOKKON!!
373 :
デフォルトの名無しさん :03/07/05 22:55
VBは実行中にエラー吐くと強制終了 Delphiは実行中にエラー吐いても強制終了しない。 結論:Delphiの方が安定度高い
それは単に例外を処理してない時のデフォルトの処理の差ってだけでしょ。 そりゃまあDelphi式が楽だけどね
デフォルトの処理が、エラー発生時そのまま進むってのは まずいと思うぞ。
だね。安定度ってのはちゃんと動くことが前提。 エラーが発生しても不正な状態で進むと データも不正になる可能性が高い。 こんな不安定な状態で動きつづけるくらいなら 落ちたほうがいい。
なんか例外って判ってるの?
エラーが発生して不正な状態で進むのは例外じゃないよ。
例えば、ファイル保存ボタンを押した時のイベント=メソッドで例外が発生した時に
例外をキャッチしなければ、それ以後の処理は全て実行されずに、例外ハンドラが
書かれたスタックレベルまで巻き戻してそこの例外ハンドラが実行されるのが例外。
Delphiの場合は、単に、メッセージループの外側に例外ハンドラが最初から書かれ
ているというだけで、Delphiでも例外が発生すれば
>>375 のような事にはならず、
メッセージループレベルまで処理が巻き戻される。
メッセージループレベルまで巻き戻しておけば、再度ファイル保存を試したり出来る
わけで、それは確かに親切だ。
もちろんDelphiでもコンソールアプリや、GUIアプリでもメッセージループの外側で
(例えば別スレッドとか)例外を出してそれをキャッチしなければそのまま終了してしまう。
>>377 分かってないね。プログラムってのは状態を持っているの。
ファイル保存のように単一の命令だけをやる場合には問題ないかもしれないけど、
実際にはイベントの中で複数の処理をやる。大抵の場合は処理のたびに状態が変化する。
処理の途中で例外が発生した場合不正な状態になる。
データベースをさわっていれば分かるけど、プログラム言語にはロールバックや
コミットというもの(一連の処理が完全に終わったか全く実行されていないの
どちらかにする機能)が無い。
例えば二つのファイルをドライブをまたいで交換するプログラムを考える。
1.FILE-Aの名前をFILE-TMPに変更
2.FILE-BをFILE-Aという名前でコピー
3.FILE-TMPをFILE-Bという名前でコピー
4.FILE-TMPを削除
このとき2の処理で例外(例えば容量不足)が起きたとする。
そうすると、ディスクにはFILE-TMP(FILE-Aの完全な一時ファイル)と
FILE-A(FILE-Bの中途半端なコピー)とFILE-Bが残る。
この状態で容量を空けてもう一度処理をすると正常に終了したように見えてファイルはは壊れている。
不安定な状態で動きつづけたためにデータが破損し、2回目の実行では正常に終了したために
データが壊れていないと勘違いする可能性がある。
他にもボタンが押されて複数のメンバ変数のうち一部のみが変更されて、例外おきてその状態で
他の処理をして一部のメンバしか変更されていない不正なデータを参照して処理を行ったり。
エラーが一回起きて不正なポインタを指したために、そのあと何をしてもエラーが出つづける。
でも一部の処理は動いたりする。こういう不安定な状態で動きつづけているのに動作を信じられるか?
もちろんこれを完全に考慮して作ればいいのだけど、デフォルトでは考慮されていない以上、
プログラムもデフォルトは例外が発生した時点で落ちたほうがいい。
激しく詭弁の予感。
馬鹿には理解できない。
381 :
デフォルトの名無しさん :03/07/07 04:30
バカには見えない服 と、同じかほりが・・。
どうでもいいけど煽りレスしかしてなきゃまともなレスは返ってこないわな。 都合の悪いレスを見なかったことにするのにはいいやり方かも知れんが。
383 :
デフォルトの名無しさん :03/07/07 06:59
>>378 > 分かってないね。プログラムってのは状態を持っているの。
化石のような手続き型言語ではね。:-p
by 関数型言語信者
そんなコピーする時はtry・・・finally使うんだよ。 こんな感じ。 try 1.sFILE-Aの名前をFILE-TMPに変更 isReneamed:=True; 2.FILE-BをFILE-Aという名前でコピー isCopydBA:=True; 3.FILE-TMPをFILE-Bという名前でコピー isCopydAB:=True; finally if isCopydAB then 4.FILE-TMPを削除 if (not isCopydAB) and isCopydBA then Bを削除、 AをBにコピーして復元 Aを削除 if isReneamed: and ( not isCopydAB) then TMPをAに変更して復元 end; これでも、例外が出るのは邪魔しない。
385 :
デフォルトの名無しさん :03/07/07 07:42
>>378 JavaにはDBのロールバックに相当する機能がある。
try-catch-finally。VB房には使いこなせぬ魔法の符丁だ。
mode := 0; try rename A->TMP ;mode :=1: copy B->A ;mode :=2: copy TMP->B ;mode :=3: delete TMP ;mode :=4: finally // ロールバックして元の状態に戻す処理 case mode of 3: begin copy A->B: delete A; rename TMP->A; end; 1,2: begin if mode=2 then delete A ; rename TMP->A; end: end;
>>385 VBにもTry〜Catch〜Finallyはあるよ。
時代遅れのチミは知らないだろうけど。(ワラ
まあ
>>378 がfinally を使えない事には 同意するが
>>384-386 あぁ、やっぱり分かってない。
例外処理をしていない時のデフォルトでの場合の話だろ。
書いた場合落ちないのは当然。VB6でだってon gotoを使って処理する。
話の流れも読めないのか?
両方変な気がするぞ。 安全重視なら、A → NewB、B → NewA な感じでコピーしておいて、 その後 A を OldA、B を OldB、NewA を A、NewB を B にリネーム、 最後にOldA, OldBを消すべきだろう。 途中で失敗しても不要なファイルが残るだけでロールバックとかは要らない。フラグ変数も要らない。 その上で、例外処理をして、不要なファイルを消す。
ほら、finally 判ってないだろ?
>>390 俺もそれでいいと思うけど
>>378 の出した仕様に答えたまでだ。
それに、
>>378 の仕様にも容量の少ないFD相手の場合には多少は意味があるだろう。
まあそれでも今なら
FD相手ならメモリ上に読み込んで
>>390 方式で処理した方がイイと思うけどな。
393 :
デフォルトの名無しさん :03/07/07 11:56
仮に
>>378 の仕様でいくとしても、finallyじゃなくてexceptを
1〜4別々に(ネストでもいいけど)使うべきじゃないか?
フラグ変数を使う意味がない。
>>394 ・except をその都度使うと、処理の流れが分断されて分かり難い
・exceptでキャッチしたら再度例外を投げ直す必要があり、手間が大きい
finallyをフラグを使う事で例外で中断してもどこまで成功したかが判り、
さらに例外を投げ直す手間も不要となりシンプルにコードが書ける。
というような理由で採用致しました。
よろしければご採点のほうよろしくお願い申し上げます。
396 :
デフォルトの名無しさん :03/07/07 12:58
DelphiはwindowsというOSの変更を待ってから開発環境を整えなくては ならないため、いつも後手。 windows.pasというapiルーチン群を取り込むコードも 最新版には対応していない。 たとえば、ftpソフトやfax送信ソフトをDelphiで作成するときなど、困難を極める。 ftp用のコンポーネント、ブラウザ用のコンポーネントも付いてはいるが、 とても使える代物(しろもの)ではない。 とすると、VBの弱点であるインタープリタ(プログラムを実行過程でマシン語に 翻訳して処理を行う方式)の効率化(コンパイル化)と、ランタイムファイルのOSへの 実装が実現できれば、VBの方が優れている、ともいえる。 確かにDelphiでもそこそこのアプリは作れる。しかし、OSの機能をまねて作ろうとすると、 (例えばエクスプローラのようなファイル管理機能やインターネットエクスプローラの ようなブラウザなど)とても大変である。 よってVBの方が優れた開発ツールであると言える。
Windowsの場合、 エクスプローラのようなファイル管理機能が欲しいならシェルエクステンションを作った方がいい IEを作らなくても IEをActiveXとして取り込んで使えばいい。 のですが? それともLinuxか何かの話ですか?
VB.NETはwindowsというOSの変更とともに常に開発環境が変化する為、 いつもいつも変更作業が伴う。 たとえば、fax送信をさせてた場合、その.NETバージョンに対応する コントロールを入手する必要があり、その都度お金が出てゆく。 確かにVB.NETでもそこそこのアプリは作れる。しかし、少しでも複雑な 事を自前でつくろとした途端に、大きな壁に直面するだろう。そこに あるのは、中身が不明な巨大なブラックボックスだ。
400 :
デフォルトの名無しさん :03/07/07 16:26
結局、例外処理をしていない場合、 例外が発生したら落ちるVBの方が安全性高いんだろ。 Delphiは例外が発生しても動きつづけるからな。
>>396 > VBの弱点であるインタープリタ
いつの話しているんだよ。VB5(だっけ?)からコンパイルしているだろ。
だから速度の点も解決されている。
Delphiって例外が発生して例外をトラップしていなくても 動きつづけるのか? やばいだろそれ。
Delphiって何もしないとすぐに落ちたけど、、、誰だよ落ちないとかホラ吹いてる香具師は。
404 :
デフォルトの名無しさん :03/07/07 21:22
>>403 それに気づかず落ちないほうがいいと言っている馬鹿が沢山(w
なぜDelphiだとCatchがExceptなんだろう
VBでいうところの ON ERROR GOTO NEXT (うろ覚え) 状態にしてないか? Delphiが落ちない香具師って。
>>405 Modulaがexceptだから、かな?
ちなみにAdaだとexception。
なのでPascal系では普通でしょう。
立ち読みしたC++の何とかいう本には、普通「handle」を使うがhandleはよく使われるのでcatchになった、
みたいなことが書かれてたのですけど、handleというキーワードで例外処理をする言語は見たことがない。
結局こいつ
>>373 が晒しあげなわけか。
うぷぷぷ。
> VBは実行中にエラー吐くと強制終了
> Delphiは実行中にエラー吐いても強制終了しない。
>
> 結論:Delphiの方が安定度高い
409 :
デフォルトの名無しさん :03/07/07 22:25
>>408 皿仕上げと言うならちゃんと晒しあげ白。 by Del使い
>>403 >>377 で既に書いてるが、コンソールアプリや、GUIアプリでもメッセージループの外側で例外を出せば
それはキャッチされない。
VBが遅いのは 文字列を文字列として扱う特殊な感覚が身についてしまうプログラマのせいでしょ。 Delphiでも気を付けないと文字列を文字列として扱うクセが付いてしまうけどね。
>>410 メッセージループってなんだよ。ちゃんと説明しろ。
VB.NETやC#で普通に見えてる部分がメッセージループの内側だと思ってほぼ間違い無し。 (+で隠れてるところが外側) 外側まで使うならそれなりに対処すべきだ。
通常は落ちるのにメッセージループ内だと落ちないというのも迷惑な話だ。
中じゃなくて外では?
ああ416はより正確でないですね。 正確には、 Application.Runの中で HandleMessage で処理したメッセージループについては キャッチされApplication.HandleException が実行されます。 この他に、注意することとして、TForm . OnCreate イベントはこの外側で実行されるのですが この場合は DoCreate内部でキャッチされTForm.HandleCreateExceptionが実行されます。 よって、例外がデフォルトでキャッチされないのは 1、.DPR に書いたコード 2、別のメッセージループを持つスレッド 3、Application.OnException でさらに例外を投げた であると思います。
4、Allication.CreateFormで呼ばれる フォームのコンストラクタ内 が抜けておりました。
419 :
デフォルトの名無しさん :03/07/08 08:41
ちょっと質問していいですか? プログレスバーを使用してDB読み込みの進度を通知しているのですが 前処理に時間がかかりあまり有効に利用できていません。 DB読み込みとは関係なく、処理中ということでプログレスバーを 使いたいのですが良い方法はありますか?
>>419 1、前処理内で プログレスバーの表示を更新する処理を入れる(安全確実)
2、前処理内でメッセージループを呼び出す(ボタン操作されると困るかもね)
3、別スレッドを作り、プログレスバーを更新する ただしVCLコンポーネントは直接使えないので
プログレスバーの位置を別スレッドに送っておいて、その位置に長方形を自前で描く方がいい
421 :
デフォルトの名無しさん :03/07/08 09:19
>420さん 回答ありがとうございます。 昨夜の時点でタイマーを利用して1を実装しようと思いましたが、 APIを使用してメッセージで制御する方法しか事例がありませんでした。 環境が複雑でカーネルを使用してはいけないのですが、VB内で賄える 実装方法はありますでしょうか?質問ばかりですみません。 私が実装しようとしているのはもしかして2?ですか
VBですか 前処理を誰かが書いた部分なら ・・・・VBだと誰かに別スレッドでプログレスバーを更新するDLLを作って貰って対策する方が簡単かもね 前処理が自分で書いた部分なら その前処理内にサブルーチン呼び出しを適当にばらまいて サブルーチン内部で何度かに一度 時計を見て、 例えば経過時間をT現在のプログレスバーの位置をxとしたら x = 係数*T *(50-x)/50 みたいに更新してみては? で、前処理が終わってから、本処理に入ったら残りプログレスを動かすと
423 :
デフォルトの名無しさん :03/07/08 11:05
>>422 さん
ありがとうございます。
実際はVBで作ったPGをVCに移植しとうとしていますが
VB上で気になった点を改修してから移植する方がいいのかなと思いました。
VC不慣れなものでまずVBに実装して感覚を掴む方が私的に楽そうだったので・・・
Delphiはエディタがいまいち不満だねぇ
>>419 データベースの読み込みを非同期にすればいいよ。
426 :
デフォルトの名無しさん :03/07/08 22:16
>>425 さん
ありがとうございます。
やってみます。
>>426 Personalはタダっていう資料がありますた。
(商用利用不可)
どんぶりモデル
例外で必ず落ちたら、OSから得たハンドルとかリークしまくりでは? 解放できなかったらどっちも同じだけど。COMポートとか開いたファイルハンドル はクローズしないとOS再起動とかしないと実行できないし。 誰も参照してなかったらOSが勝手に解放してくれればいいのに。 Delphiは環境が使いづらいね。動作が素直でいいけど
メモリとファイルハンドルはさすがにOSがアプリ終了時に解放するでしょう 解放しないOSの経験はありませんでしたが?
434 :
デフォルトの名無しさん :03/07/10 17:09
>>433 普通にWindowsとか。強制終了すると解放されない
自己レス。 たまにアプリが強制終了すると、ファイルが削除できなく なったりするのはこのせい? 他の例で試しにMutexを大量に作ってから強制終了したら、 使用中のハンドル数が減らない…Win2000にて
間違った。435の名前は434です。
>>435 たぶん 強制終了したつもりで、まだプロセスが残ってるのでしょう。
ちゃんと確認しましたか?
>>437 タスクマネージャで強制終了しましたが、これ以上何をしろと。
タスクマネージャの表示は、システム全体のハンドルの数だけ
しか見れないから根拠としては弱いけど、強制じゃないときと
比べると明らかに違う動作をしている。
普通にウインドウの×で終了したときはちゃんと解放されるみたい。
オブジェクト種別ごとのハンドル数調べるツール作ればわかるかも。
関係ないがW2kは休止状態→起動を繰り返すとメモリー食われてく
W2Kのタスクマネージャの プロセスで強制終了したんですね? アプリケーションではなくて? アプリケーションで削除しただけではプロセスが残ってる場合がありますよ。 というか自分もさっきデバッグしていてその状態になってプロセスを消したばかり
いや。やっぱ違うかも… プログラム内で作ったオブジェクトじゃなくて、何か違うものでハンドル数が増えてる? 今はなぜか解放されるようになった。 プロセス終了時じゃなくてGCで遅延して解放してるのかな??? よくわからん
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
VBってなに指向なんですか?
厨房指向 低学歴指向 低脳指向
またアンチVB厨が厨ぶりを発揮しているなぁ。
MSが何を指向してるかなんて誰も知ったこっちゃない。
>>435 そうなん?
元々、そこら辺のリソース管理はOSの責任で、
それが出来てないのが、Windowsが糞OSと呼
ばれる一番の原因だったんだけど、NT系からは
遅延で開放されるようになった、って聞いてい
るんだけど。
(確認はとってない)
>>438 タスクマネージャーで強制終了って、
終了メッセージ送信後、無視されたら、強制終了
って、手順じゃなかった?
447 :
デフォルトの名無しさん :03/07/28 12:13
448 :
デフォルトの名無しさん :03/07/28 12:27
ワラタ
アンチVB厨なんて消えたでしょ。 だって、VBが消えたんだから。
アンチVB厨が消えないのはVBが消えてないからなのかもね。
アンチVBは居ないっしょ。 アンチドトネトも消えてきたということは、、、。
(^^)
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
>>396 >FAXソフトを作るとき困難を極める
確かに…Delphiは何かモデム制御のコンポーネントないのか?
VB6にはついてたなたしか
458 :
デフォルトの名無しさん :03/08/19 06:29
459 :
デフォルトの名無しさん :03/08/20 13:01
460 :
デフォルトの名無しさん :03/08/20 15:12
VBには、Delphiでいうところの ScanLineに相当するコマンドってありますか。 BITMAPへのアクセスが大変速いので(横方向だけ)重宝するのですが 画像処理なんでこれさえあれば乗り換えてもいいんだが・・・
出荷停止のVBに乗り換えてどうするんだ。 必ず将来乗り換えが発生する。
462 :
デフォルトの名無しさん :03/08/21 11:52
>>461 必要に応じてちょくちょく書く程度なので…
ネット上に転がってるサンプルコードがたいていVBだったり
するとコピペで済むので急ぎの時は楽
それなら VB よりVBAの方がいいんじゃないの?
Delphi>>>C++>>>VBじゃない? サンプルに出会えるまでの時間の短さって ジャンルによってはJAVAが圧倒的だけど
昔VB6.0使ってシステム開発したことがあったんだけど、 VBって、ラベル一つにウィンドウハンドルを消費しているんだよな。確か。 初めてそれを知った時、リソースの無駄使いをさせるなって感じがしたのを覚えてるよ。 今はJavaばっかりやってるからVBからかなり離れているけど、 VB.netで、その辺は少しは改善されたのだろうか?
その点は、Windowsコントロール以外も作れるようになったからね
467 :
デフォルトの名無しさん :03/09/25 23:20
2002年頃はバッファオーバーフローもバレてなかった
>>467 そうだったかなあ・・・何かそんなネタがあったような気もするから検索してみてよ。
賞金もらえないってのは、日本人相手にしたいなくって意味に理解したほうがいいと思うのだがなあ
472 :
デフォルトの名無しさん :03/10/03 23:22
バッファオーバーフロー@2002
まだあったんだ、このスレ。 すげぇや。真面目に感動した。
474 :
デフォルトの名無しさん :04/06/27 21:18
夏
今年はDel8 vs VB.NETの熱い戦い
Delphi Personal vs VS Spoke 無料が有料に負けた日