ミ,,゚Д゚彡フサギコとモナーのDelphi質問相談談話室
初心者は入室禁止だ!!!ゴルァ!!!  ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ∧,,∧____ ∬ /,ミ゚Д゚,,彡,, /| □⊂へ ::::⊂,,,ミ // (_ミ ゛,, ノ~~// (_丿|_|"" し'  ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。 ( ) .| Delモナーは時に私であり、時には別の人。 | | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。 (__)_) \_________________________ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∬ ∧,,∧ | Delphi や Borland に関する話題 ~━っミ ゚Д゚彡,, < 雑談や質問を、しながら ∀._(,,,~ ,,,~⊃_ | マターリくつろごうや ━┳┷ |. ,(~ヽ,,,ミ. \_________ ┃...| ̄ ̄し'J.  ̄ ̄ ̄ ┻ ヽ ̄ ̄
●過去スレ
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室H
http://pc2.2ch.net/test/read.cgi/tech/1040734433/ ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室G
http://pc3.2ch.net/tech/kako/1035/10355/1035549044.html ミ,,゚Д゚彡フサギコのフサフサDelphi談話室F
http://pc3.2ch.net/tech/kako/1033/10335/1033504099.html ミ,,゚Д゚彡フサギコのフサフサDelphi談話室E
http://pc3.2ch.net/tech/kako/1031/10316/1031668744.html ミ,,゚Д゚彡フサギコのフサフサDelphi談話室D
http://pc3.2ch.net/tech/kako/1030/10302/1030266945.html ミ,,゚Д゚彡フサギコのフサフサDelphi談話室C
http://pc3.2ch.net/tech/kako/1027/10273/1027343132.html ミ,,゚Д゚彡フサギコのフサフサDelphi談話室B
http://pc3.2ch.net/tech/kako/1021/10215/1021554929.html ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室A
http://pc.2ch.net/tech/kako/1006/10066/1006602102.html ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室
http://pc.2ch.net/tech/kako/1003/10036/1003664165.html
Contnrsつかえねー
7 :
デフォルトの名無しさん :03/05/07 21:59
(゚Д゚≡゚Д゚)(;゚Д゚)オロオロ 初心者はどこへいけば・・・・?
Delphiで使えるUMLなツールってなんかない? エンタ買う金ないしDel6perなんだけど
14 :
デフォルトの名無しさん :03/05/07 23:19
つづけるぞゴルァ!
今日はDel厨の無知が暴露されて面白い(藁
死滅寸前なDelphiをわざわざC#厨やC++厨やJava厨が相手にする 必要性がないからこのスレは全部Del厨の自作自演。 ここは、 自分がDelphiの道を選んでしまった事の後悔の念が書き連ねられているスレ。
STLの代替ライブラリってどこにありましたっけ。 VCLは貧弱すぎるので。
. ___ |(・∀・)| | ̄ ̄ ̄ ブビ厨のジサクジエン王国 △ △l | __△|_.田 |△_____ |__|__門_|__|_____|_____
20 :
デフォルトの名無しさん :03/05/07 23:23
なんつーかDelphiがまだ生きていると思ってる方がどうかしてるよ。
つーか、飽きた。 こんなゾンビ言語相手にしてても仕方ないや
「本当の次スレ」がそんなに嫌いなんですね。
さようなら, Delphi
24 :
デフォルトの名無しさん :03/05/07 23:24
荒らしまくり
数年後DelphiはCOBOLの様な存在になるのでしょうか。 なるわけないですね。COBOLと違って元々ほとんど使われてなかったんだし。
27 :
デフォルトの名無しさん :03/05/07 23:26
Delphiきもい!
28 :
デフォルトの名無しさん :03/05/07 23:28
きもくない!!!!
29 :
デフォルトの名無しさん :03/05/07 23:29
Delphiで人生を棒に振りました。
30 :
デフォルトの名無しさん :03/05/07 23:29
降ってない!!!!!!
31 :
デフォルトの名無しさん :03/05/07 23:30
俺は振ったんだよ
32 :
デフォルトの名無しさん :03/05/07 23:32
BorlandがC#Builder出した時点でDelphiは終わった。 Delphi固有の役割がなくなったから。
MSがC#出した時点でVBは終わった。 VB固有の役割がなくなったから。
36 :
デフォルトの名無しさん :03/05/07 23:36
後一つどのスレでもいいけど埋め立てられたら認めてやるよ。荒らし君。
>>39 別に認めなくて良いよ。気が向いたときに荒らすだけだから。
さんざん荒らしておいてよく言うわ
しかしまあ、1,2人でこれだけ粘着質に荒らす執念は認めてやるべきかも。 健常な精神を持つ人にはとても真似できない事だし。
44 :
デフォルトの名無しさん :03/05/07 23:45
>>43 真似しなくって良いって。
今みたいに荒らしにレスしてくれればそれで良いよ(藁
45 :
デフォルトの名無しさん :03/05/07 23:52
Del厨が荒らしてDel厨が応える良スレ
さっき出てた pas2doxってどうやって使うの?
47 :
デフォルトの名無しさん :03/05/08 00:12
しかし現時点でスレの上位40のうち8つまでがDelphiスレ 人気があるのは確かだな…良くも悪くも
そのうち5つは荒らし製で、しかもあげてるのも荒らしだから あんまり・・・
age粗しにあっただけでつ。
やっぱフサギコがいなかった頃の控えめなスレ展開が良かったね。 どうも彼のおかげでスレタイ目立ちすぎでつ。
おお、ついに統合したのか。めでたいことだ。 初心者・中級者の定義は人それぞれだから1本化には前から賛成だった。
そうだ!俺は上級車だ!!君たちは加藤だ。
マッタク サイキンノ コ トキタラ モウ… Λ,,Λ. ___ ミ #彡 ||::::::::|| .ミ つ__||_____|| | ̄ ̄|__ミ――――― `ー┬‐'' ┴ ウツウツ イライラ 俺が立ててたのは、最初から 談話室シリーズだけで、 そっちで雑談するという形式で、マタリしてたはずなの、 大体スレ立てるなら、立てるヤチが Delモナが激しくやさしく即答するスレにするとか しっかりポリシー貫いていかないと、面白みに かけるというかなんというか.....ブツブツブツブツ
面白くて立てられたら質問スレにならんのだが…
DelとVBの両方で初心者スレの回答役やってる身としては、もぅね。 なんで身内にこんなのが居るのかと。 .Netが理解できなくて落ち込んでるのなら *やさしく* 教えてあげるから あっちのスレに来なさい。
>>56 「身内」って発想が既に不健全。
あらされようが、ほっとけばいいじゃない。
荒らしに付き合う連中も無視しとけばいいじゃない。
仲間意識が無ければ誰も回答役なんかやらないっつぅの。
59 :
デフォルトの名無しさん :03/05/08 13:01
>>46 は誰か分からないですか?
もしかしてまだ使える状態じゃないんですか?
Del厨に言いくるめられたって事ですか??
ググれ。
>>60 ぐぐっても載ってないんですよ
あなたも知らないみたいですし、
や っ ぱ り D e l 厨 に 言 い く る め ら れ た ? ? ?
Doxygenさえ使えないし、pas2doxは未完成のまま開発が止まってる悲しいDelphi
スレを荒らす = 実生活が不幸 日中荒らせる = 学生じゃない。社会人? 元社会人? VBマンセー = VBしか使えない VBしか使えない + (社会人 or 元社会人) + 実生活が不幸 = (-人-)ナムー
漏れは使えないDelphiも偶に使うんですが、普段はC++とかJavaとか使ってますよ。
>>62 お前程度が使えるとか言ってもたかが知れてるぜ(嘲笑激藁
結局pas2doxの使い方が分かる人は誰もいないんですね。 Del厨にはこんな高度なツールは必要ないですか?
即レスキタ━━━━(゚∀゚)━━━━ッ!! 昼間からスレを必死にチェキ!チェキ!してる君! 輝いてる!輝いてるよ! 今が君の今日一番輝いてる時間だよ!
>>67 Del厨にはツール作るの無理ですもんね。
そういう考えしか思い浮かびませんよね。
一 本 釣 り に 成 功 シ マ ス タ じゃ仕事に戻るからバイビー。頑張ってオナーニつづけてね。
71 :
デフォルトの名無しさん :03/05/08 15:16
まともな質問&交流スレッドは「くだすれシリーズ」に移行したみたいです。
71=72 . ___ |(・∀・)| | ̄ ̄ ̄ ジサクジエン王国 △ △l | __△|_.田 |△_____ |__|__門_|__|_____|_____
>>68 VB厨は荒らしツールばかり作って困ったもんだな
75 :
毛の生えたブリーフ :03/05/08 16:09
71は私です。 まじめにちょいとハイレベルな話題を扱って欲しいものです>このスレッド ホントに困っているひと、スキルアップしたがっているひとがいるのですから。
いや、荒らしを送り込まれても困るって
>>47 犯人がどういう香具師かはわかりませんが
Delユーザーには荒らす動機なんてないですものね.
>>54 最初に荒らし始めたのはフサタンが目立って気に入らなかった風の輩でしたっけ?
過度な馴れ合いみたいに見えたのかなぁ.
でもフサタンの書き込みが無くなって
スレタイがDelフサギコからただのフサギコになっても
(他の人が建てたスレになっても)
ひどくなる一方だからフサタンはあんまり関係ないと思うです.
pas2dox落としてみた。 > pas2dox test.pas で結果らしきものがずらずら出てきたので、リダイレクトして使えってことだろう。 …なんでこの程度で悩むかな?
私もやってみましたが上手く行きましたよ。 言葉遣いからしてわざとかも知れませんね。
80 :
デフォルトの名無しさん :03/05/09 10:11
すいません、 ShellTreeViewとShellListViewを配置して、エクスプローラのような環境を作りたいと思います。 ShellTreeViewのフォルダを移動したらShellListViewのほうも同調して動く、また逆も同じように動作させたいときはどうしたらよいでしょうか? 過去ログを漁ったのですが見つけられませんでした…ガックリ。
?? ShellTreeView の ShellListView プロパティに ShellListView を指定するだけですが?
IRCクライアントを作りたいんでいんですが、 Delphiで使えるIRCコンポーネントってありますか?
>>83 ありがとうございます。
TIdIRCServer は見つけたんですが、TIdIRCが何処にあるかわかりません(汗)
あと、この手の事がわかりやすく書いてあるwebや本は無いでしょうか?
ネットワークアプリははじめてなんで。
>>84 (´-`).。oO(Indy Clientsタブにあるだろ‥‥)
Delphi6 ENTでつ。Indyのバージョンってどこで見るんですか?
>>90 Indy9は入れてないの?
デフォルトのままならIndy8だな。
Indyの基底クラスにVersionを返すプロパティがあるですよ
>>90
Delphiとデザパタについて語りましょう
97 :
教えてくりんこ :03/05/11 04:19
Delphiでプログラミングしてるんだけども インターネット上にある、CSVファイルを自動で取り込んだりするにはどうすればいいんでしょうか? あと、「オプション」→「ツール」なんかで保持しているログオンするときに必要となるアカウント情報を、 自動入力するのはどうすればいいんでしょうか?
いやか実装したいことはレベル低くない話だと思うんで、あっちで質問されても困ると思うのだが?
>>97 せめて使っている/使いたい Delphi のバージョンくらい書こうよ。
:= を F2 とかに割り当てて、ワンボタンで入力できるようにたのむ。 begin、endをそれぞれ{ }で置き換えできるようにしてちょうだい。 設定画面に、 { }を有効にする。 などの項目を追加してください。どうかよろしく。
103 :
教えてくりんこ :03/05/11 16:01
>>100 Delphi6Proです
>>98 あー答えられないなら、口ださんでちょーだいね
>>102 おお、すばらしい。
と、いいたいとこなのですが、
ソースを{ }にして、視認性を高めたいのですよ。
106 :
デフォルトの名無しさん :03/05/11 17:44
>>105 コメントの { } とはどうやって区別するのだろう…?
プリプロセッサでコンパイル直前に変換するんじゃないの?
読込時/保存時に自動的に置換するような真似は…できないこともないでしょうけど、 当然支援機能とかは使えなくなるでしょうね。 コメントは (* *) オンリーとか…。そこまでする価値は無いと思うが。
そんな事を考える香具師は Cで #define begin { #define end } とかやる香具師と同レベル
>>106 おっと、そうだった。
そういった理由で、しばらくDelphiから離れていたので、すっかり忘れてた。
コメントは/* */にする(w
っと思ったら
>>109 とかぶった。
でも、ここまでDelphi言語らしさを殺して使うのであれば、Clなどの他の言語でプログラミングすべきではないでしょうか。 それとも、Delphiコンパイラしかなく、Cのコーディングにしか慣れていないための窮余の一策だったのでしょうか。 でも、ここまでDelphi言語らしさがなくなってしまうと、Delphiのプログラムとしては扱いかねますね。
えーっと、これなんて命令だっけな… あ、beginは括弧のはじめだったーーー ん?なんでおわるんだ? あ、endは閉じ括弧だったーーー という思考を毎回無意識に0.1秒ぐらいしてしまいます。 破門ですか?
破門だな。
素直にC++B使えば良いのに。
Delphi(pascal)って ブロックじゃなくて、区切りなんだよな。 ここからここまでは何々じゃなくて ここからは何々。 見難くてしょうがない。
119 :
デフォルトの名無しさん :03/05/11 18:20
(レコードの配列引数) 学生の成績を管理するため、氏名、学生証番号、英語の点数および 偏差値を持つレコードを定義する。このレコードを要素として n名の学生の成績から偏差値を求め、それぞれの学生のレコードに 書き入れる手続きを定義しておく。主プログラムでは、 まず学生数 n (n ≦ 10 とする) を入力し、学生 n 名分のデータ (氏名、学生証番号、英語の点数) を入力する。次に、 手続きを呼び出して偏差値を求め、書き込む。最後に、 成績の一覧表を表示するプログラムを作成せよ。 という宿題がでたんだが全然わかりません。おしえてエロイ人
エロエロよー
↓エロエロよーのAAキボン
>>119 それ去年も出た宿題じゃないの? 前にもどこかのスレで見たよ。先輩に見せてもらえ。
123 :
デフォルトの名無しさん :03/05/11 18:26
先輩に聞いたら一人でがんばれと言われたんだが_| ̄|○
たぶん、その先輩がどこかのスレで質問したんだな きっと
つまづくポイントなんてないぞ。がんばれ。
127 :
デフォルトの名無しさん :03/05/11 18:34
がんばったけどできないんでもう一回小学校からやり直してきます(´<_` ;)
幼稚園からにしとけ
上から一行ずつヤレや。親切な課題じゃないか。
アメリカでは学校での課題のネットからの盗用がかなり問題になっているらしい
131 :
デフォルトの名無しさん :03/05/12 01:34
RADツールつぐ。 フォームにTextBoxをぽちっと置く。 これをTextBoxExに変えたいとき 置いたTextBoxをはがしてTextBoxExにして プロパティを設定しなおすのか? 非効率すぎる。コンポーネントの置換機能や 抽象クラスでの配置や、GUIによる継承を サポートしろ。 それが出回るまでは開発者はコンポーネントを 拡張したコンポーネントを作るのではなく decoratorパターン使って置いたTextBoxを デコレートするような拡張ライブラリにしろ。
132 :
デフォルトの名無しさん :03/05/12 01:44
>>131 あんまりいいやり方とは思えないけど。
フォームをテキストとして表示。
object TextBox: TextBox を object TextBox: TextBoxEx
に書き換える。
フォームを表示。
これだけで書き換わるわけだが。
これが、Delphiのプロパティストリーミングのおかげなのは、最近知った。
>>131 いちいちひっぺがして貼りかえてるのはおまえだけ
>>132 .Pas の方も直すの忘れないようにね
135 :
デフォルトの名無しさん :03/05/12 10:02
>>134 お。忘れてた(w
と思ったら、フォームのほうを変更して、実行しようとすると、
IDEが、宣言を修正するかどうか聞いてきて、修正するように言うと
自動的に、pasのほうは、修正されるらしい。
>>136 日本語 UI 版、だれかつくらねーかな
他のアプリケーションが選択している文字列を クリップボード経由にコピーして取り込んでるんですが 今は、 ウィンドウハンドル取得 Ctrl+Cを送信 クリップボードから文字列取り出し と、やってるんです。 WM_COPYを送信してもダメだったのでCtrl+Cを送ってます。 しかし、何かスマートじゃない感じがするんですが他に方法はありますか? あと、 クリップボードを経由しない方法もあったら教えてください。
>>140 自己レス。MLの過去ログを検索したら、それらしいのがありました。
インストーラーでIndy8を削除→Indy9をインスコで成功しました。
Indy8の削除はコンポーネントの削除ではダメだったみたいです。
Delphi6 Parsonal で Indy を使ったアプリを作っています。 Update Pack1 だったので Update Pack2 と RTL Update2 をインストールしたところ、 |[致命的エラー] ユニット IdThread は異なるバージョン | System.RTLVersion によりコンパイルされています なるエラーがコンパイル時に出るようになりました。 Indy を再インストールしても出るんですが、何が原因かわかりますか? (Indy が上手く削除できてない?)
143 :
教えてくりんこ :03/05/13 00:39
>>98 解決できちった。
しかしなんだな。簡単な質問にも答えられないくらい
了見の狭いやつらの集まりなんだなここって
案外たいしたことないのねん(藁)
>>143 よっぽどレスが欲しかったんだね。 かわいそうに。
僕にも経験があるよ。 質問したのに誰もレスくれないの。
寂しいよね。
>>145 できた。ありがとう。
RTL をアップデートしたのが原因なんだろうけど、
いまいち理由がわかりません、むー。
148 :
コピペ推奨 :03/05/16 20:32
>>148 社会人ですが、7800円で買えるのでしょうか?
151 :
デフォルトの名無しさん :03/05/17 00:38
質問です。 implementation節の中で定義されてるclassは外部から継承できないのでしょうか? というのも、TCustomRichEditから継承したコンポーネントを作っているのですが、 TCustomRichEdit内でTRichEditStringsが使われており、これがimplementation内で定義されているのです。 コンポーネントを作る際にTRichEditStringsを継承したclassを作る必要が出てきたのですが、 残念ながら「そんなクラスはない」とコンパイラに怒られます。 何かよい方法はありませんでしょうか?
>>151 VCLにはありがち
結局「コピペ」で解決せざるを得ないと思われ
>19: .NETはもうおしまい? Part 2 (715) このスレの住人と思われる
携帯ゲーム機"プレイステーションポータブル(PSP) このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。 画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。 この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。 任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
157 :
デフォルトの名無しさん :03/05/18 14:49
age
158 :
デフォルトの名無しさん :03/05/20 12:39
>>158 それはつまり、複数のクライアント端末が同時に死んでしまうという事ですか?
Oracleは生きていて?
>>156 DataDiskmanとしても使えるの?
161 :
デフォルトの名無しさん :03/05/21 00:20
>159 サーバー上でうごいてるアプリ(複数ある)が同時に死んでしまうのです。 タスクマネージャ上で(応答なし)になります。 そーいえば、そのときのoracleの状態は見ていませんでした。 私は、同時に応答なしになるあたりで、BDEのSQLドライバあたりが 怪しいかなーと思っているのですが。 ちなみにDelphiは5です
>>161 >サーバー上でうごいてるアプリ(複数ある)が同時に死んでしまうのです。
うろ覚えだけど、たしかBDEは同一PCで複数のBDE使用アプリの起動をサポートしてない
ような気がしたんだけど、一度サポートに問い合わせるかFAQ見たほうがいいかも。
D5だからdbExpress使えないし…。
BDE、インストールの手間やエリアス作成の手間なんかがあるし、
パフォーマンスもよくないんで、漏れはもう使っていない。
DOA(Direct Oracle Access)がおすすめです。
ttp://allroundautomations.nl/doa.html ただこれやると、アプリ1から作らなければならない罠。
163 :
デフォルトの名無しさん :03/05/21 17:09
age
164 :
動画直リン :03/05/21 17:11
デバイスドライバってどうやって作るか知りたいのですが、 どこかに資料はないでしょうか。 英語でもOKです。 作ろうとしているのは、仮想ドライブ(RAMディスク)、仮想ポインティングデバイス、 仮想プリンタ、など、仮想なものをいろいろ作って管理できるソフトウェアです。 目的はいろんな入出力を捕まえちゃうことです。 開発環境はD6PROです。 ターゲットはWin2K/XPです。
まず仮想ドライブはMSのサイトにあるDDKにそのままCで書いたのがあったと思うよ。 これをDelphiに直して、DLLを作った後、どこかにデバイスドライバですよってフラグを入れないとけいない。 これはまあDelphiでツールを作れば簡単でしょう。 仮想ポインティングデバイスは、マウスポインタが1個なんで作っても意味がないと思うよ。 プリンタについては、やはりDDKのポストスクリプトプリンタドライバが参考になると思うよ
そのDDKというのが検索に引っ掛かり、
ダウンロードしようとしたらオーダーのページしかなく、
価格は0ドルということなのですが、ちょっと躊躇していました。
ですが、
>>166 さんもたぶん同じもののことを言ってるようなので注文してみます。
169 :
デフォルトの名無しさん :03/05/23 12:02
170 :
デフォルトの名無しさん :03/05/23 22:28
こんにちは最近になつてDelphiはじめたヤツです。 TListItemって、Createしなくても使えるしfreeしなくても良いよね、 これって、キャストしてるだけみたいな物なの?
171 :
デフォルトの名無しさん :03/05/23 23:52
>>170 >>TListItemって、Createしなくても使えるしfreeしなくても良いよね、
そんなことない。
親のコンポーネントの中にあるTListItemじゃないか?
TCustomListView.CreateListItemでしっかりCreateしてる。
173 :
デフォルトの名無しさん :03/05/24 00:28
拝啓 WIN2000お使いの方 しょぼ蓮沼って打てる?(しょぼ→enter→はすぬま→変換) いかがでしょうか?
しょぼ蓮沼しょぼ蓮沼
177 :
デフォルトの名無しさん :03/05/24 15:29
age
>>176 インストーラーが付いてない…
そしてインストール方法が書いてない…
曲がりなりにも製品として売ってるものなのに。
あ、インストール方法は書いてあった。
さっさと7を買えということです
正直、それ見てわかんないようじゃ失格。
ファイルコピーめんどくさいな。インストーラくらい付けろよ。
同意だが、183の文章をタイプするのは、ファイルコピーよりめんどくさいかも。あ、もちろん184も
('A`)マンドクセ
くだすれよりレベル低そうなスレだな、ここ
くだすれがうまってしまいましたので ここで質問させて下さい。 Integerをarray[0..63] of Charに代入するには どのように型キャストすればいいですか?
文字列として?ならStr手続き。stringに限らず静的配列も渡せますので。
>>188 あ、すみませんできました。
ありがとうございました。
すみません。根本的に間違っていました。 Rarray: array[0..256] of PChar; szTip: array[0..63] of Char; で Rarray[0]には『13 156』というように『整数 半角スペース 整数』が 入っています。 このスペースより前半にある整数(今は13)を szTipに代入したいのですが どう書けばいいか分かりません。 まず、szTipにRarray[0]を代入しようとしたら arrayとPointerには互換性はないと怒られてしまって 困惑しております。 どうかお助け下さい。 初歩的な質問をお許し下さい。
191 :
デフォルトの名無しさん :03/05/24 23:41
もう6のサポートが雑になってきたな
>>190 もう寝ろ。
頭冷やしてからまた質問しに来い。
DUnitのチュートリアルHTMLって日本語訳はどっかに無いもんかね? もし無ければ自分で翻訳しようかと思ってるんだけど、DUnitユーザーって どれぐらい居るんだろうか? 要望が多ければ励みにもなるんだけどなぁ。
ループで回してRarray[0][i]をszTip[i]へコピー。スペースだったらBreak。何か疑問でも?
>>190 果たしてそういう仕様がどこから出てきたのか、またはその仕様でいいのか、疑問に残りまくりまくりすてぃ。
>>183 某VBのコンポーネントメーカー某グレープ指定なんか毎回バグフィックスは
このやり方だぞ?
>>195 ループはできるのですが
コピーが型が違うと言われてできません(;。;)
>>196 bsmtp.dllでBPOP3でチェックしたメール数とバイト数を
タスクトレイのTipsに入れたいのです。
bsmtpはバイト数まで取ってしまうので
困っています。
メールの新着数を得るのに
適したdllやUnitを教えてくれませんか?
>>198 疑問1、どうして Indyを使わないの?
疑問2、Rarray: array[0..256] of PChar; のそれぞれの領域はどうやって確保しているの?
こういうDLLを使う時は StrArray:array[0..256] of string; として
DLLを呼び出す直前に
SetLength(StrArray[ n ] , 10000); とか領域を確保しておいて
引数には PChar(StrArray[n]) みたいに渡すの
DLLが#0 で文字列を設定するなら
StrArray[ n ] :=PCharStrArray[ n ]);
とゼロ終端を認識させる。
>>178 修正ファイルが小さい場合、インストーラーをつけると肥大化するの。
インストーラーをつけたほうが簡単/確実なのは百も承知なんだけど、
今度は「書き換えファイルが小さいのに無駄なインストーラーをつけるな」ってヤシが
現れるの。必ず。
分かってくださいな。だんな。
>>197 底辺と比べられるほどDelphiは落ちたってことか
インストーラなんぞ付ける方が底辺だろ。 あんなの一々使うよりキーボード主体のファイラでささっとコピーした方が断然速いし楽だね。
203 :
デフォルトの名無しさん :03/05/25 12:57
OnShowとOnPaintの違いが良く分かりません。 呼び出される順がOnShowの方が先でOnPaintが後なだけですか?
わざわざそれのためにキー坊主体のファイラをダウンロードするのが面土井よ 大体、ハードディスクなんて有り余ってるんだから、ちょっと増えるくらいでギャーギャー騒ぐなよ 戦後何十年経ってると思ってるんだ・・・ (ハードディスク余ってないやつは色々と才能無い)
バッチファイル式インストーラを付けろ。
>>203 OnShow=表示されるとき
OnPaint=描画されるとき
OnPaintにShowMessage('')なんて書くと終了できなくなるぞ。
>>204 > わざわざそれのためにキー坊主体のファイラをダウンロードするのが面土井よ
効率を追求するなら最初から入れてるもんなんだよ。
普段から非効率的な作業してる癖にこんな一つのケースでぎゃーぎゃーわめいてんじゃねーよプ
>戦後何十年経ってると思ってるんだ・・・
まーーーったく関係ねーー(嘲笑禿藁
ウィンドウの一部が別のウィンドウの影に隠れていたものが 現れた場合でもOnPaintイベントが起きる。ShowやHideはvisible が変化した時しか起きない。
アップデートのやり方なんぞど〜でもいいんだが、(俺らその道のプロだぞ? 告知が控えめすぎやしませんか?最近。
>>207 多くの人々にはクリック一発で終わって、ゴミ箱に入れるだけの方が楽なんだよ
無駄に肥大化してるわけじゃない。「楽」を得ているんだから
お前は、戦後の貧困期の人間だろうな
「楽を選ぶこと=悪いこと」というのが頭に焼き付いてるんだろうナムナム
使えない新人みたいなこと言う人がいます。
使える新人なんて見たことないが? 俺基準でね
でも自分は使える新人だったんだろ?
いままでいろんなプログラマを見てきたが、エンドユーザーの環境とかけ離れた 操作手順に慣れてる香具師はとんでもない糞GUIを作る傾向にあるな。 使う側の身になるなんて発想が出来ないらしい。
>>214 それは違うな。
エンドユーザーの環境とかけ離れている奴には2種類あるからだ。
一つは太古の操作体系から逃れられない頭の固まった奴。
もう一つは操作性を追求して自ら変化していった奴だ。
前者は本当に糞UIを作りやがるが後者は違う。
ユーザーの使う場面を想定して最適なデザインをするだろう。
それなのに糞と思われてしまう辺り、後者はもともと才能が無いだけだろう
>>215 後者でも前者でもどっちでもいいからおまいらWindwsルックアンドフィールに基づいて
ちゃんとデザインしてくだちい。
これをこうするとこうなるはずがこうならないとストレス感じる。 人のストレスの感じ方は幅広いから気をつけなきゃね。
おまいら最も気を付けるべきはコンテキストメニューなのだよ。 コンテキストメニューが充実していれば馬鹿でも使えるのだよ。 コンテキストメニューこそが最も重要なインターフェースなのだよ。 あらゆる場所にコンテキストメニューを用意しろよ。
つーかDelphi使ってれば自然とWin風なアプリになると思うが。
つうか、Win用アプリでWin風じゃないのって例えばどれよ?
なんか開く窓全部モーダルでかつ一方通行なのは見た事があるな。
>>222 xyzzyとか。
意識的にWin風から遠ざけるか変な開発環境使わない限りWin風にはなるな。
>>223 それってリア厨が構想無しで作ったんじゃねーの?
>>221 その“風”が曲者なのよ。
なまじ見かけがまともなだけに使いにくさとかが見えにくくなってる。
コントロールの配置と表示されるデータの関連性がバラバラなんてのは本来は
論外なハズなんだけど自称上級プログラマが作るGUIは往々にしてこんな物。
話は変わるが、お前らDUnitは使ってないのですか?
>>226 そんなのDelphi使ってる奴にはほとんどいないだろ。
VC++で作ってる奴には結構いるけどさ。
>>227 局所的なデバッグなど無意味。
ユニットごとの関連性が重要なのであってXPなど無駄なのである。
>>229 ユニットごとの関連性もDUnitで反復的にテストできますが何か?
>>229 xUnit自体はXPで必須ツールとされていますがxUnitがXPを必要とする訳では無いのですが何か?
俺なんかはDUnit使わなくても適当にブレークポイント入れたりShowMessageで表示させりゃ良いと思うけどね。
>>209 の意見がすべて。
プログラマーが対象なんだからストイックなときがあっても良いと思う。
いつもインストーラーが付かない、というわけでは無いようだし。
>>232 そういうノリで量産された糞コードをメンテする側の身にもなって下さい。
っていうか、ブレークポイント入れたりShowMessageを入れる手間を惜しまないなら
なぜDUnit程度の僅かな手間を惜しむのか理解に苦しみます。
まぁ、インストーラーが存在するに越したことは無い。
無くても(ドキュメントがあれば)許すけど、有ったら便利。
問題は
>>200 >今度は「書き換えファイルが小さいのに無駄なインストーラーをつけるな」ってヤシが
>現れるの。必ず。
って連中の存在かな。
もちろん、数キロバイトの置き換えファイルに1メガのインストーラーがついてきたりすると
ちょっと鬱になるが。
ところで 200 さんの文体が気になるんだけど、まさか関係者?
>>234 ブレークポイントやShowMessageは10秒も掛からないが、
テスト用クラスを書くのは数分かかる。
>>236 それはチミがバグを出さないと仮定した場合の話ね。
シートベルトせずに運転するタイプでつね(w
>>237 だからShowMessageで変数の内容を出したり、途中経過を見ていけば良いんだろ?
なんでわざわざDUnitを使わせたがるんだよ。
>>238 一人でやってるサンデープログラマは相手にしてないのでつよ。
3名を超えるチームでプログラミングする時やメンテチームに引き継ぐ時に
ShowMessageを入れるポイントまでちゃんと教えれるわけないでしょ?
単体テスト要領書の山を渡されてもその通りに再現テストできると思う?
>>239 そういうときだけ使えば良いだけだろ?
なんか君はどんなデバッグにも使ってるようだけどね。
>>240 「デバッグに使う」という認識自体が誤りであると知って下さいね。
アレは詳細設計からテストまでの工程全体を通して使う物であって、バグが出てから
慌ててテストクラスを書くような物では無いよ。
>>241 言葉のあやですよw
君はどうでも良いところにばかりつっこみたがるね。
つーか「デバッグ」ってバグが出てからあわててやる物じゃないよ。
>>242 無意識とは言え即座に「デバッグ」という単語が出てくるということはチミのスタイル
の反映では無いかな?
まあどうでも良いことだけど。
チームプログラミングと縁が薄いらしいから個人プログラミングの話をしようかな。
唐突だが「リファクタリング」に関してはどう思うかな?
あれは「良いプログラム」を書く上では無視できない概念であり手法であると思うん
だが、反復可能なテスト技法無しで実行するには多大な労力を必要とするのでは
無いかな?
それとも設計のまずいプログラムを改善する時は毎度毎度スクラップ&ビルドして
るのかな?
>>243 バグが出ないようにするのは設計とコーディングであってデバッグは何処まで
行ってもバグ潰しでしかないよ。
既存のバグ潰しだけじゃなくてバグの発見もデバッグだろ。 バグを発見するまで何もしないというのか。 で、リファクタリングに話をそらしたいらしいけど DUnitを使わなければ出来ないわけじゃないだろう? 使わなくても大した労力ではないです。はい。 >それとも設計のまずいプログラムを改善する時は毎度毎度スクラップ&ビルドして >るのかな? Delphiならそれも可能だね。
バグの発見は「デバッグ」ではない
そうか
>>244 どうでもいいけど、スレ違いだし、ウザイからとっととどっか逝けよ。
まぁまぁ。 リファクタリングしたからといってバグが根絶されるわけではないし。 ペアプログラミングしたからといって、二人とも節穴しか漏っていなかっりするし テストを幾ら作ったからといって、見落としがなくなることが保証されるわけではないし。 バグを減らす努力/ツールは使うべきだが、バグが無くなるツールは無い。 バグを減らす手法と、バグを見つける手法と、バグを直す手法は関連しているけど 異なる概念なので、あまり喧嘩するな。三つとも大事。
バグを発見しただけで「デバッグしますた(・∀・)ニヤニヤ」じゃ困る
バグを見つけてからが、仕事。 見つかったバグは退治できる(ことがおおい)見つからない/再現しないバグは(簡単には)退治できない。 自分の入れたコード/最後に変えたコードがバグを出す。 だから設計手法やテスト手法は大事。 だからバグが出たときの解析能力が大事。 >バグを発見しただけで「デバッグしますた(・∀・)ニヤニヤ」 困る。というか用語を間違えている気がするなぁ。 そんな人いるの?いるんだろうなぁ。
そろそろ Delphi に戻りませんかね。 リファクタリングツールとしてのモデルメーカーを使っている人は.. いないんだろうなぁ。 Delphi-ML であの方がけちつけちゃったから、誰も触ろうともしなかったか。
そうだね。この辺で止めとくよ。 漏れは日本のプログラマのスキル向上を願ってるから、みんなの誤解を解くた めにDUnitのチュートリアルを日本語訳する事に決めたよ。 出来上がったらこのスレで告知するから良かったら読んでくれ。 忙しいからいつになるか確約できないけど(オイ
256 :
デフォルトの名無しさん :03/05/25 16:55
ファイル交換可能なチャットを作っているんですけど、 相手側のポートがフィルタされたり適切な値がセットされていないか 調べる為に、ポートの状況を調べて表示したいのですが何か良い方法はありますか? 今は ICMP で ping打って調べているのですが、 通信不能な時に何が悪いのかある程度情報を表示したいのです。
257 :
デフォルトの名無しさん :03/05/25 16:56
質問よろしいでしょうか。バージョンは6のパーソナル版つかってます。 TMediaPlayerを使って MediaPlayer.FileName := (Format('sound\\bg%.2d.mp3', [fn])); MediaPlayer.Open; MediaPlayer.Play; このようにsoundフォルダを置いて、内部のMP3ファイルを再生しようとしています。 私のパソコンでは問題なく動いたので、友達のvaioで試してもらったところ 「MMSYSTEM275指定したファイルが見つかりません」 というエラーがでて音がならなくなってしまうとのことです。 どなたか原因と解決方法が分かる方はいらっしゃるでしょうか。 なにとぞお願いいたします。
スキル下がるんじゃない?便利なものなんでしょ?
>>258 バグと格闘する時間を減らして本来の意味でのスキル向上をはかるんだよ。
ドブさらいが上手くなっても嬉しくないでしょ?
あ、ごめん。 つい反応しちゃったよ。 今度こそもう止める。
一言多いね。和訳は簡潔にねwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
つーか、スレ違いだから。 ここで告知も止めて欲しいよ。
>>199 Formを使用していないので
Indyは使っていません。
そのやりかたでできました!!
ありがとうございました<(__)>
>>254 出来たらDelwikiにでも。最近モチベーション低下気味だから。
266 :
デフォルトの名無しさん :03/05/25 22:35
Formにペタシとコンポ張らないと使えないと思い込んでるヤツ多い罠
267 :
デフォルトの名無しさん :03/05/25 23:07
D E L P H I 最 強
268 :
デフォルトの名無しさん :03/05/25 23:09
Delphi最強伝説  ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ∧,,∧____ ∬ /,ミ゚Д゚,,彡,, /| □⊂へ ::::⊂,,,ミ // (_ミ ゛,, ノ~~// (_丿|_|"" し'  ̄ ̄
269 :
デフォルトの名無しさん :03/05/25 23:26
>>257 何度も出てきている問題だが、相対パスじゃなくて絶対パスにしてあげること。
またはカレントディレクトリを設定してやること。
Application.ExenameとかExtractFileDirとか。
eXeScoper ってもう配布されないの?
すみません、Delphi6Personalを使ってHTTPAppを使ってソースをコンパイルしようと思ったのですが、 [致命的エラー] Main.pas(8): ファイル 'HTTPApp.dcu' が見つかりません と出てコンパイルできなくて困ってます。 何が足りないのか教えてください・・・
>>272 パソナルに「HTTPApp」なんて無いと思う。
Enterpriseとかじゃないと使えないのでしょうか?
>>274 とりあえず、パソナラーの俺が言うんだから間違い無い。
パソナルには無い。
どうもっす!分かりました。ありがとうございます
278 :
デフォルトの名無しさん :03/05/28 09:25
正直言ってデバッグという言葉の意味を勘違いしているようじゃスキルが低すぎ
279 :
デフォルトの名無しさん :03/05/28 10:18
TQuery-BDE-(例えばInterbase)経由でCHARカラムにUNICODE格納する方法教えて下さい。
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
281 :
デフォルトの名無しさん :03/05/28 19:29
ええと、TThreadについて質問です。基本的なことかもしれないんですが、 なんだか混乱してきてしまったので。 メイン側でTListの変数を持っていて、これに、ファイル名、サイズ、日付のメンバを持つ 構造体のポインタが入ってます。ShortString、Integer、TDateTimeです。 これをスレッド側に渡してこのファイルのリストを処理したい場合、 どういう形にするのが正しいんでしょうか? 1)コンストラクタなりスレッドのプロパティなりで、渡されたリストの保持する 構造体を全部コピーする 2)スレッドが動いている間はメイン側・スレッド側ともリストの更新はしないという前提で、 コンストラクタでListのポインタだけ保持しといてここから参照する constructor Create(List: TList); begin FList := List; (FListはスレッドのフィールド) ・・・ end; procedure Execute; begin (例えば) if ExistFile(FList[xx].ファイル名) then ・・・ end; 3)2で取得したFListにアクセスする場合は常にSynchronize? コード内で2)の前提がしっかりしてれば、読むだけなんで問題なさそうですけど なんとなく糞コードのような気がしてなりません。 どうしたものでしょうか・・・ 自分ならこうするという話でも教えてもらえるとうれしいです。
282 :
デフォルトの名無しさん :03/05/28 19:31
とりあえず CriticalSection
>>281 スレッドは、メモリ空間を共有した状態で同時に複数の場所でコードが実行される。というイメージ。
どれが正しいかはコードと目的によるが。
データを共有する必要が無いのなら、スレッドごとにデータの複製を作るのが楽。何も考えないで済むから。
普通は何らかの共有データへの読み書きがあるから、面倒。
読み書きの部分で、必ず一つのスレッドが動くようにしてしまうのが、一つの方法。
282 さんの CriticalSection はスレッド間の排他処理をおこなうための道具。
Synchronize は、スレッドが複数あってもメッセージキューは一つのみ。ということを WIndows が
保証しているので、それをスレッド間排他処理のための道具として使っている。
ま、2)でよいとおもうよ
IBQueryで、UNICODE書き込みがうまくいきません。どうしたら良いでしょう? 下の例だと、「あ」の一文字以降が切れてしまいます。(スペースが無いと一応入ります) wchar_t wt[256]; memset(wt, 0, iBuf); _wcspcpy(wt, L"あ あ あ"); IBQuery1->Close(); IBQuery1->SQL->Text = "insert into NTEST values (:ID,:NAME);"; IBQuery1->Prepare(); IBQuery1->ParamByName("ID")->AsInteger = iID; Param = IBQuery1->ParamByName("NAME"); Param->DataType = ftString; Param->SetData(wt); IBQuery1->ExecSQL();
TCustomControlからコンポーネントを作ったのですが、Hintが自動で表示されません。 procedure WMMouseMove(var Msg:tmessage);message wm_mousemove; ってやってるのが原因かと思いますが、これは消したくありません。 なんとかHintが表示されるやり方を教えてくだだい。
>>285 メッセージハンドラの中ではinheritedを使って継承ハンドラを呼んでる?
>>281 1)と2)は、
FListをプロパティとして持たせるか、Createの引数として渡すか、の違いしかないわけで、
どっち使ってもFListにメイン側のListが保持されるわけだから、使いやすい方でいいんでないの?
>>284 1、insert で入れるなら :NAME の部分 ""で囲まないといけないのでは?
2、なんで IBQuert1->Append(); とかInsert でやらないの?
midiをMediaPlayerで再生させてるんですが、 どうも音がなるまで時間がかかるんです。 どうにかして瞬時(まではいかなくても出来るだけ早く) 再生させる方法、ありませんか?
親がShowHint=Falseでした。 このコンポにShowHintやParentShowHintプロパティを作ってないせいで気がつきませんでした。 お騒がせしました。
>>289 低レベルで書くか、低レベルI/Oを使ったコンポーネントを探して使うか
どもです。 やはり、参照と更新が同時に起こることが考えられないケースなら 排他処理の必要がないわけで、そんなに気にしないという結論でいいんでしょうかね・・・。 >287 1)はすべてコピーしてメインを参照しない、 2)はメイン側リストを使用、 3)は2)の際にSynchronizeする、 ということでした
>>291 どうもMIDIが重かったのが問題あったようです。
軽いのにしたら普通に再生されました。
お騒がせしました。
294 :
デフォルトの名無しさん :03/05/30 02:09
あげとく
JALマイレージバンク、丸出ししちゃった URL 参照した場合、不正アクセス禁止法に 引っかかるのかな?
IPパケットを監視するプログラム作りたいけど Windowsの場合なにがどうなってるのかわかりません。 Indyコンポでなんとかなりますか?
297 :
デフォルトの名無しさん :03/05/30 18:01
メモリー空間を監視してある文字列が出たら特定の動作をする っていうのを作ることは可能でしょうか?
あれ?、ここて、くだすれだったっけ? そのへんよろしく>1 サポートできないヘタレ1なら、速やかに閉鎖希望
_, ._ ( ゚ Д゚) ?
今まで1がサポートしていたのか?(w
ここはひどいインターネットの掲示板ですね。
ビデオキャプチャするコードを教えて。
>>305 対象とするプラットフォームは? DirectX ? version は?
PaintShopProみたいなパレット交換機能の実現の仕方知ってる人いぬ?
いぬ。
ねこ
「PaintShopProみたいなパレット交換機能」ってのを日本語で説明してくれると 知らない人でも力を貸せると思うなぁ。
>>307 えーと・・・具体的に言うと、
256色の画像Aと256色の画像Bがあったとして、
「画像Bのパレットを画像Aのパレットに変える」みたいな機能です。
できれば、近似色に自動的に変換してくれる機能もつけられるといいのですが・・・
とりあえずは交換機能だけでも実装せねば。。。
パレットを変えて、画像B は色合いが全く変ってしまっていいの? それとも 画像Bの見かけが殆ど変らないようにAのパレットに変更したいの?
できれば見掛けが変わらないようにしたいのですが、 ほとんど色合いが同じ(ドット絵を扱う為)なので、 簡単なほうをお願いします。 GazoA.Palette := GazoB.Palette だとできないみたい。。。
テンポラリで非パレットビットマップを通したら? ただ、これは実質的に減色処理と同等だから、各社性能にしのぎを削っている分野。 Win32 API の減色機能を使ってみても良いと思うけどそんなにきれいではない。かと おもった。
>>315 せっかくレスしてくれたのに申し訳ないのですが、
そのやり方だと、パレット番号が崩れてしまうような・・・
パレット番号をそのままに、パレットをコピーしたいのです。
具体的には、ゲームの画像をいじくるようなツールを作るので、
パレットの番号を変えたくないのです。
(ゲームの画像は、パレット番号0が透過色という事が多い。)
もっと踏み込んだことを言えば、 TColorの動的配列にパレットを読みこみ&書き出しできたらいいのですが。 var Color : array of TColor; i : integer; begin for i := 0 to 255 do begin Color[i] := パレット(i) end; end; みたいな感じで・・・
>>318 ,319
レスありがとうございます。
319のレスを見て、見事に完成しました。
実にバカなことをやってました。。。
TBitmapのPixelFormatがpf24bitのままでした。
8bitにすると勝手に減色されてしまい、どうしていいものやらと。。。
が、なんとか解決することに成功しました。
>>310 ,313,315,318,319さん、
ホンマにありがとうございます。
一応、私と同じ事をして困っている人もいるかもしれない(いるわけない)ので、
コードを載せときます。
var
Main, Temp, Temp2 : TBitmap;
begin
Main := TBitmap.Create; //パレットを交換する画像
Temp := TBitmap.Create; //Mainの一時退避
Temp2 := TBitmap.Create; //変えたいパレット情報を持つビットマップ
(ここらへんに読みこむ処理を描き・・・・)
Temp.Assign(Main);
Main.PixelFormat := pf8bit
Main.Palette := Temp2.Palette;
Bitblt(Main.Canvas.Handle, 0, 0, Main.Width, Main.Height, 0, 0, SRCCOPY);
end;
いじょうのコードでできますた。
ホンマ、ありがd
>>320 それをすると、Mainのビットマップの方が書き換わらないか? まあそれでいいならいんだけど
>>321 Yes.たしかに変わります。
でも、今作ってるツールは、「普通に減色するモード」と、「パレットを合わせるモード」があるのでOKです。
同じパレットのドット絵同士を合成することを考えているので。
[Delphi:76793] 出席(・∀・)イイ !を出した生徒はどんな奴なんだろう・・・
>>323 ちゃんと謝っているんだからそっとしておこうよ。
Delphi:76793 は、タイトルだけじゃなく本文も秀逸。もはや芸術の域。
今度は千葉大。
327 :
デフォルトの名無しさん :03/06/04 01:21
ボタンコンポーネントから継承してOnCilkイベントにプログラムを書きたいのですが、どうすればよいでしょうか? Clik に書くと Selfがそのコンポーネントを指します。 Self を、オーナの(formなど)にしたいので、OnClikイベントで書きたいのですがわかりません。 お願いします。
適当にプロシージャ作って Button2.onclick:=tekitou; で良かったような
>>327 もしかしたらもっと基本的なことかもしれないから書いておくと
ボタンをダブルクリックするとできる Button1.onclick に書けば(・∀・)イイ!!
>>327 質問の意味を量りかねてますが…
コード上で派生させてるなら
procedure 名前(Sender: TObject)なるメソッドを用意しておいて
MyButton.OnClick:=名前
TButtonから派生させてコンポーネントを作ったのなら
OnClickイベントがあるはず
…おーい、OnClikじゃないよ〜
(´-`)。o ○ (「書き方」からして、つまらない釣りだと思うんだが…)
釣りなら「Delphiの限界を感じました」って書いて欲しかったな
(´-`)。o ○ (いや、真実は知らんけど「Clik」とか、一行開けるあたりとか…)
その1
ちょっと、はしょりすぎました、ごめんなさい。
逆に、今度は長文です申し訳ありません。
「コンポーネントテンプレートの作成」で、うまくいくのですが、
コンポーネントを学びたいのであえて挑戦してみました。
OnClickのイベントハンドラをダブルクリックすることで、
procedure Button1Click(Sender: TObject);
の処理が実行されるのが理解できなかったのですが、
>>328 ,330のレスをみて、フォームファイル(.dfm)で
OnClick = Button1Click
を処理していることに気づきました。
で、同じように、コンポーネントを作成しましたが、
やはりうまくいきません。
内容はこんな感じなんです。
よろしくお願いします。
「自分の限界をまた感じました」
その2
----- やりたいこと -----
Form1上にPageControl1があり、ボタンをクリックすると、
Form2がForm1上のTabSheetになるようにしている。
Form2上のボタンをクリックすることで、Form2のみCloseしたい。
ボタンのイベントに
ManualFloat(Self.ClientRect);
Close;
と記述することで、実現できるが、
複数のForm(Form2以外に3,4がある)に同じイベントを記述するのは大変なので、
コンポーネントしようとしたが、うまくいかなかった。
Kind := bkClose; の場合
Form2がドッキングしている 正しい処理
Form2がドッキングしていない 全てのプログラムが終了する。
Kind := bkCustom; の場合
OnClickへの記述の仕方を
>>328 ,330 のやり方を参考にして見たが、
うまくいかなかった。(LocalClick)
Selfが作成したコンポーネント(TBitBtnClose)であるためではないかと思う。
その3 画面イメージ ┏━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━┓ ┃ Form1 _□X┃ ┃ Form1 _□X┃ ┣━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━┫ ┃┏━━━━━━┓ ┃ ┃┏━━━━━━┓ ┃ ┃┃ButtonCreate┃ ┃ ┃┃ButtonCreate┃ ┃ ┃┗━━━━━━┛ ┃→ ┃┗━━━━━━┛ ┃ ┃┏━━━┓ ┃ 1┃┌───┏━━━┓ ┃ ┃┃ ┃ ┃ ┃│ ┃Form2 ┃ ┃ ┃┃ ┗━━━━━━━━━┓┃ ┃┏━━━┛ ┗━━━━━┓┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ TabSheet1 ┃┃ ←┃┃ ┏━━━━━━┓ ┃┃ ┃┃ ┃┃2 ┃┃ ┃ButtonClose ┃ ┃┃ ┃┃ ┃┃3 ┃┃ ┗━━━━━━┛ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┗━━━━━━━━━━━━━┛┃ ┃┗━━━━━━━━━━━━━┛┃ ┗━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━┛ 1.ButtonCreateをクリック 2.ButtonCloseをクリック 3.ButtonCloseを作成したTBitBtnCloseに置き換えてクリック
その4 ----- Form1 ----- unit Unit1; type TForm1 = class(TForm) PageControl1: TPageControl; ButtonCreate: TButton; TabSheet1: TTabSheet; procedure ButtonCreateClick(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.ButtonCreateClick(Sender: TObject); begin Application.CreateForm(TForm2, Form2); PageControl1.ActivePage := PageControl1.Pages[PageControl1.PageCount - 1]; Form2.Show; end;
その5 ----- Form2 ----- unit Unit2; type TForm2 = class(TForm) ButtonClose: TButton; procedure ButtonCloseClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form2: TForm2; implementation uses Unit1; {$R *.dfm}
その6 procedure TForm2.ButtonCloseClick(Sender: TObject); begin // ManualFloat(Self.ClientRect); ShowMessage(Self.ClassName); //この結果はTForm2 close; end; procedure TForm2.FormCreate(Sender: TObject); begin ManualDock(Form1.PageControl1,nil,alClient); end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; { ブロパティ Form2.DragKind := dkDock }
その7 ----- 作成したコンポーネント ----- Form2がTabSheet1の状態であってもForm2のみ終了するようにする。 unit BitBtnClose; interface uses Windows, Messages, SysUtils, Classes, Controls, StdCtrls, Buttons, Forms, Dialogs; type TBitBtnClose = class(TBitBtn) private { Private 宣言 } procedure LocalClick(Sender: TObject); protected { Protected 宣言 } public { Public 宣言 } constructor Create(AOwner: TComponent); override; published { Published 宣言 } property OnClick; end; procedure Register; implementation
その8(End) procedure Register; begin RegisterComponents('My Components', [TBitBtnClose]); end; constructor TBitBtnClose.Create(AOwner: TComponent); begin inherited Create(AOwner); Kind := bkClose; //このままだと、すべてのFormが終了する Kind := bkCustom; //Customにして外見のみCloseにする OnClick := LocalClick; //イベントの記述? end; procedure TBitBtnClose.LocalClick(Sender: TObject); begin ShowMessage(Self.ClassName); //この結果はTBitBtn ShowMessage(Sender.ClassName); //この結果はTBitBtn { Formにコンポーネントを貼り付けた後に、OnClickに以下の処理をすると 希望どおりの処理になるが、このままではうまくいかない } // ManualFloat(Self.ClientRect); //うまくいかない // Close; //うまくいかない end;
よくもまあ、荒らしてくれましたね。
画面イメージ ┏━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━┓ ┃ Form1 _□X┃ ┃ Form1 _□X┃ ┣━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━┫ ┃┏━━━━━━┓ ┃ ┃┏━━━━━━┓ ┃ ┃┃ButtonCreate.┃ ┃ ┃┃ButtonCreate.┃ ┃ ┃┗━━━━━━┛ ┃→ ┃┗━━━━━━┛ . ┃ ┃┏━━━┓ . ┃ 1┃┌───┏━━━┓ ┃ ┃┃ . ┃ ┃ ┃│ ┃Form2 ┃ ┃ ┃┃ . ┗━━━━━━━━━┓┃ ┃┏━━━┛ ┗━━━━━┓┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ TabSheet1 ┃┃ ←┃┃ ┏━━━━━━┓ ┃┃ ┃┃ ┃┃2 ┃┃ ┃ButtonClose .┃ ┃┃ ┃┃ ┃┃3 ┃┃ ┗━━━━━━┛ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┗━━━━━━━━━━━━━┛┃ ┃┗━━━━━━━━━━━━━┛┃ ┗━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━┛
>>327 ちょっと混じれ酢。
>{
>Formにコンポーネントを貼り付けた後に、OnClickに以下の処理をすると
>希望どおりの処理になるが、このままではうまくいかない
>}
>// ManualFloat(Self.ClientRect); //うまくいかない
>// Close; //うまくいかない
ManualFloadもCloseもTBitBtnCloseのメソッドじゃないんだから
コンパイルが通らなくて当然。
また、OnClickのようなイベントハンドらはコンポーネント側ではなく
コンテナ側(フォームとか)で実装するもの。
だと思うなり。
その動作でどうしてボタンをコンポーネント化しようと考えるのかがまずわからん こんな限定された状況でしか動かせないものは普通コンポーネント化しない 同じソース書くのがいやなら、フォームとかフレーム作って継承させれ
すいません、dephi2を立ち上げようとするとcmplib32.dclがEOutOfMemoryとかいって コンポーネントがなにもでてこなくなってしまったんですが、 なにかそういった現象ってありますか?delphi6入れるとダメになるとか。
Delphi6です。 簡単なDBのインデックスを作りたいんですがまだ初心者なんで質問させ てください。 ダイアログを使わずにアプリの内部だけで処理する前提でディレクトリ内 のファイル一覧の取得はどうすればよいでしょうか。
下記の条件を満たす文字列検索のコードを求む。 条件: ・メモ帳以上の検索速度を持つ。 ・前方向に検索が出来る。 ・範囲を指定しての検索が出来る。 ・大・小文字、全・半角を区別しないで検索が出来る。 以上、よろしくお願い致す。
>>351 残念ながら第一の条件を満たしていないようだ。
メモ帳って・・・・Memo1.Lines を直接検索したらダメだよ。 あれは実際に文字持ってるのはWindowsコントロールだから
>>350 それくらい考えろよ。ルーチン考えるのがプログラミングの楽しさだ。
それとも会社で窮地に立たされてるのかい?
お前等はメモ帳の恐ろしさを知らない。
357 :
デフォルトの名無しさん :03/06/07 12:02
Quadruple DでXファイルのアニメーションを再生できますか?
Quadruple の ML で聞いたほうがよいだろう
test
Del6のドッキングのサンプルが激しく糞なんですが(バグ大杉) まともなドッキングの例ってどこかに無いでつか?
Toolbar2000とか使う方がはやそうです。 _______ /VCL.NETでネイティブでもドッキングが ,__ | まともになりますように。 / ./\ \_____ / ./( ・ ).\ o〇 ヾ!;;;::iii|//" /_____/ .(´ー`) ,\ ∧,,∧ |;;;;::iii|/゙  ̄|| || || ||. |っ¢..|| ̄ ミ,, ミ ナムナム|;;;;::iii| || || || ||./,,, |ゝ iii~ .⊂ ヾ wjjrjww!;;;;::iii|jwjjrjww〃 | ̄ ̄ ̄|~~凸( ̄)凸 .ミ,, ,, @ wjwjjrj从jwwjwjjrj从jr
ドッキングよりCoolBarのほうがカコイイよ。 CoolBarもバグあるけどな。
>>361 ・VCL.NET は .NET なのだからネーティブコードは吐けない
・.NET Framework にドッキングの機能はない。Win32 メッセージハンドラの記述と
Win32 API 直接呼出しが必要。それが .NET Framework
自分で書いてて何だけど .NET の話は別のところでしようよ。A6VzDeLphI さんよ。 周りにとっちゃ嵐同然だぜ
「談話」含むスレだからいいんじゃない?比較話にならなきゃ荒れないでしょ。
で、(
>>361 のVCL.NETの認識がちょっと変なのは別にして)
VCL.NETはWindows.Formsを使わずにAPIだけで、既存VCLに似せて実現されてるから、
ドッキングも可能と思われ(preview付属のユニットにもDockSiteとか定義されてるし)
CGIでソケット使いたいんですがTClientSocketを実装(継承?)するには どんな宣言したらよいのでしょうか。厨な質問もんですもません。 ググってもでてこなくて。。 よろしくお願いします
コンソールアプリケーションの話です
フサギコもすっかり過去の人か
369 :
デフォルトの名無しさん :03/06/09 22:57
aげ
370 :
デフォルトの名無しさん :03/06/09 23:01
スルーされてる質問多いな
371 :
デフォルトの名無しさん :03/06/09 23:04
まず第一に プ ロ グ ラ ミ ン グ っ て な に よ? 厨な質問スマソ
372 :
デフォルトの名無しさん :03/06/09 23:57
>>366 フォーム作ってTClientSocket乗せてuses節見てごらん。
なんか増えてるからそれを書き写してください。
373 :
デフォルトの名無しさん :03/06/09 23:58
375 :
デフォルトの名無しさん :03/06/09 23:59
.NETひきづるようで悪いが、.NET Framework標準でVC.NET風のメニューとツールバーが作れないのが腹立つ。
376 :
デフォルトの名無しさん :03/06/10 00:02
>>375 VS.NETは.NETで作られていないということでわ
377 :
デフォルトの名無しさん :03/06/10 00:05
378 :
デフォルトの名無しさん :03/06/10 00:53
SharpDevelopってVC.NETっぽく作られてるけど、メニューもツールバーもページコントロールも自前のコードなんだよねぇ。 フレームワークでサポートしてると思って、プロパティとか探しまくったけどけっきょく無くて、なんだこりゃ、って思ったよ。
Delphiだって標準コンポだけじゃIDEと同等のUIは作れないし。
SharpDevelop作った奴スゲーってことで、よろしいか?
UIを自前で作る場合、特許とか著作権とか色々制約があるもんなのかな?
ある程度の柔軟性を確保しつつコンポとして 切り出して一般化するのは大変ってことでしょ。 それにUIって見た目だけじゃなく使い勝手もころころ変わるし。
フォームのDockはiniファイルへの保存復旧も含めて もっと簡単にできてもいい気がするけどな。
SharpDevelopはMagicLibrary、VS.NETは基本的にはネイティブコードじゃないのか?
>>381 あると思うよ。 Delphi方式の2WayRAD = 委譲をフォームにする方式は特許成立してるしね。 調べた方がいいよ。
>>381 特許といっても自分で使うだけならモーマンタイ
フリーだの商品だので配布するようだと問題になる
(社内システムで使うくらいなら分かりゃしない)
>>379 DelphiだとVCLに入ってるよ(Pro以上)
そういや、何気なくそこらのライブラリ入れてたら、メモリダンプコンポーネントとか入ってたな
せんせい、しーつもーん *.dcuが作成できません、って言われてコンパイルが完了しないのは何故でしょう? そのソースは他の環境だときちんとコンパイルできるらしいです。
--------- ここから ------- del *.tds del *.~* del *.dsk del *.dof del *.dsm del *.dcu ----------- ここまで ------- これを deldel.bat って名前で binのフォルダにでも保存して あちこちの不要ファイルを消して回れ
>>389 プロジェクト→オプション→ディレクトリ/条件→ユニット出力ディレクトリ
>>387 じゃあ作ってみろよ。それだけじゃ無理。
スタンバイから復帰させるのってどうやるんだろ?ググッても糸口が見えない。 誰か知ってる人がいたら教えてください。
>>393 システム関連いじるならWinAPIスレに逝った方がよい。
>>392 まず何が出来ないと思ってるのか言ってみなさい。
コンポーネントパレット。 見た目も挙動も全く同じものを作ってみれ。
>>397 TTabControlにTToolbar乗せたら出来たんですけど(笑)
次はIDEのエディタと見た目も挙動も全く同じの作れ。 Delphiなら標準コンポーネントだけで出来るんだよなあ?
それが終わったらIDEそのものを作れ。 Delphiなら標準コンポーネントだけで出来るんだよなあ?
それも終わったらコマンドラインコンパイラと見た目も挙動も全く同じの作れ。 Delphiなら標準コンポーネントだけで出来るんだよなあ?
>397 あー、言い方が悪かったね。 ツールバーに乗っている形で、だよ。 なんなら、Delphiのツールバーそのものってお題目でもいいけど。
まちがい、>398な。 397は俺だ・・・
a.exeはかならず起動していると仮定します。 そこでa.exeを終了してもう一度起動するには どういうプログラムを書けばいいのでしょうか? 解説しているサイトや教えてくれる方いたらお願いします。
>>401 コンパイラはアセンブリじゃなかったっけ?
>>404 1.起動中のプロセスをEnumProcessesで取得する
2.GetModuleBaseNameでプロセスの起動名を取得して、a.exeであるかチェックする
3.名前が一致したらTerminateProcessでプロセスを終了させる。
4.CreateProcessでa.exeを起動させる。
※システムが不安定なる予感がするので、以後当方はいっさい関知しない。
>>402 CoolBar使えば良いだけじゃないの?
>408 やってみてから言ってるのか? そんな簡単ならわざわざ書き込むかよ、バカが
あれはControlBarなのでは。
だからさあ、ControlBarだから何? 確かにControlBarなんだけどさ、じゃあそこにTabControlなりPageControlなり 置いてみて、IDEと同じかどうかじっくり見てみろって. 標準コンポでフローティングするメインメニュー作れるの?ねえ。 なんで俺、こんなに必死なんだ・・・
>じっくり見てみろって.
・・・・・・・・ヤダ・・・
>標準コンポでフローティングするメインメニュー作れるの?ねえ。
昔はTMenuBarって配布されてたね。
今はActionManegerに取って変わられたのかな。
なんにせよ俺評価ではドッキングFormもドッキングToolbarも
Toolbar2000系にはかなわないと思ったから
VCL調べる気はないです。
http://www.jrsoftware.org/tb2k.php あとIDEのメインメニュ-はフローティングしないし
させると、ショートカットの挙動がイロイロと問題になるよ。
>>404 テメーでa.exeを起動してハンドル握っとけ
なんにせよ俺評価ではDelphiもC++Builderも C#にはかなわないと思ったから Borland製品調べる気はないです。
あらま。
だったら何しにここに来たでちゅかー?
>>414 さみしくて誰でもいいから相手して欲しかったでちゅか?
かわいそうな子でちゅねー。
C#には敵わない。 そんな当たり前のこと今更持ち出してきて何がしたかったの・・・?
>>416 ではおまいはなぜそのような寂しい奴の相手をするのか小一時間問いつめたい。
>>411 ツールバー系(TActionMainMenuBarでもいいけど)でメニューを作れば、作れると思う。
Toolbar2000ってそんなにいいの? 検討したいから、どういう感じなのか教えて
URLあるんだからそこみりゃいいだろ。英語読めないのかよ。 んなもんアメリカの乞食だって読めるぞ。
>419 むしろTActionMainMenuBarでないと、あの形のメインメニューはできないでしょ。 Del5にはないけど。Delphiも違うコンポ使ってるみたいだし。 系とか思うとか、あいまいに言ってるけど実際他のでできる? んで、まあ必要性はないけど、俺もコンポーネントパレットは同じようには 作れないんだけど、なにか方法あるの?
>>422 TToolBarでもコード書き足せばできる。(TMenuBarとして配られてた)
コンポーネントパレットは、上の方で挙げられて無いけどPageScrollerが味噌でしょ
>>421 >んなもんアメリカの乞食だって読めるぞ。
そりゃそうだ
426 :
デフォルトの名無しさん :03/06/12 13:43
Threadを作成して処理をさせているんですが、 Thread.Createが終了した時に、 「スレッドエラー ハンドル名が無効です(6)」 と出てしまいます。 しかし、実際の処理はされているのですが…。 なにが原因なのかよくわかりません。 よろしかったらアドバイスをお願いします。
それだけで答えられると思ってんのか・・・
428 :
デフォルトの名無しさん :03/06/12 19:03
>>426 そういうときは、まっさらなプロジェクト作って、該当箇所だけコピーして、
少しずつシンプルなコードに削っていく。
>>421 日本の乞食は誰でも日本語が読めるけど、アメリカの乞食が英語を読めるとは限らんよ。
>>429 当たり前だろ。
んなもん日本の乞食だって知ってるぞ。
>>426 本気で原因究明したいなら、その辺のソースと環境を書くべきかと…。
おまえらは乞食研究家ですか?
>>426 大方FormDestoryイベントでスレッドを終了させようとしているとか。
なんだかなぁ…。解決する気無いなら聞くなよ…。 なんつってな。
_________ ∧,,∧ / Del4時代の ミ,,゚Д゚彡 < 標準Exeアイコンは ミ つ旦)~~ \ どこかにありますか? @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ D5以降のが極端にダサくて 嫌気がさしてきました。(今ごろ)
7が極端にダサいのはわかるが、4も5も同じようなもんだろ? 単なる慣れ。俺は5の方がしっくりくるし。
俺は勝手にBeOSのアイコン使ってたけどな。 標準にこだわるなよ。
TBitmap って作成廃棄繰返したらなんかメモリ使用量がどんどん増えるんだけど、これメモリリークしてるのかな? 恐くなったから、動的に作成解放しないで、一度作成したらアプリ終了まで解放しないようにして使いまわすようにしたけど これも、Assignとかでコピーしてると作成解放ほどではないけどジリジリメモリ使用量が増える。 やっぱり気持ち悪いから、Assignはやめてpf32bitにしてscanline使ってコピーするようにしたらやっとジリジリ増えるのが止まった 環境は Win2000+D7Pro メモリリークじゃなくてメモリ断片化なのかもしれないけど・・・よく判らん。
断片化でアドレス空間を侵食していってるのかな? 昔InsideWindowsで、Borlandのメモリマネージャは解放処理のたびにページの縮小チェックを 行ってるってのを読んだ気がするけど…BC++とDelphiじゃ違うのかも メモリマネージャをAPIのヒープ関数に置き換えて、時々HeapCompact呼んでみるとか…(適当)
そういえば、一度ウィンドウを最小化すれば、タスクマネージャに表示される 消費メモリをスリム化できた気が。 同じ効果が単独のAPIでもあったような気がする。何だったっけな…
試しに、連続して作成廃棄したら全然増えなかった。 タイマでやると増える所みると、やっぱり断片化なのかな
>>438 コード晒したら?
ってかリーク検出ユニット使え。
>>435 Demo下のサンプルにあるリソースから引っこ抜く。
∧,,∧ ありがとございます。
ミ,,゚Д゚彡
>>443 さん。
ミ つ旦)~~ 青丸に聖火のアイコン
〜と,,,~),,~) ひっこぬきますた。
>>436 さん、D7は更にダサくなってるんですか?
どこかで画像みれないかな。
BeOSアイコンみたいに、
標準Exeで使えそうな無難デザインのアイコン配布サイト
どこか、ないかしら。
ところで、NEWSっす。
今まで顧客満足度を下げるばかりで最悪だった某のマーケ。
この人がいることで変わるんかな。
エンタープライズ:Interview:RADからアプリライフサイクル全般へソリューションを拡大するBorland
http://www.zdnet.co.jp/enterprise/0306/16/epn04.html
>>446 >今まで顧客満足度を下げるばかりで最悪だった某のマーケ。
アメリカでは元から不評はないんだが。
まさか、まだ日本の代理店に何かを期待しているの?
>>447 Where are you from?
449 :
デフォルトの名無しさん :03/06/19 11:15
なんだ?とつぜん?
451 :
デフォルトの名無しさん :03/06/19 16:42
USBカメラを買ったのです。 Delphiでカメラ映像を get したいのですが、 サンプルコードなどありませんか? とりあえず VFW.pas は入手したんですが、いまいち使い方が… Win98, Del6pro 使っています。
今ナウいのはVFWじゃなくてDirectShowだろう。
DelphiのTToolBarで、IEやエクスプローラのように一部のボタンだけ キャプション表示するっていうのはどうやればいいんでしょうか? TToolBarのShowCaptionをTrueにすると、全部のボタンがキャプションが表示されるうえ、 一番長いボタンの幅に揃えられてしまうんですけど・・・.
ToolBarにSpeedButton置けばいいんじゃない。
ToolButtonのAutoSizeをtrueにすると幸せになれるかもしれないかもしれない
Σ(゚д゚lll)!!!!!! ToolBarのAutoSizeではなく、ToolButtonのAutoSizeだったんですね・・・・ ものすごく幸せになれました。 で、キャプションなくすと空白が強制追加されるというMLにもあった話題が再現できました. ここは、パネル置いてそのうえにSpeedButton置くことで対応しようと思います. そのまま置くと、Flatにしたとき勝手にセパレータがかかれちゃうので・・・. どうもありがとうございました。
むー、しかしそれだとDropDown+キャプションなしが作れなかった;; それに、DelのToolBarだと、セパレータで分けずにDropDownの矢印を書く 設定もできない感じだし・・・。 前途多難です。・゚・(ノД`)・゚・。
∧,,∧ くだすれが雑談になりかけてしまって
ミ,,゚Д゚彡 スマソです。ことわりもなく移動っす。
ミつ日(ミ
英語よまずに、ソースみました。
http://www.drbob42.net/delphi5/examin42.htm WinFormとVCL.NET見比べるとなんとも後者はスッキリしない
印象がしました。
ネイティブVCLコンパイラで.NET文法をサポートする気は全くなく
名前空間すらも対応するつもりは、ない。というわけなんだ。
(まさか、中身は何も変わらないのかな?VCLコンパイラ)
Delphi.NETでWindows向けアプリのソースを練るには
・WinFormで作る。
・VCLで作る。
・VCL.NETで作る。
・VCLとVCL.NETどっちでも動くように作る。
こういう選択肢がありそう。混乱しそうだ。
普通は、 ・ロジック部とGUIとをちゃんと分離する 便利だから、簡単だからと TForm継承にロジックベタベタ書くのはそろそろ止めたら?
>>458 最初のとこ読みなさいよ。プレビュー版dccilと、ネイティブの方は恐らくD7じゃないですか?
CreateFormの記述とかも明らかにプレビュー版ベースですし。
(完成形ではVCL.NETでもCreateFormがサポートされるとあちこちに書いてある)
∧,,∧l||l ガックリ ミ,, 彡 ミ ∪ 英語が不自由だと ,と,,と,,,) 生き方も不自由だっていう 見本ですか。そうですね。
生`・・・・
RADなんだから、フォーム回りなんて1枚半日もあれば作れるんだからさ 出来るだけプログラムロジックはVCLに依存しないように作っておけば #まあCLXと共通の部分 TStringListやCanvas/TBitmapとか例外は使うとして 後はフォームのイベントに呼び出すコード書いてくだけで移植完了さ・・・・きっと
でも複数の環境で動くソースを作るとなると、それを支援してくれるような機構が欲しくはなるね。 例えば uses の他に usesPackage パッケージ名 =(パッケージ内ユニット名 複数); で、パッケージには複数のユニットを別名を付けて指定出来る alias Dialog = QDialog in 'QDialogpas'; で、パッケージ名の別名をIDEて定義すれば一挙い切り替えられるとか
>>464 別名機能なら既にある気が(プロジェクトオプション)
Del.NETではユニット内で使えるローカルな別名も使えるらしい
懲りずに生`て質問することにしました。 ∫,,,,,,,,,∧,,∧ こんなソース使ってウマーなのですが ⊂,,,,,,,,,つ,,゚Д゚ミつ なにかのタイミングで この処理が働かなくなってしまう事があります。 どのようにしたら、しっかりクリップボードを 見張ってくれるようになるのでしょうか? よろしくお願いします。(質問ってここでいいんすか?) procedure TForm1.WMDrawClipboard(var Msg: TWMDrawClipboard); begin inherited; ShowMessage('クリップボード更新されたよ'); if FClipNextHandle<>0 then SendMessage(FClipNextHandle,WM_DRAWCLIPBOARD, 0, 0); end; procedure TForm1.WMChangeCBChain(var Msg: TWMChangeCBChain); begin if Msg.Remove = FClipNextHandle then FClipNextHandle := Msg.Next; if FClipNextHandle <> 0 then SendMessage(FClipNextHandle, WM_CHANGECBCHAIN, Msg.Remove,Msg.Next); end; procedure TForm1.FormCreate(Sender: TObject); begin FClipNextHandle := SetClipboardViewer(Form1.Handle);end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin ChangeClipboardChain(Handle, FClipNextHandle);end;
Msg.Result :=0 ; はどこでやってるの?
468 :
デフォルトの名無しさん :03/06/22 17:17
例外処理論争の続きはこちらで
∫,,,,,,,,,∧,,∧
>>467 さん
⊂,,,,,,,,,つ,,゚Д゚ミつ ?やってないです。
WM_CHANGECBCHAIN ではやった方がいいでしょ
>>469
BCB版Winny2出たね。コンポーネント共通だからUI解析していじくれそう
ちょっと見てみたけど、全部のフォームを起動時にCreateしてた。 リソース大丈夫かな…
ちらつく
ちらつくね。オーナードロー処理がうまくいってないのかな
板違いだかすれ違いだか犯罪
何罪か具体的に言ってみろ、ドアホ
まぁまだVCLに慣れてないんでしょ
479 :
デフォルトの名無しさん :03/06/23 16:46
質問れす。アプリケーションにフルパスか、フォルダのフルパスを取得したいので VBいうところのapp.Pathに相当するの、ありませんか?ヘルプを読みまくっても ようけわからんです…
ExtractFilePath(Application.ExeName)
>>479 Application.ExeName
カ豚
483 :
デフォルトの名無しさん :03/06/23 16:59
>>466 これだと常にWM_CHANGECBCHANEで、SendMessage するけどいいのかな?
もしくは、Form1.Handle が変わってるか、
イベントハンドラ内でトレース中にクリップボードにコピーしている。
質問でつ。 HTMLをアンカー付きで関連づけられたブラウザで開きたいのですが、 ShellExecute(0, 'open', 'file://c:/hogehoge/file.html#anchor', nil, nil, SW_SHOWNORMAL); だと、少なくともIE6だと#以降が削られてしまいアンカーが無視されてしまうのですが、 どうすれば楽にアンカー付けたままローカルのHTMLファイルを 関連づけられたブラウザで開くことが出来ますか? 最初に c:\hogehoge\file.html#anchor をそのまま引数にしたら開きませんですた(;´Д⊂) できればDDEとか、レジストリ関連は触りたくないので、 「関連づけを読んでブラウザのexeを コマンドラインにファイル名アンカー付きで実行」 なんてことはしたくないですはい… 漏れ自身の環境はD6PerUpdate2/W2kSP3/IE6.0SP1ですが、 なるべく汎用的な方法キボン
∫,,,,,,,,,∧,,∧ ⊂,,,,,,,,,つ,,゚Д゚ミつ IEXPLORE.EXE "file://c:/hogehoge/file.html#anchor" IEXPLORE.EXE "c:/hogehoge/file.html#anchor"
(・∀・)ニヤニヤ
>>486 レスありがたいのですが、IE以外に関連づけられていたら、
そのブラウザで起動したいのです(´・ω・`)
例えばOperaとかMozillaとか・・・
なんかそういう意味で汎用的な方法ないでしょうか・・・
∫,,,,,,,,,∧,,∧ 俺にはわかりませんでした。 ⊂,,,,,,,,,つ,,゚Д゚ミつ
""で囲めばいいんじゃないの?
>>490 最初に自分でも試しましたが囲むと撃沈ですた。
戻り値は ERROR_FILE_NOT_FOUND 2L winerror.h でつ。
う〜ん、おとなしくDDEを使えと言うことなのだろうか…
DDE使い方分からないし(;´Д⊂)
色々試行錯誤してみまつ…
IE限定だったら確かに楽なのでつが…
lpszFileにIE、lpszParamsに"無しでfile:// を渡せばよいので…
インターネットショートカットをTempに作って、それを開くのはどうじゃろ。
あ、よく読まなかった。ごめん。↑は無視して。
(補足) 以下の記述です。 ----- fragment (TOP) 部分識別子。 RFC 2396 の section 4.1 によれば、正確には URI には含まれない部分です。 URL がネットワーク上の位置を指定するのに対し、fragment はリソース内の特定部分を指すものであり、 即ち fragment はリソース取得後にのみ意味を持ちます。
俺がビルに修正依頼出しといてあげるよ。
>>486 の方法でうまくいくならFindExecutableを使えばええんでないの?
ShellExecuteExで余裕
>>485 です。
WinExec()で
file://c:/hoge〜 c:\hoge〜
それぞれ"付き、無し両方「ファイルがない」で撃沈しますた。
ShellExecuteEx()では、
ShellExecuteInfo.lpFile := nil;
で、ShellExecuteInfo.lpParametersに何を指定してもExplorerが開くだけてした
そこでlpParametersにnilを指定し、lpFileに渡すファイル名をいろいろ変えてみたのですが…
"c:\〜" "file://c:/〜" c:\〜 file://〜
全部撃沈ですた… " 付けるとファイルが見つからない、
ブラウザがそのファイルを開いてもアンカー無視される(;´Д⊂)
>>498 サソの方法でチャレンジしたいと思いまつ…
キタキタキタキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
>>498 サソのでアンカ抜きパスからブラウザのパスゲット、
ShellExecute(not Ex)でうまく逝きました。
レスくれた皆様に|/゜U゜| + 激しく感謝 +
dミ・Д・彡ぐっちょぶ。
503 :
デフォルトの名無しさん :03/06/26 11:03
TDrawGridで、Rowが1行しか無いと固定セルが真っ白になります。 Rowが1行しか無いように見せたいですが、 DrawCellのoverrideだけでは線が残ってしまいます。 どっかに良いコンポ落ちてないかなー。
>>504 質問じゃないんじゃない?
ろくに調べずに貶してるだけに見えるけど
タイムスタンプから見て嘲笑激藁厨房と思われ
調べてないわけでもないし、貶してるわけでもありません。 カーソル以外は以下のようにして消えました。 procedure TMyDrawGrid.DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); Var Rect: TRect; begin if FRecCount <= 0 then begin if ARow > 0 then begin Canvas.Brush.Color := self.Color; Rect := self.CellRect(ACol, ARow); Rect.Left := Rect.Left -10; Rect.Right := Rect.Right +10; Canvas.FillRect(Rect); exit; end; end; inherited; end;
509 :
デフォルトの名無しさん :03/06/27 10:40
おしえてくだちい デフォルトではTreeViewのノード編集中にCtrl+Vするとクリップボードの テキストが貼り付けられますよね? ですが、メニューバーにショートカット(Ctrl+V)を設定するとこのデフ ォルトの動作が当然奪われます。 TMemoとTTreeViewをフォームに貼り付けて、 1、TMemoフォーカス時のCtrl+Vは独自仕様 2、TreeViewフォーカス時のCtrl+Vはデフォルト仕様 とするのってどうやるのでしょうか? procedure TForm1.NPasteClick(Sender: TObject); //Ctrl+v begin if ActiveControl is TMemo then (ActiveControl as TMemo).Text:='テキストペースト'; if ActiveControl is TTreeView then //デフォルト動作 end;
510 :
デフォルトの名無しさん :03/06/27 11:02
都合の悪い内容は話をそらして逃げるだけか。(嘲笑激藁
511 :
デフォルトの名無しさん :03/06/27 11:11
フサギコってなんだよ 誰なんだよ
512 :
デフォルトの名無しさん :03/06/27 11:14
Gridで、ディセイブルにせずに、Focusを受けたくないとき、どうすれば良いですか?
513 :
デフォルトの名無しさん :03/06/27 11:15
requestFocus(null)
514 :
デフォルトの名無しさん :03/06/27 11:29
OnEnterでActiveControl := nil; ってしれ
>> 509 IsShortCutをオーバーライドして、 function TForm1.IsShortCut(var Message: TWMKey): Boolean; begin if (ActiveControl is TTreeView) and (ActiveControl as TTreeView).IsEditing then Result := False else Result := inherited IsShortCut(Message); end;
>>516 レスありです。
環境ないので試せませんが、エレガントな解有り難うございます。
ちなみに、このレスがもらえなかったら
OnEditing,OnEdited,OnExitなどのイベントハンドラを駆使してメニューアイテムの
ショートカット一々登録、リリースをくり返すところでした。
>516 別人ですが、同様の処理が必要で517さんと同様の処理を実装するところでした・・・ 確認しました.確かにエレガントです. ショートカットを防ぐのを、特定のキー操作のみに限定させることも楽そうですし. さんくす〜
ファンクションキーを使ったショートカットに特許が認められたよ。
>>519 ソースは?
delphiのことを検索すると、やたらロシア語がヒットする気がするんですが、
理由が分かる方はいらっしゃいますか?
知ってたら教えてください。
>>519 ,521
意味ねー(笑
こんな糞の役にも立たない技術で特許取ってどーすんのかね?
要するに(笑)、各ユーザーのキー配列(Fキーの数、間隔)と
画面上のショートカット案内表示が一致するようなプログラムに対する特許でしょ。
日経騒ぎすぎ。ということでよろしいか。
525 :
デフォルトの名無しさん :03/06/28 20:59
TFormから継承したフォームのコンストラクタに引数を追加したいので、 ↓こんなふうに宣言してみました。 public constructor Create(AOwner: TComponent); overload; override; constructor Create(AOwner: TComponent; test: TStringList); overload; virtual; でも、コンパイルすると”[警告]Createメソッドが基本型TCustomformの仮想メソッドを隠しました”とか出ます。 ちゃんとしたやり方ってどうすればいいですか?
"reintroduce;"をoverloadの前に入れれ。 でも素直に別名のコンストラクタにした方が混乱が少なく良いと思われる。
527 :
デフォルトの名無しさん :03/06/28 22:09
Del厨氏ねよ。VB.NET最高!
528 :
デフォルトの名無しさん :03/06/28 23:23
>>526 reintroduceで解決できました。
それと、コンストラクタがCreate以外の名前でも使えるって知らなかった。。。
ホントに助かりました。ありがとうございます。
フサフサ
∫,,,,,,,,,∧,,∧ CompareStringWで'々'と'ー'が一致してしまうですが ⊂,,,,,,,,,つ,,゚Д゚ミつ どうしてですしょうか? Button3の挙動に納得いきません。 function CompareStringW_Delphi(const S1, S2: WideString; S1Index, S2index, CompareLength: Integer; IgnoreCase: Boolean): Boolean; var CompareFlag: longword; begin if IgnoreCase then CompareFlag := NORM_IGNORECASE else CompareFlag := 0; Result := CompareStringW(LOCALE_USER_DEFAULT, CompareFlag, PWideChar(S1) + S1Index - 1, CompareLength, PWideChar(S2) + S2Index - 1, CompareLength) = 2; end; procedure TForm1.Button1Click(Sender: TObject); begin if CompareStringW_Delphi('あいうえお', 'い', 2, 1, 1, False) then Self.Caption := 'Result True' else Self.Caption := 'Result False'; end; procedure TForm1.Button2Click(Sender: TObject); begin if CompareStringW_Delphi('久々', 'ア', 2, 1, 1, False) then Self.Caption := 'Result True' else Self.Caption := 'Result False'; end; procedure TForm1.Button3Click(Sender: TObject); begin if CompareStringW_Delphi('久々', 'ー', 2, 1, 1, False) then Self.Caption := 'Result True' else Self.Caption := 'Result False'; end;
ナゲーヨ
正直、ワケワカラン。フサのやりたいこと、APIの仕様といい。 いや漏れのレヴェルが低いのは承知の上ですが。 う〜ん、単純に海胆コード文字列一致の判定だけならこんなAPI使わなくてもイイ希ガス。 普通に比較してみたらどうなんだろう? 一体何がしたいの?
∫,,,,,,,,,∧,,∧ いや、字面のまま、 ⊂,,,,,,,,,つ;゚Д゚ミつ APIがバグっている気が汁って報告だけ なんですが… しいていうと、CompareStringWの比較で AとA、aとAなんかは一致するのかどうかも API依存させて調査してみたかったんですが、、、 (VCLでは多くないですか?そういうAPI依存させるコード...) 全角アルファベットのIgnoreCaseな比較は 自分で作るのが面倒だったす。
漏れは、VCLでそういうコーディングが多いかは あまり多くのコードを覗いてるわけじゃないから分かりませんが、 なんか確かに挙動が変ですな… UNICODEっつっても、やっぱりあんまCJKは考慮されてないんかなぁ… APIに頼りすぎるなという教訓ですかこれは(苦藁
すっかり人が少なくなりましたね。 もうWindowsも終りか…。
537 :
デフォルトの名無しさん :03/07/01 10:30
TStringListって、改行コードが入ると勝手に行変えますよね。 行を変えないで、NamesやValuesプロパティがあるフリーのコンポーネントはありますか?
制御コードをエスケープするというのはFAQなわけだが
自作プログラムで図形を描いてるんですが、これらをOfficeアプリに ベクトルデータで貼り付けたいのですが良い方法ありませんか。 ちなみにデータは直線と円と円弧だけです。
Windows Meta File >> 540
>>537 改行コードを行区切りにしない。ってした場合、すべてが一行になってしまうんだが、それでいいの?
<改行を含む長い Name>=<改行を含むとっても長い Value>
ってことなので、ANsiPos 使って = の位置で分割すれば?
>541 Office側でも編集したいのでちゅ。
>>542 そうじゃなくて、Valuesが1行じゃなくて、TMemo.Textでありえるようなものが欲しいんです。
TStringList.Objectsにでも突っこんどけ
_________ ∧,,∧ / 改行を\nに ミ;゚Д゚彡 < 置き換えたらどうかと。 ミつ旦(ミ~~ \ @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪
537くんのやりたいことがちっとも分かりません。 誰か解説してください…
AAA=123 456 BBB=789 あいうえ つうStringListから ∧,,∧ / AAAに対して123\r\n456 ミ゚Д゚,,彡 < BBBに対して789\r\nあいうえ ミつ旦(ミ~~ \ (\r\nは脳内変換してください) ってものが取得したい、ようです。
546で答えが出てるということでしね 後は取り出すときに\nを改行へ戻す 自分でバンバンしませう
>TStringList.Objectsにでも突っこんどけ こんなの昔無かったよね。試してみます。 他にもTStringGrid.InplaceEditorがプロパティになってたり、VCLも拡張されてるんだね。
CLXにTButton.ToggleButtonプロパティはあるのに、VCLにはありません。ヘルプにはあるのに。 某の実装忘れかな?
552 :
デフォルトの名無しさん :03/07/03 10:59
Delphi6ですが、インストールシールドのヘルプがへぼいので皆さんに聞きまツ Paladox&BDEのプログラムを作り、インストールシールドでセットアップを作りました。 インストールさせてみると、どうやらエイリアスは作成してくれないようです。 エイリアスってインストールシールドで作らねばならないのデツカ? 作り方は知ってマツカ?
>>551 Windowsにおいてトグルはチェックボックスの機能です。
>>551 TSpeedButtonのGroupIndexを指定してDownをTrueにするとかじゃだめ?
ところでWindows Server 2003でDel6が使えないんだが。。。
そもそもサーバで使うな。
>>557 禿同。
というかワレザーのニホイ濃厚。
559 :
デフォルトの名無しさん :03/07/06 01:46
らでぃしゅみたいな、簡易メールサーバを作りたいんだけど、del5では無理ですか?
俺も2003持ってるけど、MSDNOS以上入っていれば送られてくるよ。 XPより軽くていいOSだと思うよ。
>>559 VC++で作るのと同じくらい無理です。
MLであの人が再び現れたな。
フサギコのフサフサを触ってみたいのですが、 どうすれば良いでしょうか?
>>560 軽けりゃいいんならMS-DOS使ったらどうだ?_
というか、製品版が発売してまだ2週間位しか経っていない状況ではいいOS(っていうか用途毎に「いい」っていう意味が違ってくると思うけどね)とはいえん罠。
まぁサーバで開発するっていう無茶は論外だけどね(デバグ除く)
今日そごうに行ってきたら中元カウンターのタイトルバーに 見慣れたアイコン(青地にたいまつ)が! こんなところにも使われているのかというかアイコンぐらい変えれと。
>>565 社内システムだと結構面倒でそのままだったりする…反省(そごうとは無関係です)
>>565 プログラマがアイコンデザインすると秀丸より悲惨になります。
>>562 嬉々として英語ページで検索せよって言われても質問者は?だろうに・・・
英語読もうとする意欲があるなら日本のMLに投稿するより向こうのWeb漁るだろ。
Delスレで何回も言われてるけど、FAQ、FAQとほざく暇があったら素直に教えてやれよなぁ
>568 オマエガナー
質問です。 OSにDLLが登録されてるかどうかを調べるのってどうすればいいんでしょう? やりたいことは、XPやMeで圧縮フォルダを扱うのにzipfldr.dllが使われてるんですけど、 RegSvr32で登録・削除してその機能のOn・Offするやり方はいろんなところに出てますが、 それがアプリを使う環境でOnになってるかOffになってるかを知りたいんです。 もちろん、OSが2kだった場合などは、Offになってるという扱いにしたいのですけど・・・ よろしくお願いします。
屠駄自爆age
ちょっと難しいかもしれませんが、 別プロセスの確保してるメモリのアドレスを指定して、その値を貰ってきたい場合の方法が解る方教えて頂けませんか? ・プロセス名でそのプロセスの使用しているメモリ領域の取得が可能でしょうか?可能ならその方法。 ・別プロセスの使用しているメモリ領域の値の取得方法。 以上2点、もちろん1点でもかまいません。 解る方、ご教授くださいm(_ _)m
574 :
デフォルトの名無しさん :03/07/08 12:59
保守age
>>573 勝手にとることはできない。
メモリマップトファイルを使えば、プロセス間でメモリを共有できる。
読み出しはReadProcessMemoryでできる。 使用メモリ領域の取得はVirtualQueryExかなぁ。 他に一覧で取得できるようないい方法あるのかもしれないけど。 一応これでデバッガにあるようなメモリマップは作れた。
>575,576さん レスありがとうございます。さっそくやってみます。
578 :
C++ヘッダ(つ-`) :03/07/08 21:42
C++ヘッダをDelphiに変換しています。 renkon = record sb_opts : renkon_io; end; RENKON=renkon;{別名} renkon_io = record sbiod_sb : RENKON; sbiod_io : renkon_io; end; 等と変換しましたが..RENKON=renkon;等typedefで定義された 部分を変更したのですが上記構造体と重なってしまって多重定義となり エラーになります。同一unit内では無理なのでしょうか? それとrenkon_ioが後に定義されているとrenkon内のrenkon_ioが未定義 となりエラーとなります。 これらは別名で新しくもう一度定義してやる必要があるのでしょうか? またそれぞれの構造体がそれぞれを呼んでいう状況そのものがDelphiでは 許されるのでしょうか?
579 :
デフォルトの名無しさん :03/07/08 21:44
何かよく分かりませんが、 ここにティッシュ置いときますね。 _,,..i'"':, |\`、: i'、 .\\`_',..-i .\|_,..-┘
C#Builderって体験版無いんだっけ。
>>581 パーソナル版がダウンロードできるようになるはず
毎日チェックしてるけど、いつまでたっても Sorry, there are no downloads currently for the product you have selected. だ
ふさふさ、さわりてー
>>578 自分の要素に自分を入れられるようにしたら「無限回の入れ子」に
なる可能性があるから弾いているんじゃない?
フォームにボタンをおいて、キャプションに"登録(&R)"とか入れます。 で、フォーム上で(たとえば他のボタンにフォーカスがあるとき)に Rキーを押すとボタンのOnClickが実行されます。 これって普通のことですか? Alt+Rでボタンにフォーカス移動(または実行)で、単体のRを無視するには どうすればよろしいでしょうか?
>>578 >RENKON=renkon;{別名}
大文字小文字の区別は無いので多重定義になる。
>またそれぞれの構造体がそれぞれを呼んでいう状況そのものがDelphiでは
>許されるのでしょうか?
許されない。
どうしてもやりたいならこんなかんじかな。
Prenkon = ^renkon;
Prenkon_io = ^renkon_io;
renkon = record
sb_opts: Prenkon_io;
end;
renkon_io = record
sbiod_sb: Prenkon;
sbiod_io: Prenkon_io;
end;
>>586 Action置いてShortcutをAlt+Rにしとく
>>589 ありがとうございます。でも、それだけだとRキーでも実行されてしまいます。Rキーのみの場合は無視したいのですが。。。
個々のコントロールで、キーをチェック。って方法を使いたくなければ、フォームの振る舞いを変更するしかないね。 procedure TForm1.WndProc(var Message: TMessage); begin if (Message.Msg = CM_DIALOGCHAR) then begin if not (ssAlt in KeyDataToShiftState(TWMChar(Message).KeyData)) then exit; end; inherited; end; これで、このフォーム上では Alt キーと一緒に押したときだけ、アクセラレータキーが働く。
>>556 >ところでWindows Server 2003でDel6が使えないんだが。。。
そんなことは無いはずですが。Server 2003 の基本機能は XP と同じですし。
インストールができないのか、IDE が動かないのか...
593 :
デフォルトの名無しさん :03/07/09 16:07
Delphiで、RS-232Cの受信処理を行うプログラムを教えてください。 Delphi2達人テクニックって本が(・∀・)イイヨ!って言われてるけど、 今はその本売ってないっぽいっす。 参考になるサイトか本があったら教えて下さい。
>>594 これで注文しようと思ったけど、在庫切れになってたんですよ。
アマゾンやらほかのオンラインショップでも駄目ですた(´・ω・`)ショボーン
>>591 ありがとうございます。希望の動作を実現することが出来ました。
∧,,∧ そういえば、以前 ミ,,゚Д゚彡 クリップボード履歴監視。 ミつ日(ミ 教えてくれてサンクスコ。 きれいに動いてるです。
>・Windows2000 SP4 > 導入した場合、Delphi製(多分C++Builderも)のアプリでエラーを吐く事があるようだ。TComboBoxで「Sorted = True」になっており、かつこの状態でItems[]をいじると「ntdll.dll」がエラーを吐く。 この話の元ネタ、知ってる人教えてちょうだい。
600 :
デフォルトの名無しさん :03/07/11 04:29
米某で C#Builder フリー キター ヽ(゚∀゚)ノ ( )∧ < =3
ツールパレットを自動的に飛び出すようにしたら スクロールバーが見えなくなるナー
Runしたら、オブジェクトインスペクタの左右の項目を分けるセパレータが 左端まで勝手に移動するナー。プロパティ名見えないよ。
602のはドッキング解除すれば回避できるぽい
>>604 「Windowsインストーラサービスにアクセスできませんでした。(以下略)」
インストールできねえ
ああ、スマン。その前のC#Builder Bootstrap Setupで Microsoft .NET Framework SDK Setup --------------------------- An error occurred while Windows Installer was initializing. Setup will now close. --------------------------- OK --------------------------- などと出てWindows Installer周りでエラーはいてたわ。 て、これをどうしろと?
ImageListがDelphiと違うΣ(゚д゚lll)ガーン 一枚の画像にICONがたくさんならんでいるようなものを 分割して格納することはできないのか!?
インストールしてみた第一印象だが・・・ 全然VSのC#と変わらんな。もうちょっとDelphiに似せるかと思ったが・・・。 無料版があるから入門には間違いなく薦められるが、買う価値があるかは疑問。 駄目なわけじゃないがVSと差別化しないと売れないだろうな・・・。 フォントをTerminalにしてコメントのItalicをはずすと見やすい。
>>606 Windows Installer でエラーがでるのなら、おまえの環境が腐っているだけだよね。
DLすんのにユーザー登録必要七日よ!!
612 :
デフォルトの名無しさん :03/07/11 16:26
>>611 /\⌒ヽペタン
/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
ところで、以下のことを知っている人はいますか?
守秘義務に触れる可能性がありますが
1. Delphi.NETでは Frameworkアプリを作れるのは当然としても、
.NETFrameworkを使用しないWin32ネイティブアプリを作ることはできるのか?
2. 現在Del5を使用しているが(どうも6,7にアップする気が起こらなかった)、
現在使用している大量のVCLをDel8にもっていけるか。もちろんすべてソース
コードはある。
3. .NETアプリを作るときは、既存のVCLを破棄して,市販の .NETコンポーネント
を使用する必要があるのか。
多分、予想としてはネイティブアプリを作成する際は、既存のVCLを何とか使える
けれども、.NETアプリを作るときにはGrapeCityなんかのを購入しなければ
ならないと思うのだけど、どうなるんだろう。
Win32ねぃてぃ部アプリは駆逐されてしまうのかな。・・・・
どうもまだ.net frameworkアプリの「ちょっと遅い」感じが気になって、
まだ移行をためらっているのですが。WEBアプリはよいとおもいますが。
Win32アプリってもっさりしてていまだにWin16アプリから乗り換えられないよね。 ましてや.NETなんてね。やっぱりDOSに戻ろうかな。
Win32の方が速いんだけど。
DelphiよりC#の方が速いんだけど。
>>615 始めたばかり? 最初はしょうがないかもね。少し慣れたらDelphiの方が速くなるよ。
>>615 サンプルプログラムキボンヌ。
開発効率が、と言うオチではないよな?
あの。すいません。 DelphiでLZ77圧縮のデータを展開したいのですが。 どなたかご存知の方いらっしゃいましたら、教えてください
>>609 再起動したら上手くいったよ。
WindowsUpdateでもかけてたかもな。
620 :
デフォルトの名無しさん :03/07/12 01:24
文字列で表現したクラス名から、そのクラスを生成する方法はどうすればよろしいでしょうか? たとえば、 var s: string; x: ITest; begin s := 'TMyList'; //文字列"TMyList"があらわすTMyListクラスが ITestインターフェースを持っているか確認 //if (s) is ITest then begin //文字列"TMyList"から、TMyListクラスのインスタンスを作成 //x := (s).create; //いろいろ //x.Test = 'aa'; //x.Run; //x.Free; //end; end; んなことをやりたいのですが、どうすればいいでしょうか? if文を沢山書けば出来るのですが、沢山あるためそれは避けたいです。 環境 Delphi6Professional
>>620 クラス参照型を使いたくない理由は何でしょう?
COMならCreateOLEObjectがそのものですなあ。
レジストリに登録しないと駄目だが。
>>620 >文字列で表現したクラス名から、そのクラスを生成する方法は
RegisterClass して FindClass / GetClassして、クラス参照型を得てからCreateすれば?
>>622 自分もGoogleでくぐるくらいのことはしたんですよ。
みんなどこか1つのところのリンクになっているのも知っているんです。
でも使い方がようわからんのでここで訪ねたわけです。
すいません
なんかとんでもない誤爆が起きてるような。
>>550 たしか初代Delphiからありますよ〜.
って化石レスすまそ.
>>625 たしかにとんだ誤爆かもしれません。
自分が聞きたかったのは探してみたところ、
LZ法を利用したアーカイブツール?のソースがあるだけで、
LZ77法そのまんまのやりかたを紹介しているところがなかったわけです。
そこでここでお尋ねしているという次第で
CってことはやっぱりそれなりにCが読めるようにならないといけないですよね
629のLink先にあるソースを見て理解できるなら必要無い。
register.borland.co.jp 氏んでる? インスコ後の使用許諾コードの取得でけん
俺も6週間ほど前から何度もやってるが、メールに返事は来ない。
634 :
デフォルトの名無しさん :03/07/14 15:22
TIdHTTPServerのCommandGetイベントって、 マルチスレッドで動いてくれてるんでしょうか?
635 :
デフォルトの名無しさん :03/07/14 17:40
新規作成の「サービス」と「サービスアプリケーション」は、どう違いますか?
データをバイナリエディタのように16進数で表示するのってどうしたら良いんでしょうか
データを一バイトずつ切り出してForamt('%02X', [data])とかやれば委員でないの。
BinToHex
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
642 :
デフォルトの名無しさん :03/07/15 17:03
Indy の idHttpServerのCommandGetイベントって、 postのデータとurlのパラメタを混ぜてParamになるという余計なことしてくれますよね。 みなさんどうやってます? DelphiでISAPIすると別物として扱えるんだけどなぁ。
643 :
デフォルトの名無しさん :03/07/15 18:36
telnetクライアントコンポーネントってどこにあるの?
>>635 サービスアプリケーションが基本で、その中には1つだけサービスが入っている。
んで、サービスアプリは、複数のサービスを格納できるので、
2個以上のサービスを1つのサービスアプリでまかないたいときにサービスを新規で追加してやる。
■Delphi オブジェクト指向プログラミング 下記の通り交渉情報を追加いたしましたのでご連絡します。 状態【確定】 最終調査日【2003/7/17】 ---------------------------------------------------------- 交渉方法:訪問 交渉相手:出版社 出版社さんから8月上旬に復刊予定とのお話しをいただきました。 詳細決定後に、投票者の皆さまにご連絡差し上げます。
>>645 その本今日BookOffで見かけたので立ち読みしてみたが、そんなに良い本とは思えなかったな。
烈しく初心者にも、ある程度経験がある人用にも中途半端な感じ。
あと100ページ位でもう少し突っ込んだサンプルと解説が欲しい所だな。
古本で買うにはこんな物だが、定価で買うにはチト高いと思う。
648 :
デフォルトの名無しさん :03/07/18 23:29
インラインアセンブラで絶対アドレスのCALLはどうやればいいのですか?
649 :
デフォルトの名無しさん :03/07/18 23:31
650 :
デフォルトの名無しさん :03/07/18 23:46
いい印刷系コンポがあれば教えて。 できればフリー物がいいけど、いいものならシェアでもOK。
>>650 「PrinterSetupDialog」←フリー(パーソナル)
JaneがDelphiなんて恥かしいのでやめてくれ。 あんな糞ソフトの代名詞が・・・
>>653 最もまともな2chビューアだったわけだが。
様々な厨の手を得て糞重い駄目アプリに変化。
>>654 うちのセレロン333でも軽快に動いているが・・・
ちなみに使ってるのはView
俺のPen3,900でもかなり高速に動いてるよ。マコJaneDoe。
ログかNGワードをためこんで、 アップデートのせいで遅くなったと誤解してるんだろうね。
659 :
デフォルトの名無しさん :03/07/19 13:08
SleipnirとかMozillaのオプション画面のGUIってどういう構造になってるんでしょうか?ツリービューとページコントロールでは上手くいかない。 最近流行りみたいですし、デザイン的にも好きなのでDelphiでもやってみようと思ってるんですが。
どう上手くいかないの?
>659 ソースが出ている例ではOpenJaneのUConfig.pas。 実行時にTPageControlのPagesのCaptionを使ってTTreeViewのNodeを生成している。 でも、660の疑問は尤もだ。
>661 ありがちょー。早速試してみようと思います。
OpenJaneは見たこと無いけど、それだと階層に出来なくない? はなから設定項目にそってTree項目を設計時に作っておくなりして、 あとはOnChange時にでもIndexに対応したTabPageを開くだけでは? 難しいことは何もない。なにか、TabControlをフラットにするのがわからんだけか? TabControlのStyleをtsButtonsにして、TabSheetのTabVisibleをFalseにするとできる。
Caption := 'ああああ,ががが'; とコンマで区切って階層を表現すればいいのだよ。どうせ見えないんだしね。 TTreeViewを継承してこの処理を入れればPageControlで作ったオプション画面を簡単にツリー式にする事が出来るよ。
そんな汚い実装はお口に合わない。
この程度汚くも何ともないと思うが。
>663 むろん設計時にやってもOKだけど、 indexで管理するとページを追加したくなったときにちょっと面倒な 思いをしたり、しょうもないバグを生んでしまったりする。 基本的にマジックナンバーを使うのは避けたほうがいいよ。 ただまあ、実際にOpenJaneの実装を見てみたら階層を作るために 手で追加するのと大して変わらないやりかたをしていたので、 実行時の構築を賢くやるなら>664の方法かな。
普通はTTreeViewに階層あらかじめ作っておいて、Indexか何かで対応させて切り替えるってやると思うけどなぁ。
TabControl.ActivePageIndex = TreeView.Selected.AbsoluteIndex これがマジックナンバー?何言ってんだ?
>>669 そんなコードじゃ階層化できんだろう。
ページを持たない親ノードの扱いはどうすんだよ。
マジックナンバーの意味を知らないだけか
とりあえず、俺の手持ちのソフトで、ページ持たない親ノードがある そういう設定画面ってないから、それを基準に考えてたよ。 秀丸とかLunascapeなんだけどな。 マジックナンバーってのはプログラムに出てくるリテラル値(具体的な数値)、だそうだ。 ぐぐると上のほうに出てくる。 他の意味があるなら教えてほしいもんだ
ページを持たない親ノード・・・ そこを選択されたときにどんな動作させるつもりなんだろ・・・
くだらない質問なんですが Delphiをインストールするときに just in time〜とでてレジストリを 書き換えますか?ときかれます。 自分だけなんでしょうか? なんとなくレジストリときくと怖いので。
別のデバッガを設定してるから「いいえ」だな。 まあJITデバッグすること自体あまり無いけども。
>>674 アプが死ぬとデバッガが起動してくるだろ?
それに設定するかどうかって聞いてきてる訳。
>675 >676 デバッガが何なのかわからないんですが・・・ 初めてプログラムをやってみようと思ってるので。 とりあえずいいえ(書き換えない)で いいんですか?
いいよ
しかしデバッガが分からないって・・・ そんなんでよく開発環境購入したなぁ
つーか、レジストリ弄るのが怖いって時点で
デバッガという用語を知らない。 レジストリに恐怖を感じる。 ・・・開発なんて止めた方がいいでつよ。
686 :
デフォルトの名無しさん :03/07/20 06:01
>682 内容がどんなのか分からないが、そのタイトルだけでスレの関連リンクにしてもいいぐらいだ。
Delphiもがんばってクダさい〜 最近のテキストエディタはボーランドシステムが負け杉。関数ごとに フォールドできるのは久しぶり。
スクロールボックスの中に地図のような図面を表示するプログラムを作っています。 で、図面のデータはあらかじめベクトル情報として与えられています。 今は面倒なので、TScrollBoxの中にTImageを置いて、そこに図面全体を描画して しまっていますが、場合によっては数千ピクセル四方の図面も扱いたいので、 スクロール位置に合わせて動的に描画させようと考えています。 で、そういうときはどのようなウィンドウコントロールで作るのが一般的な方法 なんでしょうか。 あんまりウィンドウコントロールの構造や継承関係に詳しくないんで、大体どの ようにすればいいか、処理の概要を教えてくださいませ。
>>689 無理にコンポにする必要が無いのならばフレームでええんじゃないのかな。
>>682 今日立ち読みしてきた。
まるっきり初心者の
>>674 みたいな香具師にはなかなかいい本じゃないか。
>>689 地図って言ったら凄く大きいんじゃないの?
必要な部分だけを描画するようにしないと。
Delphiの知識はVCLの基礎さえあれば大丈夫だと思う。
あとはWin32APIとかの本とか、MSDNライブラリとか用意しておくといいよ。
で、俺がすぐに思いつくような処理は、
TWinControlから継承したクラスで、スクロールバーが出るようにする。
地図の大きさとコントロールの大きさを調べて、スクロールバーを調整する。
スクロールバーがいじくられたメッセージで地図を描画しなおす。
>>692 地図>あくまでも「のような」ですよ。
想定される大きさは大体1000ピクセル四方程度なので、まぁ最初に全部描画して
しまっても不可能なことは無いんですが、もっと大きいのも扱いたくなったんで
実装を変えようと考えてるところです。
とりあえずフレームやTWinControl辺り色々調べてみます。
∧,,∧ ScrollBarと ミ,,゚Д゚彡 PaintBoxを使ってみては ミつ日(ミ どうでしょうか。
TPaintBox使え。ウィンドウコントロールじゃないけどな。
>>694 いや、それだったら、TWinControlから継承したやつのほうが簡単かな。
スクロールバーのメッセージに応答するのが(TScrollBarを使うより)面倒だけど。
表示はそんなに難しくは無いと思う。それより、データの持ち方を考えるほうが面倒っぽい。
とりあえずプロトタイプを幾つか作ってみるのがいいと思う。
わかんなきゃココで聞けばいいし、ココで回答無けりゃMLに投げれば戸●サンが親切に教えてくれる。
●田氏は過去ログ検索のアドをだすか 見当違いのレスくらいしかしてくれないかと・・
ScrollBoxだけでいいだろ。
>>697 そんなもん今に始まったことじゃない。
MLでも色々言われていたのに未だ直す気配すらなし。
スルーされているしね。
どう考えてもScrollBoxにPaintBoxおくだけだろ。 今がScrollBox+TImageなら、コンポ化しなきゃいけないってわけでも なさそうだし。
∧,,∧
>>696 ミ,,゚Д゚彡 自分ではPanelに
ミつ日(ミ Scrollbarをつけたものを
作ったんですが、
最初に挑戦するのはScrollbarを
使ったものでいいのではないかと思ったです。
ScrollBoxはマウス離すまで
スクロールしてくれないみたいなので
メッセージをいじって
改造がしたくなるですね。
HorzScrollBar、VertScrollBar の Tracking を true にすれば、 ドラッグ中にスクロールしてくれるが。
>フサ コンポーネントのプロパティは細部までちゃんと見たほうがいいぞ。 でも、ScrollBox+PaintBoxは、ドラッグ中にスクロールできるようにすると 新しくイメージが出てくる側がちらついてしまう。 これは、PaintBoxが更新する際にBkEraseGndでいったんScrollBoxが 描かれてしまうからで、トラップして処理する必要があったりもする。
おい恥ずかしいな、EraseBkGndだろうよ
Officeっぽいというか、VS.NETっぽいというか、C#Builderっぽいような Coolなメニューを作るにはどうすればよいのでしょう?
どれもCoolに見えないからわかんない
Coolに見えてもわかんないんだろ
リストビューはスクロールバーをフラット形式にできるけど、 リストボックスとか自前のコントロールのスクロールバーをフラット形式に するにはどうすればいいんでしょうか?
>>708 もうフラットスクロールバーはサポートされなくなるから、使わないほうがいいよ。
>>705 TActionMainMenuBar(Pro以上)
アイコン化したときのフォームのClientRectとBoundsRectは 何を指すのですか?
遙か彼方へ旅だったウィンドウです。
>>710 ならないんだけど、もしかしてDelphi7からでつか・・・
今Del6なもんで
const Str: string = ''; StrMax: integer = 0; var TokenPos: integer; begin if TgtStr <> '' then begin Str := TgtStr; >の >Str:=TgtStr; >で,「代入できない左辺値です」とエラーが出ます,以前までは何も問題なくコ >ンパイルできていました. 解決方法も「それでいいのか?お前」というものでワラタ
↑ホットゾヌで名前が保存されてた
このスレの
>>142 じゃないでつ。
ライセンスがMPLなコンポーネントを使う場合って、使ってることを明記するだけでいいのでしょうか? LGPLの場合はソースの公開も必要ですよね。
717 :
デフォルトの名無しさん :03/07/25 17:40
どうしてデルファイって人気ないんですか?
夏休みだから。
いい人なんだけど声が小さいから。
>>714 コンパイルオプションの『型付き定数への代入』へのチェックがはずれていませんか?
初期のDelphiを除いてデフォルトでは型付き定数への代入はできないようになっています.
256色パレットの操作について質問です。 下のような処理をするにはどうすればいいのでしょう?助言願います。 ------------------------------------- あるファイル(TBitmap)を読み込む。 ↓ そのファイルから指定された色(TColor)を検索。 ↓ その色と、0番の色を交換する ↓ ファイルに保存する --------------------------------------- とりあえず自分で作ってみたのですが、何も変わらず(´・ω・`)
ごめんなさい。自己解決しました。
725 :
デフォルトの名無しさん :03/07/27 00:09
>>722 赤字で頑張ってると言えるのか。(大爆笑
726 :
デフォルトの名無しさん :03/07/27 04:16
MDIチャイルドはどうしてVisibleをFalseにできないのですか?
727 :
デフォルトの名無しさん :03/07/27 07:30
本当かよ(w
WindowsのProね。
本当かよ(w
731 :
デフォルトの名無しさん :03/07/27 12:22
Delフサギコ ◆A6VzDeLphI さん。 自作自演のオナニースレは臭います。 マ版でやってください。
>>725 GAAPベースの評価って言うのがよくわからないのですが,
第1四半期に比べてある程度改善しているのは確かですから
少なくとも笑うようなことではないと思います.
>>726 理由はわかりませんが,子フォームを表示しないときは解放するのではだめなのですか?
(『新規作成』で『MDIアプリケーション』を選んだときにできる
雛形〈ひながた〉でもそういう仕組みになっています)
∧ ∧ ( ・-・) __/ / / ) \ /””\\\\ ~~~ // \\
子フォームのコントロールを全て他の場所に移して子フォームを解放するという荒技。 再び子フォームを作り、コントロールを元に戻すとあら不思議だが糞コード。
>>732 APIで作ったMDIChildは消せるのですよ。 なんでVCLは禁止しているのかなと思いましてですね。
Windowsのバグを回避しているのかな。
と、疑問に思っただけです。
>>734 Width := 0 でもいけそうですね。
うろ覚えだが。 CloseAction := caFree; でいけない?
>>737 なるほど。
FormStyle := fsNormal;
Visible := False;
これでもいける。ちらつくが。
VCLのせいで今まで子フォームは消せないとばかり思っていた。
MDIChildフォームを消すと、再表示する手段が標準で用意されていないからかな。 fsNormalだとメニューに項目がある事がほとんどだけど、 何個作成されるか解らないMDIChildはそういった事がないからね。
>>716 改変した場合、その差分を公開せねばならない。
ただし、元のコンポーネントのソースは公開の必要は無い。
ハズ
>>720 ならないんだけど、もしかしてDelphi7Proからでつか・・・
今Del6Proなもんで
× うろ覚え ○ うる覚え
見てるこっちが恥ずかしい
ネタだよな?
うる覚えなもので・・・
虚覚え
748 :
デフォルトの名無しさん :03/07/28 22:42
うるおぼえも間違いではない。 だが、うろ覚えの方が一般的。 通常はほとんどこちらを用いる。
国語辞典 [ うる覚え ]の前方一致での検索結果 0件
ATOKによる変換 うろおぼえ うろ覚え(区切りなしで変換される) うるおぼえ 売る覚え(うるとおぼえで区切られる)
そういう話はふいんき悪くなるからやめろ!
>>751 わざとらしいネタ
キタ━━━━━(゚∀゚)━━━━━!!!!
↓はりきって汚名挽回してください
↑おまえじゃ役不足なんだよ
名誉返上だ!ゴルァ
うろ‐おぼえ【疎覚え】 確実でない記憶。「―のせりふ」 疎 字形 筆順 〔音〕ソ(呉) ショ(漢) 〔訓〕うとい・うとむ・まばら・おろそか 意味 @うとい。うとむ。うとんずる。うとましい。(対)親。「疎遠・疎外・親疎」 Aまばら。すきまがあいている。大ざっぱ。おろそか。(対)密。「天網恢々かいかい疎にして漏らさず」(→天網(成句))「疎漏・疎略・空疎・過疎」 B切り開いて流れが通ずる。(同)疏。「疎通・疎水・疎明」 解字 形声。「束」+音符「疋」。もと「疏」の異体字。Bが原義。[踈]は異体字。
>>748 うる覚えでは完全に間違ってますが何か?
うる覚えってどこの方言?
うら覚え
うるお-ぼえ (越後の武将・蘇我潤夫が、家臣に誤りを指摘されるたびに 「間違っとる言う奴が間違いじゃあ」と吠えたことから) ことさらに声高に叫んで他人をねじ伏せようとするさま、またはその行為。
>>748 こういう人を確信犯っていうんですよ。
みんな使い方間違いすぎ。
確信犯ってTVでも間違えまくってるよなあ。 つーかなんでこんな間違いが普及しているんだろう。
犯罪者に、正しい意味通りの確信犯が少ないからでしょ。
しかし「確信犯」は日本語じゃなくて法律用語なんだよね・・・ いわゆる明治以降西洋から持ち込まれた概念を無理矢理日本語化した奴なので 間違う人がいるのもしかたない
ここは小学生の国語のスレですか
>753 昨日やってた銀英伝で思いっきり「汚名挽回」使ってたな……
デルポイの話題より面白いしタメになるね
低レベルな質問で申し訳ないですが。。。 procedureとfunctionを意味論的(?)に 明確に使い分けている方いますか? 私は全てfunctionにして、 使うか分からないけど戻り値をbooleanにしてます。 単に処理の可否を知らせるのなら例外処理を使うべきで、 戻り値を持たないのならprocedureを使うべきなのでしょうか? それともどうでもいい?
>戻り値を持たないのならprocedureを使うべきなのでしょうか? そらそうだ。
>>769 無理に言語規約をやぶる意味がわからない
後で戻り値が欲しくなるかもしれないとかいうのは
単に設計が下手なだけ
まぁprocedureでも参照渡しで戻り値返せたりするし・・・ 後で自分が分かりやすいように、やはり値を返す物は全部functionにして、値を返さないものはprocedureにしておいた方が精神衛生上いいと思うよ
procedureとfunctionを使い分けるように促すことで 設計の技術を向上させようという意図? それとも単に可読性? 確かにプログラミングにおいて ある程度の制約を課すことが優れた設計に繋がるのでしょうけど。 ある意味 「何でprocedureとfunctionを使い分けなきゃいけないんだ!」 と言うのは、 Basicをやってた奴がオブジェクト指向言語に触れて 「何でprivateとpublicを使い分けなきゃいけないんだ!」 と文句言うのと同じなんでしょうか?
>ある程度の制約を課すことが優れた設計に繋がるのでしょうけど。 別にそういう意図はないのではないかと 値を返さない関数(void function)という考えの方が不自然だと思います. 覆したのが C ? 私は初めて procedure と function を見た時は「なるほど!」と思ったのですが, >「何でprocedureとfunctionを使い分けなきゃいけないんだ!」 こう考える人の方が多いんですかね. >と文句言うのと同じなんでしょうか? 前者はスジが通るでしょうが,後者は OO を理解していないだけの発言でしょう.
上でも触れている人がいるけどpascalで言う手続きと関数がごっちゃになちゃってるというのは単に設計がアレだからだろう。 引数だけを取って値を返さない、ある処理だけをする、こういう局面はあるはずだが・・・ 私見だけど、考えなしに思いついた処理を作っていくやり方の人って関数を多用する傾向があるように思う。 自作アプリとかに仕様書作ってからコーディングしろとは言わないが、せめてどんな流れで処理を進め、どんな関数・手続きが必要になるかを始めによく吟味しておいた方がいいと思う。
設計云々は関係ないだろ。 結果を戻り値として返すのか副作用とするのかって議論じゃないんだから。 単にDelでは習慣・作法として返すものがなければprocedure、あればfunctionにするってだけの話。 逆に返すものがなければself/thisを返すという習慣のある言語・ライブラリだって山ほどある。
利便性で汚れた言語は厭
>>777 あの引数のデフォルト値やwithのある言語だろ(藁
>逆に返すものがなければself/thisを返すという習慣のある言語・ライブラリだって山ほどある。 ほう例えば?
>>779 Rubyは言語仕様がそれを強制する。
ライブラリとしてはまともなOOPLのstringクラスはメソッドをチェーンできるし
C++のiostreamなんかもそう。
s.SubString(10,4).Trim();
cout << "hello" << 1 << 5.0 << endl;
引数のデフォルト値とオーバーロードの両方がある言語なんてどうにかしてる
あーなるほど リテラルまでもオブジェクトだからね
キタ━━━━━(゚∀゚)━━━━━!!!!
復刊ドットコムです。
いつもご利用ありがとうございます。
■Delphi オブジェクト指向プログラミング
下記の通り交渉情報を追加いたしましたのでご連絡します。
状態【確定】 最終調査日【2003/7/29】
----------------------------------------------------------
交渉方法:電話
交渉相手:出版社
出版社の方と話して、8月上旬の日程が確定したことを確認でき
ました。予約方法など、詳細は週明けにでも、ご連絡できるかと
思います。
----------------------------------------------------------
http://www.fukkan.com/vote.php3?no=4407
小説ならともかくそんな大昔の技術書を復刊させるメリットがあるとも思えんが。
数年前なら買っていたんだがな・・・
さて、転売のために何冊か買っておくか
>>780 Delphiやpascalでの例がないじゃん。
RubyやC++での話なんて関係ネェ
アホがいますね
漏れは持ってるから買わないが、持ってない奴は買って損は無いよ。 時代に左右されない名著。
マニュアルの「コンポーネント開発者のためのOOP」読めばそれで十分。
>>790 あれを理解しておけば買わなくていい程度なおん?
>>791 というか10ページもあれば事足りるような説明を長々とやっている感がある
もっと実際の開発に絡んだソースやら、深い所まで踏み込んだ解説等があれば別だが、アレだけではなんちゃってOOP理解者が増えるだけ。
多くの人間が良著と考えて、票があつまって復刊することが決まったもんに、 こんなところでどこのバカともわからん奴がケチつけたって空しいだけだな。 俺は素直にいい本だと思ったよ。 読んだのはDelphiというかプログラム初めて1ヶ月の時だったけどなw
>>793 一部の人間が良著良著と騒いで、読んだことがない人間が期待して復刊希望しただけだろ。
っていうか、「こんなところ」なら来るなよw
よーするにDelかつOOPな書籍が存在しないのが問題なんだよな。 C#はもとよりVB.NETでさえOOP本たくさん出てるのにな。
メソッドポインタの有効な活用法が載っている本はないですか? メソッドポインタは上手く使うとかなり強力なんですが。。。 わざわざStrategyPatternなぞやらなくても。。。。
797 :
デフォルトの名無しさん :03/07/31 22:29
006BE210というアドレスをポインタ型で指定するときにはどうしたら良いのでしょうか? wS : PChar; という変数を作り wS := '006BE210'; として ポインタ型の値を引数にいれる関数にいれてみましたが、駄目でした。 @wSでも駄目なんですよね?
かなり強力と思うんなら自分で使ったことあるんだろ? 本なんていらないじゃん。 てかVCLソース見たら?
うぁあげてしまった;;すみません。
/ミミ\\\\ \ /ミミミ\\\\\\\ /彡ミミミ\\\\\\\\ |彡ミミ/\\\\\\\\| |彡 | \\\\\\\| ヽ |へ、_ _,へ\\\\/ | __ __ | / ) 800ゲッツ! | |/ ノ | ( / _ ) / おひさしブリスク!! ヽ ヽ | ヽ ヽー‐‐‐ァ /\ //ヽ ヽ-‐' / /\ \ / / ヽ_ / / / \ / \ |\ /| /\ \ (⌒\ / (⌒ヽ |二| | / \ \ __ゝ ヽ ___ ゝ \ \| / / | ( ヽ─ ( l ) ヽヽ / / / |  ̄ ̄( ̄丿 |  ̄ ̄( ̄ ゝ \ / / | ( ̄ノ | ( ̄ ゝ | ̄ ̄ ̄ ̄ | ( ̄ノ | ( ̄ ゝ |
>798 personalなのでソースがありません。 誰かソースだけ売ってくれないかな。。。。
売ってるって。
personalでもデモやサンプルコンポーネントのソースはある筈
805 :
デフォルトの名無しさん :03/07/31 22:52
ウィンドゥを最小化したときにタスクバーへアイコン化する 命令を教えてください
イベント処理でメソッドポインタの有効利用法があるから それで十分じゃん。
>>797 wS := PChar($12345678);
>807 ありがとうございます。やってみます。
>>805 タスクトレイのことか?
だったらコンポーネントがあるから探してみな。
>>804 安易に他の言語を貶めるべきではない。
そもそもJavaとDelphiでは設計思想からして違うのだから。
ある言語にある機能があるからと言ってそれが直接言語の優劣を決める物でもない。
ましてや、「うまく使うとかなり強力」といっている割には自分で使用法を調べることができないのは笑止。
とはいってもJavaは糞だがな。 当初の設計思想をかなぐり捨ててC#の仕様パクるは 移植性無視してSWT流行らせるしな。
>>813 なんだ、某がやっていることと同じじゃんw
従って某製品も糞。
815 :
デフォルトの名無しさん :03/08/02 07:43
>>805 とちょっと似てるんですが
タスクトレイに常駐してデスクトップ上で入力されたキーを
フックさせてイベントを起こす事ができるコンポーネントってありますか?
ぐぐってみましたが見付かりませんでした。
ちなみにDelphi5です。
816 :
デフォルトの名無しさん :03/08/02 07:45
>>815 無ければ、作ろう。
しゃべりから見て、それくらい出来るスキルはあると見た。
ReadProcessMemory の引数で ハンドル、読み込み開始アドレス、読み込みバッファアドレス、読み込みバイト数、読み込まれたバイト数 とありますが、 読み込みバッファアドレスは 変数(Pchar)を用意して、読み込もうとしても失敗してしまいます。 OpenProcess(PROCESS_ALL_ACCESS,False,wPID); ReadProcessMemory(wHnd,PChar($00AABBCC),wChr,2,wGetByte) wHndは取得したハンドル wPID は取得したプロセスID wGetByte はInteger wChr は Pcharです。 ですが失敗してしまいます。 おそらくwChrの型か何かが間違っていると思うのですが、解る方いましたら、ご教授ください。
PCharを宣言しただけだと、ポインタ宣言しただけと同じだよ
>>814 その件について興味があるのですが具体的に教えてくれませんか?
質問させてください。 818が今作っているのと似ているので例にさせてもらいます。 ReadProcessMemory(wHnd,Ptr($0A0ABBCC),wChr,2,wGetByte) で$0A0ABBCCと指定したときは動作するのですが 設定ファイルから読み込んだのをLongword型のReadTestとかに代入して ReadProcessMemory(wHnd,Ptr(ReadTest),wChr,2,wGetByte) とかしたときに読み込むところが違います。 ポップヘルプでも上だとPtr($0A0ABBCC)=$0A0ABBCCと出てくるのに 下のだとPtr(ReadTest)=$A0ABBCCと上位の0が消えて値が違ってしまいます。 何をどうすれば上のように動くのかわかる方おりましたら ご教授ください。
とりあえず$0A0ABBCCみたな適当なアドレスじゃなく、ちゃんと読めるアドレスで試したけど、 同じところ読んでるぞ。
すいません。自己解決しますた。 簡単なプログラム作って試してみたら同じ所読んでました。 設定ファイルの読み込みに難があったようです。 823さんありがとうございました。
>>817 コンポーネントはまだ作った事ないですが頑張ってみます。
ありがとうございました
>819さん、820さんありがとうございます。 メモリを確保ですね。調べてやってみます!!
827 :
デフォルトの名無しさん :03/08/04 12:34
delphiでおまんま食えますか?
TStringGridを継承したコンポーネントを作成しようとしています。 ColCount・RowCountが変更された時にある処理をさせたいのですが、 published property ColCount: Longint read GetColCount write SetColCount default 5; property RowCount: Longint read GetRowCount write SetRowCount default 5; ってやると、「識別子の多重定義」のエラーが出ます。 どのように書けば、既存のプロパティの上書きが出来るのでしょうか?
たぶん「: Longint」がいらない。
831 :
デフォルトの名無しさん :03/08/04 13:39
IndyのidHTTPServerのResponseInfo->ContentTextにバイナリ入れるとマズイですか? なんか、クライアントがフリーズしてるような...
勘違いでした。バイナリでもフリーズしてません。 Windows以外のクライアントでもバイナリデータを遅れるのかなぁ???
>830 消したらうまく行きました。 アリガd
835 :
デフォルトの名無しさん :03/08/04 14:20
>>1 中級者以上の厨房疑問なら答えるということですか?
>>829 SizeChangedメゾットを継承しておきなさい。
Mersenne Twisterの乱数って、Delphiの標準乱数よりも速いですか?
>>836 「メゾット」ではなく「メソッド」。濁る場所が違う。
>>837 どこ/だれの実装コードを使っていますか?
∫,,,,,,,,,∧,,∧
⊂,,,,,,,,,つ,,゚Д゚ミつ
ITPro ニュースボーランドがJ2EEと .NETを接続するミドルウエアを無償提供
http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20030804/1/print.shtml ITPro ニュースボーランド,C#Builder 1.0 Personal版の無償ダウンロード開始
http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20030804/2/ Japan.internet.com Webビジネス - Borland、「JMS 提携」相手を TIBCO に切り換え
http://japan.internet.com/busnews/20030804/11.html エンタープライズ:ボーランド、J2EEと.NETをCORBAで統合するミドルウェアを出荷
http://www.zdnet.co.jp/enterprise/0308/04/epn10.html ボーランド、.NET FrameworkとJ2EE-CORBAを統合するミドルウェア『Borland Janeva』を提供開始
http://ascii24.com/news/i/soft/article/2003/08/04/645307-000.html
>>841 なんかエンプラ路線まっしぐらで心底どうでもいいニュースばかりというのが寂しい。
罪滅ぼしにC#Builderのフリー版配布というのも( ;∀;) カナシイナー。
>>842 何が言いたいんだか意味不明。
個人ユーザーにターゲット絞ってStdを有料版のみにして
ゲーム用コンポでも追加して欲しいのか?
漏れのような弱小企業にも関係なさそうだな話だ。
Del8の情報がまったくない…。 これは今年中にリリースはないということなのだろうか。 という漏れは現在Del5ユーザー
オクタンとかいうやつ?
>>843 CORBAなんて使う一般ユーザなんて皆無と思われ
一般ユーザ切り捨てて某は大丈夫なのかと。
PrintTools32 の話題をしてもいいでしょうか? 言語は Delphi5/6 で開発環境及び実行環境は Win2000Pro です。 この環境で PrintTools32 でプレビューを表示し、その画面から印刷を行うと 印刷処理が行われた後(ちゃんと印刷されてくる) モジュール'SclPrn32.dll'のアドレス XXXXXXXX でアドレス YYYYYYY に対する読み込み違反がおきました。 というエラーが表示されるPCがあるのです。 このエラーをOKボタンで消した後は特に問題なく動作するようです。 いろいろと原因の切り分けを試行してみたところ、次のことがわかりました。 プレビューからの印刷処理は procedure PrintButtonClick から実行されている。 このプロシージャは TMenuItem の OnClick と TSpeedButton の OnClick に 割当てられている。 TMenuItem から実行された場合はエラーが出ないが、TSpeedButton から実行 された場合にエラーが出る。 印刷ダイアログでキャンセルをしてもエラーが出る。 TButton を配置して OnClick に割当てて実行した場合、エラーは出ない。 ShowMessage で泥臭く確認したところ、エラーは PrintButtonClick の 中の処理が全て終わった後に起きる。 以上から TSpeedButton が怪しい感じもしますがあとはどこを確認したら良いのか サッパリです。何か情報をお持ちの方いらっしゃいますでしょうか?
ここは質問の質が高いですね。
Delphiでおまんま食ってるけどわかんない事だらけだ。精進します。
>>815 のコンポーネントがもう少しで出来そうです。
需要があるようなら公開したいと思ってますがいりますか?
そういえば、Del7をある期限までにWebで購入したひとに なんかのCD送るとかって無かったっけ?
>>851 Delphi .NET Preview の CD でしょ?
COrba をサポートすると、一般ユーザー切り捨て。という理屈がわからんな。
簡単だ。値段が高くなる
きた。手元にある。 「Webで購入したひと」ってことではなかったような気がするけど。
>>845 中途半端なバージョンアップを繰り返しながら
駄目になって(最後に破滅して)いくよりはずっとよいかもしれません.
最後のTURBOPascalから初代Delphiまで3年かかったそうですので
気長に待つのが良いのかもしれません.
#うちもDel5です.
Random関数は、引数があれば整数を、なければ実数を返してくれる関数ですが、こういう関数はどうやって定義するんでしょうか?
overload
>>857 VCLもツギハギだらけで見通し悪いからこの辺で一回再構築して欲しい。
M$が戦略上ドトネトに注力してくれているお陰でW32の方は目立った変更がないから、放り出していたAPIも対応して欲しい。
というか、コンパイル速度はこの位でいいから、そろそろPascal系で最適化に特化したオプションなり製品を出して欲しいなぁ。
∧,,∧ 漏れお、同意ですが ミ,,゚Д゚彡 どーも、VCL.NETってのは ミ つ旦)~~ 今までのVCLを 〜と,,,~),,~) そのまま.NETに移植したものに なるような気がするなあ。
いまさら衰退が目に見えているWin32上で新しい物は作れないだろ。 かといって.NET上ではWindows.Formsの水準がだいぶ高くなったから その上にもう一枚ラッパーをかませるメリットは薄い。 もう.NET Framework SDKやDel6PerやC#Builder Perで無料開放しているような 基本的な部分では競争も革新も存在し得ないんだよ。 ゆえに収益部分がエンプラへシフトするのは時代の必然。
863 :
ドキューンズ ◆DQNES/NnnM :03/08/06 21:55
ちょっと質問します。 デルファイの製品版に付いてるマニュアルは詳しいですか? フリーのDel6で一本作って公開してるけど分からないことだらけで バージョンアップできないんです。
頼むから馬鹿は「公開」すんな
>>863 詳しいですよ。
でもDelphiの初心者本買った方がいいよ
>>863 オンラインマニュアルを印刷しただけだからより詳しくなるって事はないよ。
ちなみにヘルプはパーソナル使ってようと エンプラ版のヤツもDLはできるわけだが
868 :
ドキューンズ ◆DQNES/NnnM :03/08/06 23:23
どうも。
>>865 初心者本は持ってるけど、書いてないことが多いんで。
もっと厚い本をさがしてみます。
某区の図書館に、あのデッカイ「DELPHI プログラミングバイブル」(Ver.4 だったのはご愛敬)があって喜んで借りたのだが…。 特に知りたいことに関して詳しく書いてなかった…。 ショボーン。
>>863 Pro版にでもしてVCLソース眺めたほうが良いかな。
本ならInsideDelphiがおすすめ。まだ売ってるのか知らないけども。
871 :
デフォルトの名無しさん :03/08/07 07:28
>>871 時代はMSではなく折れたちが作っているのだよ
>>862 何も革新的 = マンセーではない
>>860は今までおざなりにされていた部分を補完するべきと言っているように思う
古い物をリファインすることも大事
むしろWin32での完全版を提供してくれたらなぁ、という今日この頃。
874 :
デフォルトの名無しさん :03/08/07 11:17
ただの新しいものについて行けない能無し年寄りだろ。(嘲笑激藁
>>873 VCLの互換性を捨ててまでやるべき理由は皆無だな。
某もそんなことはもちろん分かっているから実際やらないし。
ドトネトも別に革新的でもなんでもない訳だが・・・ 過去の技術に上乗せされて新しい(と言われる)技術が出来るのは自明 それから、VCL互換性を維持したまま再構築することもできると思うけど?
>>871 必死だな。煽っていないとそんなに不安か?
>>871 .NET frameworkがWindowsアプリの主役になれるかどうかが不透明なのに
それにすべてを賭けるのはリスクが大きすぎると思います.
もともとのシェアが圧倒的なのに、それでも必死にならざるを得ないのが哀れだよな… なぜ、過半数をはるかに超える圧倒的シェアを持つ開発ツールのユーザーが、 COBOLにも劣るシェアのツールを無視できない?
嘲笑激藁一派もかれこれ1年くらい粘着してるな。 もうフサギコスレの顔だな。
>>878 なるに決まっている。
純技術的に見てもC#&.NETに対するDelphiのアドバンテージは
瑣末な点を除いてはほとんど存在しない。
もしMSが.NETを引っ込めたら道頓堀に飛び込んでやるよ。
Delphi.NETもVB.NETも勘違い信者用という意味では目糞鼻糞。仲良くやれや。
882 :
デフォルトの名無しさん :03/08/08 00:30
>>880 ←いるかどうかも分からない一派に対して一人で粘着しているかわいそうな奴
>>883 今年の夏休みからデビューかい?宿題ちゃんとやれよ?
880が釣れました。
>>882 「開発者こそ、Visual Studio の成功だけではなく、マイクロソフト自体の成功を背後で支える原動力です。」
- Eric Rudder, Senior Vice President?Servers and Tools
読んでワラタ。
「開発者の成功」はこれっぱかりも考えていないんだな。
「これからもバリバリゼニ儲けさせて貰いまっせぇ」ということの表明だよな。
M$こそ神!!w
まあ価値観は人それぞれだと思うけどさ、 俺は、自分が何を使えるかじゃなくてさ、自分が何を作れるかの方に意味があると思うけどね。 1年毎になにやかや変化するのが分かってるような環境で何か作るのはそれは大変だろうね。 がんばってね。
>>880 のレスってレスアンカーも無いし
そんなに釣れたとか必死になる必要も無い気もするんだけど
やっぱりもうそろそろ辛くなってきてるのかな。
889 :
デフォルトの名無しさん :03/08/08 19:47
テキストファイルにstringを追加したいんだけど、 StringListにloadfromfileした後で、 StringList1.add(str)すると 一番最後の行に挿入されてしまいます。 これを最初の行に挿入する方法は無いでしょうか?
891 :
デフォルトの名無しさん :03/08/08 19:50
マニュアルちゃんと読め。
TStringListのヘルプ見れば一瞬で分かることくらい、 自分で調べるようにしないとこの先やっていけないぞ
回線切って逝ってくる。
894 :
デフォルトの名無しさん :03/08/08 21:07
889は、ほーあ。
あほの反対ってなんだろ。天才かなぁ。
897 :
デフォルトの名無しさん :03/08/09 00:11
このスレってどうしてVB.NETの優位性を指摘されると荒らし扱いにして現実から目を背けようとするのだろう。
>>897 比較する自体間違ってると思うけどな。
って言うかC#使えと。
∧,,∧ なんとなーく ミ;゚Д゚彡 遊びで自分自身をコピーする ミ つ旦)~~ プログラムを作ってみたら 〜と,,,~),,~) ログオフも満足に出来ないような クラッシュプログラムになってしまいました。 そんだけ。 function RandomName: String; begin Randomize; Result := IntToStr(RandomRange(0, 9)); end; function APICopyFile(OldName, NewName: string; Overwrite: Boolean):Boolean; begin Result := Boolean(CopyFile(PChar(OldName),PChar(NewName),not Overwrite)); end; procedure TForm1.Timer1Timer(Sender: TObject); var NewFileName: String; begin NewFileName := RandomName; NewFileName := ExtractFilePath(Application.ExeName) + NewFileName + '.exe'; APICopyFile(Application.ExeName, NewFileName, True); WinExec(PChar(NewFileName), SW_SHOW); // Timer1.Enabled := False; end;
>>897 VBスレでDelの優位性を指摘しても荒らし扱いするだろ?
相手にされて無いという現実から目を背けてるのはむしろ(ry
まぁDel使いはみんな大人なんでそんなことしないけどナ
(*とかいってこんなのに反応してる漏れはまだまだガキか*)
うるせーボケども釣りは余所に行ってやれ。 放置も出来ない真性敗北主義者は死ね!
901も放置の方向で↓
VB.NET厨はVCL for .NETに乞食のように群がるだろう。
>>903 System.WindowsがあるのにVCL使う理由が分からん。
オープンソースでLunaにも対応!とかなら納得するが。
>>900 // コメントの付け方がオサーンくさいな
厨な質問の仕方で恐縮ですが Delphi(版問わず)でACCESSのテーブルの新規作成はできるのでしょうか. dBASEテーブルに関するものならいつも作っているのですが, ACCESSはサパーリなもので. また作成方法の違いなどはありますでしょうか.
>>907 ADOコンポーネント使ってAccessに接続して、クエリでテーブル作る。
∧,,∧ レスサンクスコ>>ねこま氏
ミ,,゚Д゚彡 70691のコードも参考にしています。
ミつ日(ミ ハンドルからProcessIDを
取得するやりかたです。
少し異なるのですが
漏れはプロセスを列挙(Taskmgrのように)して
その起動パスが尻鯛かと。
>>906 リンク先コードでも起動パスが取得されない
プロセスが問題っす。
特殊な制御文字入りのテキストファイルを読み込みたいのですが TStringlistやreadlnでは上手く行きません。 かといってTFileStreamでどのように改行を処理すればいいのかわからないし。。。
>>910 GetModuleFileNameEx
>>910 Win2000/XPのCreateToolHelp32SnapShotはフルパスを返してくれるとは限りません。
フルパスが欲しい場合は、Win2000/XPではGetModuleFileNameExを使います。
Win9xにはGetModuleFileNameExは無いのでCreateToolHelp32SnapShotを使います。
_________ ∧,,∧ / ミ,,゚Д゚彡 < サンックス。 ミつ旦(ミ~~ \ とても参考になりました。 @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ ちょっとやってみますたが 微妙にうまくいかない… こんな風にStringList.Textをみると こんな風になるものですか? 1と2行目が変だなー。 '\SystemRoot\System32\smss.exe' '\??\C:\WINNT\system32\winlogon.exe' 'C:\WINNT\system32\services.exe' 'C:\WINNT\system32\lsass.exe' 'C:\WINNT\System32\termsrv.exe' 'C:\WINNT\system32\svchost.exe' 'C:\WINNT\system32\spoolsv.exe' 以下略
∫,,,,,,,,,∧,,∧ ⊂,,,,,,,,,つ,,゚Д゚ミつ なんか、この辺ですか? Delphi:49296 うー、お出かけして戻ったら試してみます。
915読め。サンプル落とせ。 SystemRootを置換したり、\??\を削るだけ。
∫,,,,,,,,,∧,,∧ だって、大量の英語だと ⊂,,,,,,,,,つ;゚Д゚ミつ ビビちゃうです…
∫,,,,,,,,,∧,,∧ お外は暑いっすね。 ⊂,,,,,,,,,つ;゚Д゚ミつ エキサイトってみますた。 > 私が言及するとともに、モジュールの完全なパス名を聞き取ることに、策略があり > ます。ある理由のために、GetModuleFilenameExによって返されたパス名あるいは > TOOLHELP32モジュール機?\は非常に奇妙です;それらはWin32標準に続きません。例 > えば、smssは、「¥SystemRoot¥System32¥smss.exe」として検索されます;「ウイ > ンドウズ・フォルダーの実際の名前は¥SystemRootを取り替えなければなりません。 > winlogonについては、得ます「¥¥C:¥WINNT¥system32¥winlogon.exe。」それは > 「C:¥WINNT¥system32¥winlogon.exe」に翻訳されるべきです。¥たとえそれは > Win32プログラミング・レベルにめったに使用されなくても、¥接頭辞はカーネル・ > モードで本質的で、ウィンドウズNT namespaceルートからの残存物かもしれません。 > 私は、これらのファイル名をより標準の名前に変換するTranslateFilename助手機能 > を書きました。TranslateFilenameのインプリメンテーションはコード・ダウンロー > ドでのHelpers.cppにあります。 えっと、変換は理解しますた。 Helpers.cppってのはドコでダウソ可なのかしら?
∫,,,,,,,,,∧,,∧ と、カキコするまえに ⊂,,,,,,,,,つ*゚Д゚ミつ 自分でも調べてみますyたよ。 一番上のDebug.exeをダウソ。 自己解凍ファイルだったので Helper.cppをハケーン 中身みますた。コメント以外省略 void TranslateFilename(LPCTSTR szFilename, LPTSTR szWin32Name) // \SystemRoot\System32\smss.exe // --> c:\winnt\System32\smss.exe using GetWindowsDirectory() // \??\C:\WINNT\system32\winlogon.exe // --> C:\WINNT\system32\winlogon.exe というわけなんですね。 なるほど・ありがとうございますた!!
そのページからできるんじゃボケェェ
遅かったわボケェェ
∧,,∧ 1000いくまでに ミ,,゚Д゚彡 解決してよかったです。 ミつ日(ミ 参球。 ところで、おでかけついでにCマガを立ち読みしてきました。 今月の拓タンはIntraWebの話でした。 IntraWeb作者さんはIndy作者と同一人物ということ 初めてしりました。 ああいう優れた人こそ、在野でほっとかず 金出して自社取り込みしてDelphiの今後の強化に 精を出してもらったらよいですのに。
>>909 ありがとうございます.
…が,申し訳ありません.私の質問の仕方が悪かったです _| ̄|○.
“ACCESSなしの環境で”ACCESS形式のテーブルを新規作成したいのです.
>>911 私が昔やった方法は,
ファイルから一つの文字列に丸ごと読み込み,これを1バイトずつ調べていくものです.
ファイルストリーム,文字列ストリームを経由して文字列配列に1要素に1行ずつ格納するのが楽だと思います.
(私は文字列リストそっくりのクラスを作りました)
難しい(というかややこしい)のは改行コードを境に1行ずつ分けていく作業です.
改行コードはWindows標準のテキストファイルならCR(#$0d),LF(#$0a)が連続したもの(つまり2バイトで改行を示す)ですが,
異なるOSではCR単独,LF単独だったりします.よってCR,LF単独でも改行と解釈できるようにしなければなりません.
MLの宮本氏はなんというかすごい勢いだな。
2chの初心者スレ向きですな。
implementation {$R *.dfm} uses ADOX_TLB; procedure TForm1.Button1Click(Sender: TObject); var FileName: string; DataSource: string; Catalog: TCatalog; begin FileName := ExtractFilePath(ParamStr(0)) + 'test.mdb'; DataSource := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'Data Source=' + FileName; if not FileExists(FileName) then begin Catalog := TCatalog.Create(Self); try Catalog.Create1(DataSource); finally Catalog.Free; end; end; ADOConnection1.ConnectionString := DataSource; ADOConnection1.Connected := True; ADOQuery1.SQL.Add('CREATE TABLE TestTable (TestField nchar(8))'); ADOQuery1.ExecSQL; end;
ADOX_TLBは上記のサイトを参考に、タイプライブラリを取り込んでください。
>>928-930 ヽ(`Д´)ノ シツモンノコダシ ヤッチマッタノニ シンセツニアリガトウ!! ウワァァン!!
932 :
デフォルトの名無しさん :03/08/12 20:15
誰か作って・・・ // コマンドプロンプトを起動してstdinで指定されたコマンドを実行する。 // 出力結果はstdout, stderrに格納される。 void Command(stdin, stdout, stderr: TStringList);
delphi ni void ha naiyo.
934 :
デフォルトの名無しさん :03/08/13 17:25
何故にTJpegImage.LoadFromStreamはストリームの最後まで読んでしまんでちゅか?
>934 そうなんだよなー。あれは困った。 しょうがないから、サイズも一緒に保存するようにして、読み込むときは そのサイズのMemoryStreamに一回読んでからコピーしてるよ。 ああ、もちろん画像データと一緒にいろんな情報を保存する場合の話。
質問する方でPC JapanのDelphiの記事を見て始めた方は一言書いてください。 特典があります。
質問です。子供の作り方を教えてください。 PC JapanのDelphiの記事をみて始めました。 よろしくお願いします。
>>937 FAQ。
犬と人間は子供が作れないよ。ちっとは過去ログ嫁
>[Delphi:21588913] Re:獣姦について
>戸田です、こんばんは
>私も何回かやってみましたが、うまく子供ができませんでした。
>愛犬と自分の子供が見てみたいので、今度は柴犬と試してみたいと思います
>m(_~_)m ~~~\(-_-)
>
>---- (^_^)(^_^)(^_^) THE REAL PROGRAMMER (^_^)(^_^)(^_^) ----
>At the beach, The Real Programmer is the one drawing flowcharts in the sand.
>戸田 英夫 mailto:
[email protected] ;
[email protected]
939 :
デフォルトの名無しさん :03/08/14 13:45
定期age
いつのPC-Japanでつか?立ち読みしてきまつ
∧,,∧ 久しぶりに某日の ミ,,゚Д゚彡 Delphi、newsgを除いていたら ミ つ旦)~~ あいかわらず閑古鳥。 〜と,,,~),,~) あそこまで、場末のNGだと再び訪れようという 気にもならないっすね。 C#BuilderのNGも立ち上げる意味もないな。 ちょっぴり面白い投稿もありましたが やはり信者離れが加速化しているみたいっす。 NewsGroupの直リンは無理か。 news://newsgroups.borland.co.jp/borland.jp.public.delphi.non-tech
943 :
デフォルトの名無しさん :03/08/15 00:24
IndyのIdHttpServerって例外が消されるんですか? エラーが知りたい場合どうすんでしょ。 エラーメッセージだけでも欲しい。
944 :
無料動画直リン :03/08/15 00:29
∫,,,,,,,,,∧,,∧
⊂,,,,,,,,,つ,,゚Д゚ミつ
ところで、ソース置き場管理人さんってどこのどなたでしょう?
誰かご存知ないっすか?
Borland系の方だったはずなんですが......
トップページのリンク先の
http://www2.to/source の転送がもうできなくなっているので
なんか修正をする必要があると思われますです。
948 :
デフォルトの名無しさん :03/08/15 03:14
>>815 とちょっと似てるんですが
タスクトレイ上でホイール回したら
イベント起こすコンポーネントってありますか?
フリーでDelphiのソースからドキュメントを 生成するツールはないですか? JavaDocみたいなものです。 シェアならあるみたいなんですが。。。 あって当然なのに何故か手頃なものがない。。。
952 :
デフォルトの名無しさん :03/08/15 11:25
>953 それは知ってるのですが、 何故か上手く動作しないのです。。。 仕事でなかったらドキュメント要らないですか? そんなことはないと思いますけど。 interface節を見れば分かるから、 そこまでの需要はあんまりないのでしょうか。
>953 間違えました。 それはデータベースがないとダメでしょ? personal単体で普通に使えるものが。。。
ホント無能ばかりだな!! VB厨に煽られてもしょうがないよ
Unit Reporter 関連ライブラリにパーサが入ってるよ
詳しく教えてくださいタモさん
未だにVer6のVB厨ですが何か?
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
963 :
デフォルトの名無しさん :03/08/15 19:11
age
964 :
デフォルトの名無しさん :03/08/16 22:47
改行コード保持してる定数・変数ってなんだっけ?
vbCrLf
var Kaigyou: string = #13#10;
ミ・Д・彡 sLineBreak?
968 :
デフォルトの名無しさん :03/08/17 00:59
ボーランドがMac用ネイティブ・コンパイラを出さなくなった経緯を教えて下さい。
出してたっけ?
かつてTurbo Pascalを出してました。 ちなみにDos用にはTurbo Pascal、Turbo C、Turbo BASIC、Turbo Prolog等を出してました。
Turbo好きだな
Mac用って言っても68K用だからね。 PPC用は全く作ってないんじゃ?
MacだとJ Builder使うしかないね
だれかDoc関係詳しい人いる? PanelをPanelにドッキングさせているときに表示される×ボタンを消す方法と 浮いてるときに×ボタンを押したときのイベントの発生方法 が知りたいんだが。
DocがDocumentの略だと思った奴↓
Σ(゚Д゚)ズゴック
Mac用TurboPascalでツールボックスを使ってプログラム組んだの?
DOS用TurboPascalとだいぶ違うね。
>>974 ソース嫁、ぐらいしか言えない。
IEなどで使われているツールバー用のビットマップをフリーで公開してるサイトはないですか?
>>980 そうですね。 とレスを一つ消費してみる。
>>972 Mac 68K用のTurbo Pascalなんて、大昔の話だよね。
今なら、THINK Pascalを使うのが吉かと。
宮本は1行の文字数増やしてから出直して来い
>>968 経緯もなにも単に全然売上が伸びなかっただけじゃないか?
ユーザの絶対数が今よりも圧倒的に少なかった時代だし、ましてMacユーザーなど・・・
その上、あの頃のMacでプログラミングなんて面倒くさすぎて真性Mでもないと厳しかったからなおさら開発環境購入する人間なんていなかっただろうし。
まぁ、他にThinkPascal等の良くできたIDEが付いたコンパイラもあったしね。
>>980 今のスレに準じたスレにするなら
>>1 のモナーの主張は今のスレの趣旨に反しているので変更すべきかと.
またテンプレにくだすれへのリンクを張って初心者を誘導するのがよいと思います.
以上どうでしょうか>皆様
a
はなはだしく同意
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaaa
aaaaaaaaaaa
aaaaaaaaaaaa
VB.NET最高
VB.NET最高
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。