1 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:37 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その50 pc12.2ch.net/test/read.cgi/tech/1246340765/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
313 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 13:38:23 ] 代替にはならないと思うがReadプロパティで対応するのが一般的だと思う。
314 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 18:44:42 ] 引数なしの関数は変数にも見えるから function Value : Integer; virtual; を使う手もある
315 名前:312 mailto:sage [2010/02/26(金) 19:01:32 ] >>313-314 ありがとうございます そうなんですよね、実装部に書くことを許容すればできるんですけど、 宣言部だけで継承先の振る舞いを変えられたらと思ったんですが、やはり仕様上難しそうですね…
316 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 22:52:20 ] Delphi、VisualStudioに付いてくるやつ以外で TAnimateで使えるようなAVIファイルを集めた 市販の素材集はないでしょうか?
317 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 22:56:51 ] TStringListの内容をINIファイルの一行データとして安全に書き込んだり読み込んだりするための変換処理ってどう書けばいいですか?
318 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 23:29:37 ] 具体的にどういう変換をしたいのかが見えない
319 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 23:37:10 ] ini[0] = TStringList.Parse(sl[0]); sl[0] = TIniFile.Parse(ini[0]);
320 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 23:41:10 ] >>317 例えば、iniファイルに key=aaa;bbb;ccc と書かれていた場合に、 その値を aaa bbb ccc と、変換して取得したい。 または、逆変換してiniファイルに書き込みたい。ってこと? 単純にTStrings#DelimitedTextプロパティを通せば、自動的に変換してくれる。 ただし落とし穴があって、スペースもデリミタとして扱ってしまう。(Del 7の場合。以降のDelphiは使用したことないのでシラネ) 厳密に指定したデリミタのみで分割したい場合、JCL(ttp://jcl.delphi-jedi.org/)に含まれる、JclStrings#StringsToStrやJclStrings#StrToStringsを使用してます。 iniファイルへの読み書きはTIniFile使えばいいじゃね?。安全にが何を指してるか知らないけど。
321 名前:デフォルトの名無しさん [2010/02/26(金) 23:42:39 ] mailto:sage てs
322 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 23:47:32 ] 正直な話、オレだったらTStringlistの内容をinifileに保存なんてしない。 何を目指してるのかは分からないけど。
323 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 03:53:55 ] >>320 個々にAnsiQuotedStr(読み込み時は逆にAnsiDequotedStr)を適用すれば外部ライブラリはいらない
324 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 09:18:11 ] マルチコアの話に便乗なんですが、要は1つのスレッドを OSが適当に割り振るからあんまり考えなくて良いよって解釈しました。 言い方変えると1スレッドを複数のコアで処理はしないってこと? マルチコア対応とか書いてあるアプリって、重い処理でも1スレッドに書いたほうが プログラムが簡単なのにマルチスレッドに出来るだけ分けてるって事?
325 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 09:44:07 ] >>323 TStringListの個々の要素であるStringは#0-#20(当然#13#10も)なんかも格納できるバイナリコンテナだからもうひとひねり必要だな。 標準でやるには例えばURL Encode/Decodeとかできっちり処理しないと破綻する。
326 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 10:26:53 ] だがほとんどの処理で #0 以降の文字は欠落するから もう忘れてもいいんじゃないかな?
327 名前:292 mailto:sage [2010/02/27(土) 14:37:50 ] どの程度誤差が発生するのかちょっと調べてみました。 memo1,2,3を配置して誤差が出たとき追加していきます。 procedure TForm1.Button3Click(Sender: TObject); var Su : double ; Kin ,sux : integer; kei ,ans : double; a1,a2,a3 : double; t :string; const sucon = 0.00000001; begin memo1.Clear; memo2.Clear; memo3.Clear; for Sux := 1 to 1000 do begin su := sux / 10; for Kin := 1 to 1000 do begin kei := Su * Kin ; a1 := trunc(kei); a2 := trunc( Kin * su); a3 := trunc( Kin * su+ sucon); ans := trunc((sux * kin / 10)) ;
328 名前:292 mailto:sage [2010/02/27(土) 14:40:31 ] if a1<>ans then begin t := Floattostr(kin) + ' , ' + Floattostr(su) + ' , ' + Floattostr(ans) + ' , ' + Floattostr(a1) + ' , ' + Floattostr(a2) + ' , ' + Floattostr(a3); memo1.Lines.Add(t); end; if a2<>ans then begin t := Floattostr(kin) + ' , ' + Floattostr(su) + ' , ' + Floattostr(ans) + ' , ' + Floattostr(a1) + ' , ' + Floattostr(a2) + ' , ' + Floattostr(a3); memo2.Lines.Add(t); end; if (a3<>ans) then begin t := Floattostr(kin) + ' , ' + Floattostr(su) + ' , ' + Floattostr(ans) + ' , ' + Floattostr(a1) + ' , ' + Floattostr(a2) + ' , ' + Floattostr(a3); memo3.Lines.Add(t); end; end; end; memo1.Lines.SaveToFile('c:\memo1.csv'); memo2.Lines.SaveToFile('c:\memo2.csv'); memo3.Lines.SaveToFile('c:\memo3.csv'); end; どうやら単に計算してからtruncしただけでは発生頻度が減るだけで完全な対策にはならなそうです。 小さい数を足してやって切り捨てるのが良いようです。
329 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 14:58:05 ] 問題の所在を理解していないような希ガス…
330 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 07:34:09 ] やべー、俺も>>292 の原因知りてぇ。 >>296 さんのExtendedになぜなるのかが知りてぇ。 こういう場合、Edit1の方法で計算しないと間違った答えが出ることもあるってことだよね。
331 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 07:47:13 ] homepage1.nifty.com/MADIA/delphi/delphi_bbs/200310/200310_03100025.html ↑ここに同じようなやりとりがあった。
332 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 07:52:04 ] つーことで、実数型使うときはdoubleを使わないでextendedを使えってこと?
333 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 08:02:36 ] おー、すまん。一人でとっちらかっていた。 homepage1.nifty.com/MADIA/delphi/delphi_bbs/200607/200607_06070011.html ここ読んでわかったけど、 Trunc(X: Extended): Int64; で型変換してる。 Trunc使うときは、Extended型で使わないと誤差がでるってこと。 もしくは小数点移動させて、整数にしてから処理すればいいね。
334 名前:330-333 mailto:sage [2010/02/28(日) 08:20:53 ] 浮動小数って、意味がわかりました。そういうものなんですね。 使ったことなかったものですから、、、今回よくわかりました。 332も違うつーことで。
335 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 18:43:16 ] それは不動少数
336 名前:デフォルトの名無しさん [2010/02/28(日) 20:36:04 ] すみません教えて下さい。 Form1 に直接 Image1 を置いていたのですが後から Panel1 を追加して Image1 の親コントロールを Panel1 に変更したいのですが、IDE でやる方法はありませんか?
337 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 20:53:34 ] floatとdoubleで結果が異なる例は見たことあったけど doubleとextendedで差が出る実例は初めて見た。 64bit厨はどうするのだろうか。
338 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:14:15 ] それ 64bit 関係ないし x64 なら 128bit 浮動小数点数が必ず使えるし
339 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:51:41 ] 337は64ビットネイティブバイナリでFPU命令が使えないと思っているんじゃないだろうか
340 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 22:00:26 ] >>336 切り取って貼り付ける。
341 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 22:02:28 ] >>340 ! なるほど!ありがとうございます!
342 名前:337 mailto:sage [2010/02/28(日) 23:33:39 ] >>338 , 339 ごめん、知らなかった。 >128bit浮動小数点と、64bitネイティブでFPU エンバカスレに帰るよ。
343 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 01:26:40 ] >>338 64bit2個をまとめて扱えるだけであって128bitが1個じゃないから
344 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 02:02:25 ] 実装がどうなってるかは関係ないだろ 扱えることに変わりはないし
345 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 17:58:10 ] 実装は関係ないだろキリッ!って言われてもなぁ
346 名前:デフォルトの名無しさん [2010/03/01(月) 19:12:48 ] はいはい
347 名前:デフォルトの名無しさん [2010/03/01(月) 19:25:15 ] >>345 お前がそう思うんならなんやらかんやら
348 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 19:25:56 ] delphi2011っていつでるの?
349 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 20:00:32 ] さあ
350 名前:デフォルトの名無しさん [2010/03/01(月) 20:56:48 ] >>348 もうすぐじゃないの? ただし32ビット
351 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 21:21:42 ] 特定の位置からバイナリを読み取って、違うファイルとして保存するというプログラムを書いています。 fileopen関数で開いて、FileRead(F, Buff^, Size);でバッファに格納はできたのですが、 この格納したものはテキストでならstringですので取り出せますが、バイナリとして保存する場合はどのように取り出せばよいのでしょうか? お力をお貸しください。
352 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 21:35:10 ] そのままでいいだろ
353 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 21:36:16 ] >>344 実装がどうとか以前に扱えないし SSE2が四倍精度浮動小数点数扱えると思ってんの?
354 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 21:41:13 ] >>352 バッファはテキストとして保存可能ですが、そのバイナリがテキストでない画像とかを どうやってバイナリとして保存するかがわからなくて・・・。
355 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 21:49:37 ] >>354 MemoryStream
356 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 21:57:44 ] >>355 それやろうと思ったんだけど、うまくいかなくて・・・ var ms:tmemorystream; begin ms := tmemorystream.create; ms.loadfromfile('TEST.dat'); //このseekがよくわからない。例えばSizeが300の地点から500までを読む場合の位置設定がわからないところ ms.seek(?); ms.read(Buff^,sizeof(buff)); ms.savetofile('TEST2.dat'); ms.free; これでできなかったんです・・・。
357 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:05:49 ] >351 ファイルストリームで元ファイルを開く→所定の位置にseekする→メモリストリームにコピーする →メモリストリームのPositionを0に戻す→メモリストリームをファイルに書き込む
358 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:13:33 ] >>357 レスありがと。 メモリストリームにコピーとは?どのような関数ですか?
359 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:34:57 ] CB_SETCURSELってチェンジイベントみたいなのって起きないのかな。 他アプリのコンボボックスを操作するのに、CB_SETCURSELで選択項目を 変えるんだけど、一回コンボボックスにクリックメッセージを送らないと 認識しないみたいなんだ。 これって、相手のアプリの作りの問題? 別のAPIがあるの?
360 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:50:08 ] >>354 意味分からん 何もしてないのにバッファが書き換わるとでも言いたいのか
361 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:51:47 ] >>360 簡単にいうとどうやってこの格納されたバッファをファイルとして保存するかなんです。
362 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 23:11:16 ] ファイルストリームでもメモリストリームでも好きなの使えば素敵やん
363 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 23:43:28 ] >>361 b: array[0..4095] of byte; MS: TMemoryStream; begin for i:= 0 to 4095 do b[i] := $FF; MS:= TMemoryStream.Create; MS.Write(b, 4096); MS.SaveToFile('c:\gomi.dat'); MS.Free;
364 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 23:58:58 ] >>363 書き込むだけの用途ならTFileStream使え Create-Freeはtry-finallyで囲め ハードコーディングすんな
365 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 00:07:55 ] >>364 うわ…
366 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 00:30:48 ] >>358 とりあえず、マニュアル(ヘルプ)読んでから、質問しろ function CopyFrom(Source: TStream; Count: Int64): Int64; ってのが見つかるはずだから
367 名前:デフォルトの名無しさん [2010/03/03(水) 13:06:15 ] Windows7が動くDelphiはどのバージョンまで対応していますか Delphi2以降は一応動くと思うのですが
368 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:36:48 ] Delphi上でOSを動かそうというのはなかなか難しいのではないかと。
369 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:59:04 ] >>351 単純な手があるんじゃないの ファイルAとBを開き、Aのファイルポインタを 移動してから、あとは全部AをBへコピー メモリに覚える必要とかまったくないと思う
370 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 15:37:49 ] >>368 Delphiで仮想マシン作れってことか
371 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 15:53:45 ] 対応の意味によるんじゃね。 厳密な意味で対応してるのは最新の奴だけだろうし Vista以前のDelphiだとVistaでウィンドウのプレビューがうまくとれないなんて細かい不具合があったし。
372 名前:デフォルトの名無しさん [2010/03/04(木) 10:10:42 ] 超初心者です。 Delphi2005 プログラミングテクニックVOL4 に載っていた簡単なイメージビューワを作ってみましたが 作成中にフォームのOpenPictureDialogをクリックすると、 すべてのファイル(*jpg,*jpeg,*bmp・・・)と正しく表示されるのに 実行すると、jpegがすべてのファイルの中に出てきません。 bmp、ico、emf、ぐらいしか表示されません フィールターも見たのですが・・・・ コードはメニュー開く(&O)...の中に if OpenPictureDialog. Execute then begin Image.Picture.Bitmap.LoadFromFile(OpenPictureDialog.FileName); MainForm.Caption := OpenPictureDialog.FileName; end; ご教授頂ければ幸いです。
373 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 10:28:30 ] uses jpeg;
374 名前:351 mailto:sage [2010/03/04(木) 18:50:43 ] とりあえずfilestreamで読み込み、指定の位置へ移動、バッファいれるためのメモリ確保までは問題なく動作しているようです。 ですが、readが間違えているのかうまくいかず、指定の位置からではなく、そのままファイルをコピーするものになったしまいました。 やりたいことは指定した位置から最後まで読み込んで、その読み込んだ部分だけをファイルとして書き出すことです。以下がソースになります。 ms := tmemorystream.Create; fs:= TFileStream.Create('C:\AAA.dat',fmOpenRead); try fs.Seek(targetposition, 0); Buff := AllocMem(SrcSize + 1); fs.Read(buff^,srcsize); ms.LoadFromStream(fs); ms.SaveToFile('C:\ABC.dat'); finally FreeMem(Buff); ms.Free; fs.Free; end; どうかご回答の程、よろしくおねがいします。Copyfromよりこちらの方が楽そうに思いしようしました。
375 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:16:24 ] buffは何のために確保してるの?
376 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:20:26 ] >>374 君がやっていることを例えると、 本を借りてきて、 メモ用紙に必要な事項だけ書き写して、 本をコピー機で全部複製して、 メモ用紙を捨てて、 本を返してる
377 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 20:32:46 ] >>375 部分的に読み取ったものを格納して・・・と思ったんですが、違うんですか? >>376 その例えの必要な事項だけ書き写したのを欲しいんですが、余計なコード書きすぎとかですか? この指定した位置から読み取ったバッファ=fsという理解ではないのでしょうか?
378 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 21:18:41 ] buffに格納したものを利用せずに捨ててる
379 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 21:51:23 ] >>378 この読み取ったバッファをファイル保存するために、 ms.LoadFromStream(fs); ms.SaveToFile('C:\ABC.dat'); としたんですが、どうもうまくいかないのです。 何か良い手はございますか?
380 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:37:23 ] msにbuffを書き込めよw
381 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:49:54 ] >>380 レスありがとうございます。 言われた通りにしたらうまくいきました。 これまでお付き合いくださった方、ありがとうございました。 そしてお騒がせ致しました。
382 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:02:09 ] いいねぇくだすれらしくてw
383 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 02:27:05 ] もどかしいが嫌いじゃないぜ、この流れw
384 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 12:06:52 ] 無意味なエラートラップならやらないほうがいい
385 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 12:51:14 ] 無意味なエラートラップはない
386 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 15:07:49 ] try abort; except abort; end;
387 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 15:16:16 ] それは無意味なエラートラップじゃなくて無意味なコード
388 名前:デフォルトの名無しさん [2010/03/10(水) 18:08:50 ] よく改造サイトでエミュでチートを・・・とか書いてありますが、これを(チートを)そのエミュ上で行うのではなく、 自作のプログラムで行おうとする場合どのような流れになるのでしょうか? 簡単にいうと、エミュでチートを行わずに、自作のプログラムでいま起動されてるエミュ上のゲームのデータを書き換える というものを作りたいのです。
389 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 20:23:01 ] ガキ臭いやつだなぁw
390 名前:デフォルトの名無しさん [2010/03/10(水) 22:33:19 ] >389 素直に「答えられません」と降伏宣言したらだどうだ?。嫌ならゴミレスするな
391 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:38:14 ] 答えられません ですから諦めて下さい
392 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:50:49 ] 改造板行けよ
393 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:39:25 ] Delphi6まで使っていましたが、最近またDelphiで開発する はめになりました。 で、Delphi2010の購入を考えております。 そこでお聞きしたいのですが、Delphi2010は、Delphi6 と比較して、何が良くなっているのでしょうか? 特にエディタの使い易さなどはどうでしょうか。 メーカが出している機能比較のPDFなどは見ておりますが、 実際の開発者さんの感想をお聞きしたいです。 作成するアプリは、SQLServerおよびAccessMDBを使う業務 アプリです。 よろしくお願い申し上げます。
394 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:53:43 ] 使い勝手は人によるので。 >特にエディタの使い易さ となれば、D6 でどこが不満だったのかをまとめれば答えやすいと思うよ
395 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 09:28:58 ] Delphi 2010 Architect - 30 day trial https://downloads.embarcadero.com/free/delphi
396 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:57:05 ] >>393 エディタはコードの折りたたみ等必要ないなら外した方がいい。 若干バギーな部分もあるが実用できるとは思う。 ただしvimなど外部エディタに慣れてるならそっちで環境整えた方がいいっていうレベル。 でもリファクタリングは便利。 生産性は上がってる。ジェネリクスがあるのでコードの記述量が劇的に減る。 C++でテンプレートを使えていたなら何も考えずに使えるはず。 テンプレートもよく分からないのなら、Delphi2009Handbookを読めば解説がある。
397 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:03:34 ] ジェネリクスはバグだらけ。とナカムラセンセが言っていますよ?
398 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:18:15 ] 中村先生が指摘してたバグはすでに修正されてますが? 何年前の話を持ち出してるんだよ情弱
399 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:22:41 ] 「Delphi ジェネリクス バグ」で検索すると中村の指摘が真っ先に引っかかるからな。 一番上のネタを持ってくる辺り、検索して知ったにわか知識ということがよくわかる。
400 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:54:43 ] なんかごめん・・・・
401 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 13:01:50 ] ジェネリクスなどのコンパイラの新機能にエディタは追いついてないので 古いバージョンからアップグレードすると既存の機能でいらいらする事結構ある。 前できた宣言の検索(Ctrl+Shift+上下キー)とか動かない部分とかあるし。 仕方なく通常のCtrl+F2の文字列の検索でソース追うはめになったり。
402 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:21:43 ] Delphi 2010のlicense_ja.rtfに書かれている 「指名ユーザーが本製品の使用を許可された唯一の個人である場合、 適正な数のコンピュータに本製品をインストールすることができます。」 というのは、 「俺だけが使うのなら、自宅のデスクトップPCと、カバンに入れている俺資産のノートPCと、 XPmode上の仮想PCの3つにインストールできるじゃん」 という認識でOKでしょうか? 自宅でも出先でも開発したいのよ。
403 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:01:11 ] その認識で良いと思いますが ライセンス関連の質問は Embarcadero サポートに問い合わせることを勧めます。
404 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:48:25 ] へー グーグルってあてにならないんだな、ヤフーサーチ使おうっと
405 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:47:15 ] >>402 その認識で良いです。 確か「ナンセンス」でない「ライセンス」という考え方で、有名な ライセンス形態だったはずです。
406 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:02:52 ] 古き良き時代の「ナンセンスではないライセンス」は、かなり以前に撤廃されています。 当時はデジタルコピーを配布することが、今よりは大変だったため、ライセンス所有者でなくても (複数の人が同時に使うので無い限り)利用可能でした。 その後ネットワーク速度の向上により、CD 一枚くらいなら気兼ねなく複製をコピーできるようになって、 ライセンス所有者でないと利用できないように変わりました。 実際には、インストール後にアクティベーションを行い、ユーザー名とシリアル番号とコンピューターを 結びつける作業を行います。 「適正な数のコンピュータ」というのは、アクティベーションの回数に上限があることを意味しています。 普通に使う分には問題にならないはずですが、もし上限に達したらサポートにメール/電話すれば 解除してもらえます。実際の値は10回か20回くらいらしいです。
407 名前:405 mailto:sage [2010/03/13(土) 10:38:29 ] >>406 そうだったのですか、それは大変失礼しました。間違った 書き込みをしてすみませんでした。
408 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:01:41 ] >406 今は上限はwebからincrementできる。名義変更は電話する必要があるけど。
409 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:28:16 ] incrementは1回ずつしか増やしてくれないのが面倒といえば面倒な現在
410 名前:402 mailto:sage [2010/03/13(土) 16:24:40 ] >>403 ,405,406,408,409 ありがとうございます。 週明けにでもEmbacarderoさんのサポート窓口に聞いてみます。 結果が分かったら報告しますね。
411 名前:393 mailto:sage [2010/03/13(土) 20:00:14 ] >>394 ,395,396 回答ありがとうございます。 >D6 でどこが不満だったのかをまとめれば答えやすいと思うよ エディタに関して言えば、 ・フリーカーソルモードが不便(ふつうのエディタみたいなほうがいい) ・次を検索はF3でOKだが、前を検索はShift+F3でできて欲しい。 IDEに関して言えば、 登録したコンポーネントを探しにくい VCLに関しては、 TListViewがショボい(.NETの方が格段に高機能) こんなところです。 Delphi2010ではどうなんでしょうか?
412 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:35:40 ] フリーカーソルはD6の時点で無効化方法あっただろ 少しは自分で調べろよ… Shift+F3は可能、コンポーネントは名前で探せる TListViewはそもそもListViewのラッパーで コモンコントロールのバージョン(OSのバージョン)によって機能が違う D6のメインターゲットOSは2000だし機能が少なくて当然
413 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 09:44:30 ] >>412 Delphi 2009のVCL機能 www.codegear.com/tw/article/38604 TListViewは、Windows XP/Vistaで追加された機能が使えるようになった。