- 1 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 00:50:40 ]
- Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その47 pc11.2ch.net/test/read.cgi/tech/1214292265/ <過去スレ> 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
- 159 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:57:34 ]
- >>158
ぬぉぉぉ できました。 ありがとうございます!
- 160 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:24:56 ]
- 「→」や「→」などを「→」のように文字に変換する方法はありますか?
- 161 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:29:15 ]
- 全部同じにしか見えない
- 162 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:29:28 ]
- ミスったorz
「&#8594;」や「&#8594;」などを「→」のように文字に変換する方法はありますか?
- 163 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:32:26 ]
- 再び・・
「&#8594;」や「&#rarr;」です
- 164 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:35:29 ]
- 「&#8594;」や「&#rarr;」を「 → 」に置き換えればいいんじゃないの?
- 165 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:39:22 ]
- 全ての全角文字と記号がこの形式になっているもので・・
- 166 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 02:06:06 ]
- キーボードが壊れてしまって「あ」が「あ」になってしまうんです。
思い出した。
- 167 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:19:21 ]
- classとinterfaceを継承したclass(例えば TTest = class(TObject, IInterface))があるとき、
自身を、IInterfaceを引数に取る関数に渡す場合はどうすればいいんでしょうか?
- 168 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:36:48 ]
- >>167
Self as IInterfaceとかじゃね?
- 169 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:39:16 ]
- >>168
「この型には指定した演算子は使えません」と出ます
- 170 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:50:52 ]
- >>169
そのままSelfか、IInterface(Self)でどう?
- 171 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:01:29 ]
- >>170
それも無理でした
- 172 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:50:18 ]
- interfaceを使うときは一般的にはTObjectじゃなくTInterfacedObjectから継承する。
そうでなければQueryInterfaceや参照管理を自前できちんと実装しないといけない。 分かってやってるならいいけど。
- 173 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:57:07 ]
- あちゃ、本当は class(TObject, IDispatch)ってやってたんですけど、
キャストする時はIInterfaceも追加しないといけないんですね >>172 tobysoft.net/wiki/index.php?Delphi%2Finterface%A4%F2%BB%C8%A4%AA%A4%A6%2F%C9%AC%BF%DC%A4%CE%A5%B5%A5%DD%A1%BC%A5%C8%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA のようにやってました 参考にしておきます
- 174 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 12:24:35 ]
- OSを替えたんでDELPHI6を再インストールしたら
前の使用許諾コードが入らないんです。それで新たに発行してもらおうとしたら 以前に使ってたメアドで登録してたんで、今の使ってるメアドで登録しなおそうと思っても シリアル発行終了してるんでどうしたら良いのか困ってるんです。 一度は登録済みだから未許諾ままでも良いですかね。 フリーソフトとかで配布したいんですけど
- 175 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 13:08:01 ]
- ポップアップメニューがポップしてるかという判断ってどうやればいいですか。
ポップしている間にTimerイベントが発生してしまい ちょっと望ましくない挙動になってしまうのでif文を追加したいのです。
- 176 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 13:09:04 ]
- HKEY_CURRENT_USER\Software\Borland\Delphi\6.0のLMKEYを前のとあわせたらどうかな
でもバックアップ取ってないよね まあ登録しようがしまいが構わんさ それでソフト配ってる奴なんか山のようにいる
- 177 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 13:09:56 ]
- LMKEYじゃなくてLMかも分からんね
- 178 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 14:52:48 ]
- >>175
WM_ENTERMENULOOPでフラグ立ててWM_EXITMENULOOPでフラグ降ろす
- 179 名前:174 mailto:sage [2008/11/17(月) 14:56:10 ]
- >>176 >>177
バックアップのと照らし合わせたら同じでした、と言う事は インストール番号とキーは今のOSでは使えない(インストールだけは出来る)ので メールでインストール番号とキーを書いて送って帰ってきた 使用許諾コードも使えないと言う事ですよね、困ったなぁ >それでソフト配ってる奴なんか山のようにいる EXEの中に未許諾の情報とか入ってないんですか
- 180 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 15:02:29 ]
- >>179
むむ・・・すまん じゃあもういっその事レジストリ全部上書きでもいいと思うよw > EXEの中に未許諾の情報とか入ってないんですか Kylixにはあると思う(System.pasにそんなことがちらり)けど、Delphiにはないんじゃないかなあ
- 181 名前:174 mailto:sage [2008/11/17(月) 15:56:17 ]
- >>180
上書きは項目が沢山あるんで諦めましたw 情報はDELPHIの方には入って無いんですか、じゃあそのままにしときます。 一応登録する意思はあるんで、出来ないんじゃどうしようも無いですし。 自分せいじゃあ無いんでしょうがないです。 色々ありがとうございます、ちょっと安心しました。
- 182 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:21:40 ]
- OSとか換えなくてもDel6入れ直しただけで前の使用許諾コード使えなくなったな
俺はそのまま赤いまま
- 183 名前:デフォルトの名無しさん [2008/11/17(月) 19:26:44 ]
- Delphiのimplements指令がいまいちわかりません。
下記サイトでサンプルコードがあったのですが、 An Introduction to COM Programming with Delphi (3 / 6) delphi.about.com/library/weekly/aa120704a.htm 結局、implementsを書いたクラスは一度interfaceにキャストしないと メソッドよめないんでしょうか? var Test: TTest; Foo: IFoo; begin Test := TTest.Create; Foo := Test; Foo.Bar; // FooにキャストしないとBarに呼べない
- 184 名前:デフォルトの名無しさん [2008/11/17(月) 19:27:26 ]
- > メソッドよめないんでしょうか?
メソッド呼べないんでしょうか?
- 185 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:01:50 ]
- >>174
登録コードの数字と使用許諾コードがあればレジストリでLMの最後にある数字を 元の登録コードの数字に書き換えれば登録できる
- 186 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/17(月) 22:04:12 ]
- >>162
こんな時こそ正規表現ライブラリを使うべし。 正規表現ライブラリはいろいろありますけど今回はskRegExpで。 日本語のヘルプもあるので比較的使いやすいと思います。 そのものズバリのコードも書いてしまったのですが勉強にならないと思うので 今回は変換したい部分を特定するコードのサンプルだけ。 const cSample = 'I want to convert "→" and "rarr;" into right arrow!'; var exp: TSkRegExp; Converted: string; begin Writeln('Sample:"', cSample, '"'); exp := TSkRegExp.Create; try exp.Expression := '[0-9]+;|[A-Za-z]+;'; // 見つけたいパターンは「,0から9のどれかが1文字以上,;」または「,A〜Zかa〜zが1文字以上,;」 if exp.Exec(cSample) then // 先頭からパターンに一致するところを探せ.もし見つかったなら… repeat Writeln('見つけた!: 「', exp.Match[0], '」 ', exp.MatchPos[0], '文字目から', exp.MatchLen[0], '文字分'); until not exp.ExecNext; // 次を探せ.見つからなかったらループを抜ける. finally exp.Free; end; end. >>168-169 as 演算子によるインターフェースへのキャストはGUIDを付けないと使えないみたいです。 でも今回はそれが原因ではない気もします。
- 187 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:11:12 ]
- >>183
TestはあくまでDelphiのオブジェクトなので実装されていない メソッドが呼べないのは当たり前じゃないでしょうか。
- 188 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:28:33 ]
- >>181
・SerialNumber:インストール番号と ・AuthorizationKey:インストールキーは、そのまま使える ってか使えるからインスコ出来る訳で インスコし直し(とかD6RegClean.exe実行)すると ・RegistrationKey:登録コード が変わる その登録コードで有効な許諾コードを取得 https://reg.codegear.com/srs6/sanctone_serial_number.jsp メアドはDeveloper Networkのアカウントにログインして変えれば良い Borlandの時の返信Mailは登録コードも書いてあったけど Embarcaderoのには書いてない。 念のため事前に数字メモっとかないと。。。
- 189 名前:デフォルトの名無しさん [2008/11/18(火) 05:07:48 ]
- OOPについての基本的な質問なのですが・・・
オブジェクト"objA"からオブジェクト"objB"を生成するとします。 procedure TMain.foo(); begin objA := TObjA.create(); objA.foo();// objBを生成 end; procedure TObjA.foo(); begin objB := TObjB.create(); end; この場合、objAからobjBにメッセージを送ることはできますが、 その逆(objBからobjAにメッセージを送る)はできないと思います。 (objBは、どのオブジェクトから生成されたか知らないため) objBが、生成元のオブジェクトobjAにメッセージを送れるようにするには、 どうすればいいでしょうか?
- 190 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:09:52 ]
- コンストラクタで生成元を渡すような仕様にしたらいいんでは?
- 191 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:16:04 ]
- メッセージが何のことやら
- 192 名前:189 mailto:sage [2008/11/18(火) 05:16:24 ]
- >>190
ありがとうございます。 procedure TObjA.foo(); begin objB := TObjB.create(self); end; などとして、引き回すということですよね? この方法が一番スマートですかね…?
- 193 名前:174 mailto:sage [2008/11/18(火) 05:55:54 ]
- >>182 >>185 >>188
返事遅れてすいません、>>185 さんの方法で上手く出来ましたw OSの違いじゃなくて登録コードが合ってなかったんですね。 入力欄に入れようとしても変えられなかったんで関係ないと思ってました。 いや本当に助かりました、これでスッキリとDELPHI6を使い続ける事ができます。 本当にありがとう御座いました。
- 194 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:36:24 ]
- これはいいライブラリになるかも。試してないけど。
309 名前:View ◆AcQTmXmylo [sage] 投稿日:2008/11/18(火) 05:25:01 ID:bqCSxa7a 今回導入した鬼車もオープンソース(BSDライセンス)なので、それに対する貢献はなんだろうと考え、 delphiから鬼車を使うためのラッパークラスTOnigRegExpのソースを公開しました。 ttp://www.geocities.jp/jview2000/oniguruma.html OnigRegExpは、Km氏が作成したdllラッパーのoniguruma.pas, onig.pasの改造品を さらにラップしてクラス化したものです。 ttp://homepage2.nifty.com/Km/onig.htm
- 195 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 12:39:51 ]
- 人によってクセがあるので自分で書いたほうが
使い易かったりもするけどね
- 196 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 12:55:40 ]
- >>189 なんでそんな面倒なことするの? メンバ変数で記録すればいいじゃないか
procedure TMain.foo(); begin objA := TObjA.create(); objA.foo();// objBを生成 end; ↑これobjB作れてないじゃん objAとかobjBは結局ポインタなんだけどわかってる?
- 197 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 15:50:45 ]
- procedure TForm1.Button2Click(Sender: TObject);
var lp: PChar; str: String; ch: Char; begin ch := 'A'; str := 'A'; lp := PChar(str); if lp = ch then begin Caption := 'equal'; end; end; delphi2009だと、lp = chでstring->ShortStringな警告が出るんですが、 そういうものでしょうか?思いっきり、'A'を文字数だと思って比較しています。
- 198 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 16:33:58 ]
- >>196
全部読めよ
- 199 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 16:36:05 ]
- >>197
lp^じゃねぇの?
- 200 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 17:35:53 ]
- >>199
漏れもそう思ったんだが、両方文字列に変換してから比較るらしい。 D5だとequal言うんよね。
- 201 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 17:43:46 ]
- あの、流れ無視でごめん。
所でDelphi2009は.Net対応? みんなは.Netに移行するんですか?Win32維持ですか? Delphiはその流れに付いて行っているんですか?
- 202 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:48:36 ]
- いまのDel使いは.NETに乗り遅れた人達なんだよ・・
- 203 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 19:07:13 ]
- oniguruma.pasに接頭辞Tで始まるデータタイプを定義してほしい。
もうね、 var RegExp: OnigRegExp; Windows.pasも例えばTLogFont = tagLogFont;と別名定義してんだし、 合わせろよ。 と、>>195に同意。
- 204 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:16:57 ]
- >>188
ありがとう 居座ってた赤いの消すことが出来た
- 205 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:19:06 ]
- VBSなRegExp風にラップしてくれ〜
あれが一番使いやすい。 ついでにコールバックによる置換なんかに対応してくれれば言うことない。
- 206 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:26:00 ]
- 「VBSなRegExp」がどんなのか分かったら暇なときにやらないこともない
- 207 名前:197 mailto:sage [2008/11/18(火) 21:56:01 ]
- >>197
del5でもShortStringに変換して比較してた>AStrCmp WideCharの比較でなんでShortStringが出てくるのかわからないけど、仕様ならしょうがないか。
- 208 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:58:34 ]
- UnicodeStringへの添え字でのアクセスはShortStringになるのが関係ありそうでなさそうでありそう
- 209 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:58:57 ]
- >>187
まあそれはそうなのですが、単純にブリッジ処理書くのが省ければなあ、 という用途で使おうと思ったら、 面倒くさい仕様なので残念!といったところなのです。
- 210 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 22:01:53 ]
- Ordをかましたらどうだろ
- 211 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 23:44:44 ]
- Orz
- 212 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:18:28 ]
- delphiで、一部の文字の色を変えるエディタって簡単に作れるの?
- 213 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:21:26 ]
- >>212
そんなこと聞いてるあなたには簡単ではないでしょうね
- 214 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:33:40 ]
- richeditで出来るだろ
- 215 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 10:12:46 ]
- Delphi2009のバージョンアップ版ってインストール時に
前バージョン(Delphi4持ってる、2は行方不明)の確認ありますか? VBとの比較検討用だったんでユーザー登録もしてないんだけど...
- 216 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 11:05:41 ]
- おそらく前バージョンのユーザー登録してないならアクティベーション通らないんじゃないかな?
CDNのアカウントで認証してるみたいだし。サポートに問い合わせた方がいいかと。
- 217 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:33:50 ]
- >>192
TObjBでイベントを定義して、ObjBを生成したときに イベントハンドラとしてObjAのメソッドをを代入するのがいい。 ObjAの参照を持たせるよりも結合度を小さくできる。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:19:20 ]
- 特定のオブジェクトの参照を保持するのと、そのメソッドを保持するのと
結合度に差があるの? メッセージを送りたいんだから TObject の Dispatch() を使えるし、だからすべてのクラスで参照を保持できたほうが汎用性の意味では よりいいんでは?
- 219 名前:217 mailto:sage [2008/11/21(金) 01:04:58 ]
- んー、どうだろね。
メッセージというのがwindowsメッセージやdelphiのディスパッチのメカニズムを 利用する話なら>>218で正しいと思うけど、>>189にはOOPの話と断りが入ってる。 OOPでのメッセージという用語はオブジェクト間のやりとりの総称なので、 メソッドの呼び出しなども当然に含まれる。俺はそういう理解で解答してる。
- 220 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:52:35 ]
- >>186
なんかりんごの皮をチェンソーで剥いてる様な気がするのは俺だけ?
- 221 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 10:57:03 ]
- そりゃ金の取れる芸のレベルだよ
- 222 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 10:58:45 ]
- 正規表現コンポに金使えばいいのか
- 223 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 11:12:54 ]
- FreeMemにサイズを指定するメリットってあるんでしょうか?
Sizeが無指定だとちゃんと全部開放されないとかあるんでしょうか
- 224 名前:デフォルトの名無しさん [2008/11/22(土) 16:37:35 ]
- Delphi6 Personal使ってます。
manifest適用時にTComboBoxのSelText、SelStart、SelLengthの値が 正しく取得できなくて困ってます。 Textに「あいうえお」と入力して「うえ」を選択したとき SelText: SelStart: 1 SelLength: 1 という結果が返ってきます。 半角だと問題ないのですが全角だとおかしくなります。 正しい値を取得するにはどうすればいいでしょうか?
- 225 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 17:31:56 ]
- Delphi 2007でも同様の結果になるようですね。
- 226 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:26:08 ]
- manifest適用しなければおk
- 227 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 12:04:15 ]
- ユニコード対応のD2009じゃね?
Tntは修正が不完全だけど、一応使えるレベルだと思う。
- 228 名前:225 mailto:sage [2008/11/23(日) 13:08:12 ]
- TNTComboBoxならSelStart/SelLengthは正常に取得できる。SelTextはTextをAnsiStringに
変換後に自前で変換すればいい。 procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption := Format('SelStart=%d SelLength=%d SelText=%s', [ComboBox1.SelStart,ComboBox1.SelLength, Copy(AnsiString(ComboBox1.Text),ComboBox1.SelStart + 1,ComboBox1.SelLength)]); end;
- 229 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 13:16:48 ]
- TNTって無料版の開発終わったよね
- 230 名前:225 mailto:sage [2008/11/23(日) 13:34:43 ]
- まーでも古い版はダウンロード可能だし。mh-nexusさんとことか。でもDelphi 6 Personalは別版が必要かも?
- 231 名前:225 mailto:sage [2008/11/23(日) 14:01:52 ]
- TNTは現在はTMSで売ってる。
ttp://www.tmssoftware.com/site/tmsuni.asp 個人なら30Euro(3600円くらい)。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:08:16 ]
- 有料版でも直ってないそうですね
まあ、英語圏の人は他言語IMEなんて使ってないだろうし FastCodeの中の人なんて、LowerCaseのTable作りに CharUpperBuff使っただけで、「Ansi」StringReplaceとか言っちゃってるしなぁ
- 233 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:10:37 ]
- いけね、UpcaseのTableだ
- 234 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:47:14 ]
- >>230
そのままだとコンポが足りないのでエラーが出るけど ちょっと書き換えればD6Perでも動くよ
- 235 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 22:45:46 ]
- DBとBandアクチョン削ればOKだったかな
で、必要な人はsoft-gemsのThemeManager入れる、と
- 236 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 18:14:27 ]
- 特待販売の葉書が来た。
久々にバージョンアップしてもいいかなぁと思ってるところ。 今C#を主に使用しているんだけど、Delphiならではのメリットっていうと、 VCLとネイティブコンパイルぐらい?
- 237 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:39:27 ]
- バージョンアップしなくても「Delphiならではのメリット」は変わらんだろ・・
- 238 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:22:05 ]
- 昔、Delphi 7 では、デバッグでカーソルを変数に合わせるだけで値をインスペクトできた。
先日、Delphi 2006 を借りて使ってみたら、それができないじゃん。 新しい Delphi ではどうなっているのか知ってる人、どーか教えてくだしゃい。
- 239 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:40:42 ]
- >>236
おれんとこにも来たな、特待販売の葉書。 見たら会社名に「エンバカデロ・テクノロジーズ」って書いてある。 エン バカ デロ は、日本じゃアウトだろフツー。 C++Builder でまともなプログラム組めたことなかったし、 Delphi 2005, Delphi 2006 も安定しなかったんでまともに使ってなかったし、 エン「バカ」デロ Delphi と C++Builder はマジで悩む。
- 240 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:42:04 ]
- えっ?できますよ?
- 241 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:50:35 ]
- >>239
うわぁ・・・
- 242 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:54:41 ]
- >>239
安定しなかったってどういうこと? ちなみに、Delphi7で業務アプリ作ったけど、その時は割と安定してたけどな。 Delphiで気になるのは、ネイティブコンパイルと、VCLかな。 ビジュアルコンポーネントの使い勝手は優秀だと思った。 StringListとかObjectListなどの非ビジュアルコンポも優秀だけど、 いまじゃC#でもList<String>とかで代用できてしまうし、 コンポーネントもVCLライクに仕上がって遜色ない出来になってるしなぁという感じで悩む。 ま、.NETFrameworkがないと動作しないのは相変わらずなんだけど。
- 243 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:33:59 ]
- Delphi7は安定していたが、Delphi 2005は統合環境がなぜかフリーズしまくり。
Delphi 2006 はコードエディタな若干不安定で、箱形コピペなどすると、ずれ てペーストされる。また、何もしなくとも、しばらくするとCPUを食うよ うな処理が統合環境内部で起こる。そして、Delphi7より何か重たい。 また、>>238 のように、デバッグでカーソルを変数に合わせるだけで値を インスペクトできない。(あれは便利だった!!!!) これらの現象は、コードギアが提供したパッチを当ててもダメだったんだな。 そんで、今もDelphi7を使っているんだよな、おれ。 ただし、どこかにあったGoogleMap を組み込んだデモだけは、Delphi7では コンパイルできなかったのでDelphi 2006 で試したらうまくいった。 ハーア、何かうまくゆかないもんだな。
- 244 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:38:21 ]
- >>240
>えっ?できますよ? えっ?できるの?
- 245 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:46:46 ]
- >244
>238のことですよね?できますよ。もちろんローカル変数ウィンドウでも評価ウィンドウでも見られますけど、 変数にカーソルをあてるだけでインスペクションできるし、最近のものでは構造体のメンバやポインタの 示す先を追っていくこともできます。できないバージョンは(Personal/TurboExplorerを除けば)ないんじゃないかな?
- 246 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:47:58 ]
- × できないバージョンは(Personal/TurboExplorerを除けば)ないんじゃないかな?
○ Delphi5以降でできないバージョンは(Personal/TurboExplorerを除けば)ないんじゃないかな?
- 247 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 00:00:42 ]
- >>238 >>244
「メニュー」ツール → オプション 「オプションダイアログ」 エディタ設定 → 支援機能 → ツールチップ式評価 をチェックでOK デバッグの機能なんだけど、「デバッガオプション」ではなく「エディタ設定」にあるのがミソ
- 248 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 12:33:02 ]
- IDEが不安定ってことなのか。
いつからかIDEが.NET上でしか動作しないようになったんかな。 若干、重いイメージは確かにあったけど。 ネイティブで動作させることを目的としなければ、VS2005移行で十分に Delphi並のRAD環境になってるから、選択に難しいところではあるよね。
- 249 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 12:58:37 ]
- IDEは.Netだけど、コンパイルされるコードはネイティブ。
- 250 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:05:53 ]
- D2009はIDEはネイティブでそ?
ヘルプのために.NETがいるだけで
- 251 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:30:54 ]
- Delphiって算術シフトの演算子ってないの???
- 252 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:35:28 ]
- shlとshr
- 253 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/26(水) 17:34:36 ]
- >>251
ビットシフトこのとでしたら shl、shr で。 綴りで分かるかもしれませんがそれぞれ左シフト(SHift Left)と右シフト(SHift Right)。
- 254 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/26(水) 17:35:51 ]
- って一番下の252が見えてなかった…すいません
- 255 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:56:32 ]
- ファイルの先頭からあるバイト目からをMemoに読み込むにはどうしたらよいのでしょうか?
というのも、ファイルの先頭にいらない物が付いていてそのまま
- 256 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:59:58 ]
- 途中送信してしまった・・・orz
ファイルの先頭からあるバイト目からをMemoに読み込むにはどうしたらよいのでしょうか? というのも、ファイルの先頭にいらない物が付いていてそのまま Memo1.Lines.LoadFromFile(Filename); とやっても文字化け?して読めないんです。 でもその無駄なのを取り去ってやるとMemoに読み込めます。
- 257 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 19:14:15 ]
- >>256
それはウニコードだね
- 258 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 20:13:55 ]
- >>256
TFileStreamとかAssignFile・Seek・Readで読み出せばいいはず TFileStreamの方が簡単・VCL的なのでおすすめ procedure TForm1.ButtonClick(Sender: TObject); var Stream: TFileStream; begin Stream := TFileStream.Create(Edit1.Text, fmOpenRead or fmShareDenyWrite); try Stream.Seek(10, soFromBeginning);//10バイト飛ばして読む Memo1.Lines.LoadFromStream(Stream); finally Stream.Free; end; end; >>257 うんこーどと断定できるとかすげえな
- 259 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:16:21 ]
- Delphi 2006でコンポーネントのインストールをしたい。
だが、「コンポーネントのインストール」がメニューから消えており、 HELPで「コンポーネントのインストール」を検索すると 『コンポーネントコンポーネントのインストール』 このダイアログボックスでは,コンポーネントを新規パッケージ または既存のパッケージにインストールします。 とある。 いったい、どうやってダイアログボックスまでたどり着くのだろう? どなたか教えて下され。
|

|