モナーの *やさしい* Delphi質問スレ Ver.7
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
前スレ モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/test/read.cgi/tech/1017803412
>>2-10あたりに関連情報あり
○過去スレ
○関連スレ
○Delphi製品情報
○関連リンク
○質問者へ
○ソース置き場案内
0002デフォルトの名無しさん
NGNG(つかえねぇ奴らだな。氏ね!!)
 ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄ ̄ ̄ ̄| ___________
| ∧_∧ | ∧_∧ /
| ( ´∀`) | (´∀` ) <オマエモ・・・オレモナー??
| ( ???:bI ) .| ( Id:??? ) \
| | | | .| | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| (__)_) .| (_(__)
. ̄ ̄ ̄ ̄ ̄
※偽者防止のため、IDは必ず出しましょう。
0003デフォルトの名無しさん
NGNG前スレ
モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412/
■過去スレ
モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412/
モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/test/read.cgi/tech/1017803412
モナーの *やさしい* Delphi質問スレ Ver4(HTML化待ち)
http://pc.2ch.net/test/read.cgi/tech/1016467137/
モナーの *やさしい* Delphi質問スレ Ver3(HTML化待ち)
http://pc.2ch.net/test/read.cgi/tech/1014474727/
モナーの *やさしい* Delphi質問スレ Ver2(HTML化待ち)
http://pc.2ch.net/test/read.cgi/tech/1011649179/
モナーの *やさしい* Delphi質問スレ(HTML化済)
http://pc.2ch.net/tech/kako/1003/10031/1003113413.html
0004デフォルトの名無しさん
NGNG一番上が新しいスレです。書き込みは新しいスレに。
○ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室
Delphi や Borland に関する話題、雑談や質問をしながらマターリくつろごうや
�A http://pc.2ch.net/test/read.cgi/tech/1013298748/
�@ http://pc.2ch.net/test/read.cgi/tech/1003664165/ (HTML化待ち)
( ゚Д゚)ノ Delギコ猫のプログラミング相談室
DelphiやBorlandに関する雑談や質問しながらみなーで、くつろごうや
part4 http://pc.2ch.net/tech/kako/1002/10024/1002469894.html
part3 http://piza2.2ch.net/tech/kako/1001/10010/1001039863.html
part2 http://pc.2ch.net/tech/kako/999/999482946.html
part1 http://piza2.2ch.net/tech/kako/997/997348797.html
○Delphi相談室 現在その3
Delphi関連のTips Q&A はこちらです。
その3 http://pc.2ch.net/test/read.cgi/tech/1010153466/ (HTML化待ち)
その2 http://pc.2ch.net/tech/kako/995/995950803.html
その1 (逝ってしまったようです)
(続く)
0005デフォルトの名無しさん
NGNG○***すれ立てるまでもない質問はここで***
どのスレッドに質問したらいいか、わからないときはここで質問してみよう。(略)
第13刷 http://pc.2ch.net/test/read.cgi/tech/1018752281/l50
第12刷 http://pc.2ch.net/test/read.cgi/tech/1016631412/ (HTML化待ち)
第11刷 http://pc.2ch.net/test/read.cgi/tech/1014478527/ (HTML化待ち)
第A刷 http://pc.2ch.net/test/read.cgi/tech/1012536901/ (HTML化待ち)
第9刷 http://pc.2ch.net/test/read.cgi/tech/1010673275/
第8刷 http://pc.2ch.net/test/read.cgi/tech/1008908052/ (HTML化待ち)
第6刷 http://pc.2ch.net/tech/kako/1004/10041/1004183881.html
第5刷 http://pc.2ch.net/tech/kako/1001/10019/1001998049.html
第4刷 http://pc.2ch.net/tech/kako/998/998403891.html
第3刷 http://piza2.2ch.net/tech/kako/993/993933402.html
第2刷 http://piza.2ch.net/tech/kako/990/990082077.html
第1刷 http://piza.2ch.net/tech/kako/975/975576060.html
○Pascal の初心者用の質問・相談所
コンソールのみ。GUI は扱いません。
http://pc.2ch.net/test/read.cgi/tech/1009903617/
○kylix相談室(閑散)
2 http://pc.2ch.net/test/read.cgi/tech/988815580/ (HTML化待ち)
1 (行方不明)
○Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/
○delphiで作られた有名ソフトって何がある?
delphi自身もdelphi?てか、今delphiやってる人へ希望を与えてやって下さい。
http://pc.2ch.net/test/read.cgi/tech/990056026/
0006デフォルトの名無しさん
NGNG○公式サイト
http://www.borland.co.jp/delphi/
○Delphi 6 Personal
無料でダウンロードできる。持っていない人はこれを機にやってみよう。
ダウンロードするファイルはは59MBあり、またサーバーが重いので注意。
使用者登録が必要。
http://www.borland.co.jp/delphi/personal/
○Delphi 6 アップデート・ダウンロードサービス
最新のアップデートは次の通り。
Personal: Update Pack 2 (2002/3/19)
Professional, Enterprise: Update Pack 2 + 追加アップデート (2002/3/29)
http://www.borland.co.jp/delphi/del6up.html
0007デフォルトの名無しさん
NGNGここに貼っておきました。
どんどん追加して構いません。
こちらへ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
■質問者へ
○ここはDelphiのプログラミングに関する質問スレです。
スレ違いの質問は罵倒されるので、ほかのスレを探してください。
○厨房並みの初心者の質問はOKですが、厨房は質問するな。
○まずは自分で調べてみよう。回答にGoogleの検索結果を貼られないように。
Google http://www.google.com/intl/ja/
2ちゃんねる検索 http://2ken.net/
Delphi-ML検索 http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi
0008デフォルトの名無しさん
NGNGこのスレのソース置き場を作ってみました。
このスレに載せきれないソースはここへどうぞ。
○3000行までOKです。
○ソース書き込み時は等幅に設定してください。インデントが使えます。
○激しく長いソースは、同時にソースファイルを添付しておくと(゚Д゚)ウマーです。
○置くのはソースでなくても構いません。
ファイルのアップローダーとしてもどうぞ。
こちらへ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1017673221
以上。
0009デフォルトの名無しさん
NGNGあしからず。
001099
NGNG〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●露出オナニーの会●アナル愛好会●痴漢痴女同好会●母乳人妻不倫の会
○楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1021201697/l50
0013デフォルトの名無しさん
NGNG>>1
せっかくで申し訳ないけど削除依頼してもいいかも
0014デフォルトの名無しさん
NGNGでもたててくれた心意気はよし。>>1
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG2行目以下読めよ・・・。
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG何やってんだか・・・
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGというわけでsage
0021デフォルトの名無しさん
NGNGここは初心者向けかな。
フサフサが中級、相談室が上級。という棲み分けはどうだろうか。
0022デフォルトの名無しさん
NGNG前スレ
モナーの *やさしい* Delphi質問スレ Ver.7
http://pc.2ch.net/test/read.cgi/tech/1021201697/l50
0023デフォルトの名無しさん
NGNGvar
p: pChar;
f: file;
begin
(略)
BlockWrite(f, p, StrLen(p)+1);
(略)
end;
としているのですが、読みとり方が分かりません。
#0が出るまで1Byteずつ調べていかねばならないのですか?
0024デフォルトの名無しさん
NGNGヌルターミネートなら当然そう。
それを避けるんだったら普通は文字列の前に長さを書く。
0025デフォルトの名無しさん
NGNGありがとうございます。
0026StringGridで
NGNGソースを真似て書き込んでもどうもうまくいかないのです。
他の方のコンポーネントを導入しようとおもったんですが、Delphi5用とか
3用とかでうまく入れられません。
Delphi6用で動作する、右寄せ可能SringGridの定番ってありましたら、ご
教示願えないでしょうか?
0027デフォルトの名無しさん
NGNGD5用とかD3用とかのコンポでもソースがあれば、
D6に入れることはできる。
うまくいかないとすれば多分DsgnIntfまわりだと思うが、
その場合はusesのDsgnIntfをDesignIntfに書き変えてみ。
0028StringGridで
NGNGあれから、この深夜まであちこちサイトを探したりしてたんですが、いまだ
うまくいかず。
Vectorでhttp://www.vector.co.jp/soft/win95/prog/se128144.html
を見つけたんですが、これに同梱してあるHELPファイルのインストール
方法でやってみてもうまくいかず…。
「通常は Delphi のインストールフォルダにある \Lib\dclusr40.dpk
(または\Lib\dclusr50.dpk)〜」って、Delphi6だと無い…
作者の方はDelphi4の環境しか無いようで、質問するのも気が引けるので
申し訳ありませんが、Delphi6の環境がある方、上記Vectorの奴か、
他にもいいコンポーネントがあれば、紹介願います。
P.S.
>27様。その域まで達してないです。すみません。
0029デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/win95/prog/se128144.html
を落としてみたが、SGridEx.pasがないので、Del6ではインストール
出来なかった。
他のを探すがよろしかろう。
0030デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/qanda/delphi/d0005044.html
0031デフォルトの名無しさん
NGNG2) 他人のコンポーネントをつかおうとしてインストールできない
うーむ、普通は 30 さんのいうとおり、1)の問題を解決するべきだと思ふ
コードを示せば簡単に解決できるのに!
0032デフォルトの名無しさん
NGNG「パッケージ C:\program files\borland\delphi5\Projects\Bpl\MyComponents.bpl を読み込めません。
システムに装着されたデバイスは動作していません。」
と出ます。
この、「システムに装着されたデバイスが動作してい」ないことと、
.bplファイルのインストールがどう関係するのか意味不明です。
当然Cドライブは生きていますし、
MyComponents.bplも読み取り専用ではありません。
尚、今回インストールしようとしたコンポーネントは、
TCustomControlを継承したもので、特別なことは何も実装していません。
強いて挙げればTCollection及びTCollectionItemを使っていることぐらいです。
データベースなどとも関係していません。
どなたか、正常にインストールする手立てをご教授ください。
宜しくお願いします。
0033デフォルトの名無しさん
NGNG>>32のはdel5みたいだけど、もしかしたら関係あるかモナー。
http://www.borland.co.jp/delphi/devsupport/install/
003432
NGNG情報ありがとうございます。
僕も見ましたが、なんかこれじゃぁ再インストールするしかなさそうで・・・。
アップデートなど、IDEに影響するようなことは、
最近した覚えはありません。
引き続き、お願いします。
0035日付関数
NGNGVBみたいに書くと、Caption:=Format('yyyy/MM/dd(ddd)',Date)とかだと
思うのですが、Delphiでの正式な書き方はどうなるのでしょうか?
m(_ _)m
0036デフォルトの名無しさん
NGNGFormatじゃなくFormatDateTime
003736
NGNGVBのFormat関数よりもC言語のprintf系関数の書式に近い。
VBからの移植はFormatFloatかFormatDateTimeを使うべし。
0038日付関数
NGNG関数が豊富なのはいいのですが、VB対応表みたいなのないかしら?
0039どこにも載ってないよ〜
NGNGvar
Rect : TRect ;
begin
Rect.Left := 100 ;
Rect.Top := 100 ;
Rect.Right := 200 ;
Rect.Bottom:= 200 ;
って感じで変数を作ってひとつひとつ代入して使っているのですが、
もって一括で代入したりする方法ないですか?
Rect := ( 100, 100, 200, 200) ;
↑こんな感じ
0041デフォルトの名無しさん
NGNGズバリ Rect 関数あるよ。
0042デフォルトの名無しさん
NGNG俺もCからDelphiに移ってきた当初は
構造体そのものを関数値で返せるんでびっくらこいた。
同様な関数にPointやBoundがあるな。
0043Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡 < TopとBottom、及び、LeftとRIghtの値の大小が
ミつ つ \ 逆転してたりしても、正しく処理できるんだろうか??
@ミ ミ
∪''∪ TRect系の処理を書くときは
みんなそういうところ、注意しているのかな?
0044デフォルトの名無しさん
NGNGこ、これは・・・
ヘルプの例題で見かけてはいましたが、まさか関数だとは思ってませんでした(型キャストかなにかだと・・)
お手数かけました、すいませんでした・・・(汗
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGペイントソフトで矩形描くとき、必ず左上から右下に
ドラッグしろって指定されてたらイヤだろ?
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052日付関数
NGNG0053デフォルトの名無しさん
NGNGごめん、Cで構造体は引数でのポインタ渡ししか使った事ないもんで。
どうやるの?
#typedef struct (
int x;
int y;
) HOGE;
HOGE h;
h = getHoge;
の実装は?
0054デフォルトの名無しさん
NGNG>h = getHoge;
>の実装は?
この2行について説明求む。
0055デフォルトの名無しさん
NGNGごめん。
h = getHoge(50, 100);
の関数getHogeの中身。
0056デフォルトの名無しさん
NGNGstruct HOGE getHoge(int x, int y)
{
HOGE Result;
Result.x = x;
Result.y = y;
return Result;
}
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG訂正。
構造体宣言に見えたよ。。。、
0060デフォルトの名無しさん
NGNG関数を出ると破棄されるのでは?
メンバ単位のコピーが正常に行なわれるの?
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGガタガタ言わずに試すのが吉。
メンバ単位とか言う前にsizeof分メモリコピーすれば住む話。
0064デフォルトの名無しさん
NGNG>>62 Cは変数の宣言の前にもstructいるだろ。
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGtypedefしたらいりませんが?
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGごめん。C離れて永井もんで。
0069デフォルトの名無しさん
NGNG為になった。ありがとう。(ANSIのいつからなんだろう?)
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG確かにメンバ単位のコピーは行なわれてる。
>>70
K&Rでは無かったような?
_getHoge proc near
?live1@0:
;
; HOGE getHoge(int x, int y)
;
push ebp
mov ebp,esp
add esp,-8
mov eax,dword ptr [ebp+8]
;
; {
; HOGE h;
; h.x = x;
;
?live1@16: ; EAX = return
@1:
mov edx,dword ptr [ebp+12]
mov dword ptr [ebp-8],edx
;
; h.y = y;
;
mov ecx,dword ptr [ebp+16]
mov dword ptr [ebp-4],ecx
;
; return h;
;
mov edx,dword ptr [ebp-8]
mov dword ptr [eax],edx
mov edx,dword ptr [ebp-4]
mov dword ptr [eax+4],edx
;
; }
;
0072デフォルトの名無しさん
NGNGでも、仮にメンバ単位のコピーでなくても構造体を返せるかどうかとは関係ないと思うけど…。
0073デフォルトの名無しさん
NGNG多分>>42はその辺と勘違いしたのでは。
type
THoge = array[0..9]of Integer;
function Hoge(i,j:Integer): THoge;
begin
//省略
end;
0074デフォルトの名無しさん
NGNG中身を見ると、
about.dfm
about.pas
config.dfm
config.pas
fmod.dll
main.dfm
main.pas
spectrum.pas
testbed.dpr
という内容でした。
fmodと言う、ogg形式のサウンドを再生できるプレーヤの
delphi版らしいのですが、これを自作のアプリに組み込む事は可能でしょうか?
コンポーネントのインストールがいまいちよくわかっておりません。
勉強できるサイトなどありましたらご教授頂ければ幸いです。
よろしくお願い致します。
0075デフォルトの名無しさん
NGNG(゚д゚) それ、ファイルが足りない気がするので、
~( )− 本家からアーカイブを落としなおして再構築シル
/ > (ちなみにプレーヤーのサンプル デシタ)
007674
NGNG配布されるんでしょうか??
結構探したのですが、見つかりません
本家は、ここです。
http://www.fmod.org/
0077デフォルトの名無しさん
NGNG(゚д゚) アーカイブの中にfmod.pasとfmoderror.pasがあるから、
~( )− それらをサンプルプロジェクトに追加して再構築シル
/ >
0078デフォルトの名無しさん
NGNGそこから呼び出していない関数内でエラーが起こります。
しかもエラーの起こる関数は毎回違っていて、
たまにエラーを出さずに強制終了されることもあります。
環境はDel4(ServicePack2,3)+WinMeなんですが、何か前例はありますか?
007974
NGNGありがとおございます。
いぢり倒します。
008074
NGNG0081デフォルトの名無しさん
NGNGそのルーチンをステップ実行してみましょう
1、帰った直後で->スタックを壊した
2、どこかのメソッドで->イベントか仮想メソッドを壊した
0082デフォルトの名無しさん
NGNGたとえば、DOSで
ver
と入力すると、
Windows 〜〜〜〜
と結果が表示されるのだが、、、
それを変数の中に入れたい。
DOS窓はいちいち開かずにやりたいのだが・・・
0083デフォルトの名無しさん
NGNG無名パイプ(名前なしパイプ)を使いましょう
http://www.nifty.ne.jp/forum/fdelphi/samples/01014.html
ただ、途中でパイプが詰まるとやっかいかなあ
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG方法はGNUからでも crypt.c を そしてボーランドからBCC32 を手に入れてコンパイルし
delphiから objファイルを呼び出せば良いだけです。
それが面倒なら DESCrypt+Delphi で検索してコンパイル済みのを手にいれるといいでしょう
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG色々とネットを検索したらTeeChart?,Tchart等を使う方法やPaintBoxを
使っている人等がいて、何でトライしたら良いのかいまいち良く分かりません。
お薦めの方法、あるいは参考になるサイトやスレがありましたら教えてください。
今まで画像系の処理はした事ないので四苦八苦してます。
開発環境はD6パソ(自宅)&エンプラ(会社)です。
0088デフォルトの名無しさん
NGNGお好きな方法で。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG複数やり方があって自分で自分にとってベストなやり方も見つけられい。
プログラマーってもっと高尚なお仕事。
0091デフォルトの名無しさん
NGNG高機能はいらないので、とっつきやすい簡単にできる方法を探してます。
0092デフォルトの名無しさん
NGNG折れなら、TImageを貼って自分で Image1.Canvas で書いてみる
再描画とか考えなくてもいいし駱駝ろ
0093デフォルトの名無しさん
NGNG他のに移行しようと思うけど、どれが一番使いやすい?
009493
NGNG0095元号表示
NGNG平成とかになるのは、OSがやってくれてるんでしょうか?
つまり、平成の次の新元号になった場合、WindowsのファイルをUpdate
すれば、ExcelでもDelphiでも新元号を表示してくれるようになるんで
しょうか?
0096元号表示
NGNG0097デフォルトの名無しさん
NGNG現在テキストエディタを作っています。
プログラム終了時に、ファイルが変更されたか否かをチェックしたいのですが
どのような方法があるでしょうか?
メモ帳などでも編集したあと保存せずに閉じようとすると、「hogehogeを保存しますか?」
と、ダイアログが出ますよね? あれを実装したいと思っています。
009897
NGNGウチのはDel5です。
0099デフォルトの名無しさん
NGNGTMemo や TRichEdit の Modified プロパティーを見れ
0101デフォルトの名無しさん
NGNGOnMouseDown で、
TreeView.BeginDrag(False, 5);
を書いているのですが、マウスのボタンを押すとすぐにドラッグが
始まってしまいます。
TreeView以外のコンポーネントなら正常に動きます。(TPanelとか)
TreeViewの場合は何か必要なのでしょうか??
Windows2000 SP2 + IE6.0
Delphi6 + UP2
0102デフォルトの名無しさん
NGNG最近メンテされてないみたいだけど「かちゅーしゃ」がいいとおもう。
しかし、ここに誤爆するってこたー、Delphi使えるんだろ?ソース見て修正できないのか?
0103デフォルトの名無しさん
NGNGすみません、全角カタカナ+全角濁点の2文字を
全角カタカナ1文字に、しようとしています
サンプルを利用してつぎのソースを書いてみたのですが、置き換えられません、へんな部分を、御指摘いただけないでしょうか?
function ReplaceCharInString(S, FindStr, ReplaceStr: string): string;
var
I, L: Integer;
begin
Result := '';
L := Length(FindStr);
I := AnsiPos(FindStr, S);
while I <> 0 do begin
Result := Result + Copy(S, 1, I - 1) + ReplaceStr;
Delete(S, 1, I + L - 1);
I := AnsiPos(FindStr, S);
end;
Result := Result + S;
end;
function dakuonHenko(s: string): string;
var
dakuon,dakuten :array[1..29] of string;
moji1,moji2 :string;
i,j,k : integer;
begin
Result := ''; j := 1; k:= 1;
for i := 1 to 27 do begin
moji1 := 'ガギグゲゴザジズゼゾダヂツヅデドバパビピブプベペボポヴ';
moji2 := 'カ゛キ゛ク゛ケ゛コ゛サ゛シ゛ス゛セ゛ソ゛タ゛チ゛ツ゛テ゛
ト゛ハ゛ハ゜ヒ゛ヒ゜フ゛フ゜ヘ゛ヘ゜ホ゛ホ゜ウ゛';
dakuon[i] := copy(moji1,j,2);
dakuten[i] := copy(moji2,k,4);
Form1.Memo1.Lines.add('dakuon'+IntToStr(i) +'='+ dakuon[i]);
Form1.Memo1.Lines.add('dakuten'+IntToStr(i) +'='+ dakuten[i]);
j := j + 2 ; k := k + 4;
end;
for i := 1 to 27 do begin
ShowMessage(s+ ' '+dakuten[i]+' '+dakuon[i]);
Result := ReplaceCharInString(s,dakuten[i],dakuon[i]);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var st :string;
begin
Memo1.Lines.Add(dakuonHenko(Edit1.Text));
end;
end.
0104103
NGNGとすると、'ダ'に変換されるのですが
ただ、次のように変数になると動かない。不思議。
Result := ReplaceCharInString(s,dakuten[i],dakuon[i]);
0105デフォルトの名無しさん
NGNGあの、質問なんだけど漢字を表現するには何バイトいるか知ってる?
0106抜粋
NGNGCはそのまま「シー」と発音します
CとC++はプログラマを目指す人には憧れであり、絶対に通らなければならない言語です
このC言語は、現在のプログラム言語の中ではもっとも強力な言語で
優れたアプリケーションのほとんどがC/C++で開発されています
では、そんなすごいプログラム言語「C」の特徴とはなんでしょう
当然、他のプログラム言語にはない優れた能力があるはずですよね。簡単に説明すると
プログラムの移植が比較的容易である
メモリやCPUなどを直接利用するプログラムに適している(OSやデバイスなど)
C言語プログラムの中でC++の関数や変数を利用可能
高速でコンパクトなプログラムを実現できる
といったところでしょうかね
う〜む、これまでインタプリンタ言語をやってきた人には夢のようなことです
さて、ここまで読んで「そんな優れたC言語のコンパイラってどうやって作られたの?」っと疑問に思いませんか?
コンパイラももちろんプログラムでできてますよね。ということは、なにかの言語から作られたということです
じつは、C言語のコンパイラはアセンブラという言語から作られたのです
最初に小さいCコンパイラがアセンブラで作られて、その後にC言語でC言語のコンパイラを作り上げてきたそうです
ICをICで作ってLSIになったような感じかもしれませんね(^^
0107デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0108デフォルトの名無しさん
NGNGまぁ、特に間違ってはいないけど、で?
0109dice
NGNGWindows2000、Delphi2.0Developerです
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGあっちで答えでてるは小学生以下の質問を繰り返すわたまらんな。
0112109
NGNG0113104
NGNG2バイトですよね。
0114デフォルトの名無しさん
NGNG初めてとかの問題じゃないと思うぞ。
小学生でもわかる質問は普通にウザイ。
おまえが幼稚園児なら、頭良すぎでウザイ。
0115デフォルトの名無しさん
NGNGdakuten[i],
これはdakutenのi文字目でしょうか?
それともdakutenのiバイト目でしょうか?
0116デフォルトの名無しさん
NGNG怒りながらも三行目で笑わせるあなたが素敵。
0117デフォルトの名無しさん
NGNG103のソースの一部で
var
dakuten:array[1..29] of string;
として
dakutenのi番目の、string変数です。
誤解を与えるかきかたですみません。
0118デフォルトの名無しさん
NGNG質問スレなのに
質問にも、回答にもなってなさそ。
これに対応する質問ってあった?
0119デフォルトの名無しさん
NGNGANSIPosって2バイト対応?
まぁ、要所要所にShowMessageかませるかデバッガ使って書く変数の流れおってくダサイな。
0120デフォルトの名無しさん
NGNGちょっと前にC言語は何から出来たんですか?と言うのがどこかのスレであったよ。
マシン語で書いたとか言う愉快な奴がいて散々叩かれてたから仕返しじゃない?
0121デフォルトの名無しさん
NGNGReplaceCharInStringって関数自前でつくってるけど
StringReplaceじゃだめなんすか?
0122デフォルトの名無しさん
NGNG面白すぎる。
で、インタプリンタって何?
0123デフォルトの名無しさん
NGNG使いまわしとか考えるなら、コンポーネントつくるのがベスト。
といっても、どんなものつくっていいかわかんないときは92さんのほうほうで
Canvasに書き出してからTGraphicControlやTCustomConstrolから
派生させて自前のコンポつくったら、別のソフトを作っても簡単に表部分は移行できるとおもわれる。
0124デフォルトの名無しさん
NGNG平らな状態で表示させたいのですが、
どうすればよいのでしょうか?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGBevelをいろいろ変えてみたのですが、
見た目に変化がありませんでした・・・ 他になにかあるのでしょうか(T T)
0127ななしへたぐらま ◆B18Bks.Y
NGNG> for i := 1 to 27 do begin
> ShowMessage(s+ ' '+dakuten[i]+' '+dakuon[i]);
> Result := ReplaceCharInString(s,dakuten[i],dakuon[i]); // これが間違い
> end;
『sの中のカ゛をガに置換して,その置換した文字列の中のキ゛をギに置換して…』
とやらなければならないところを
『sの中のカ゛をガに置換して,(その置換した文字列を放置して)sの中のキ゛をギに置換して…』
となってしまっています.
結果としてsの中のウ゛をヴに置換したものが戻り値になってしまうわけです.
ところでブレークポイントやステップ実行などのデバッグ機能はお使いですか?
こういうミスも見つけやすくなりますよん.
デバッグ用にメモコンポーネントに書き出したりShowMessageを使うのは
上の方法が使えないときだけでよいと思います.
0128デフォルトの名無しさん
NGNG(音声出力に応じて16本ぐらいの棒がにょきにょきと伸縮する、アレ)
を実装したいのですが、良い方法は無いでしょうか?
MP3再生コンポーネントはMP3player(http://www.sams.co.jp/kei/mp3plyr/manual/manual.htm)
です。でも、これにはそういったイベントは無いみたいです。
みなさん、どうやって実装してるんだろう^^;
0129デフォルトの名無しさん
NGNGフーリエ変換でスペクトルを取得。
0130無責任だが
NGNGイベントが無いので、ソースを弄るしかないかもしれませんね
ただ、リンク先を見ると OnChangePositionイベントというのがあるようです
これでEqualizer[Index: Integer]: Integer; というプロパティを見て表示すればいいのでは?
MP3からスペアナ表示をするには一般的に
1、MP3のエンコード情報を使う。
2、デコード結果から>>129さんのいうFFTを使う
3、デコード結果から2次帰還フィルターで分析
(Qを無限大にする方法もある)
0132デフォルトの名無しさん
NGNGあるアプリが処理を終わると音を鳴らしてtxtファイルに結果を出力して開いてくれます。
この、音が鳴った事に反応して、自動的に
1、音の検出
2、キー入力とマウスを一時的に無効化
3、開かれたファイルを探し出し、データをコピー
4、そのアプリの終了ボタンをクリック
5、自作アプリにコピーデータを表示
と言うことをやろうとしています。
5は出来るのですが、1〜4がうまくいきません。
1と2は全く分かりません。
3と4はハンドラの見つけ方が分かりません。
ハンドラさえ分かればそれをアクティブにするなり、終了ボタンにSendMessage出来るのですが。
どうかヒントだけでも結構ですのでご教授願います。
0133132
NGNG開発環境はD6Proです。
0134デフォルトの名無しさん
NGNGたったそれだけのために音声解析するのはバカらしい。
0135132
NGNG音は音声ではないです。
あるwavファイルを毎回鳴らします。
なので、そのwavファイルが使われているかどうかを検出出来れば
と思っているのですがとっかかりさえ分からない状態です。
0136デフォルトの名無しさん
NGNG>あるアプリが処理を終わると音を鳴らして
>txtファイルに結果を出力して開いてくれます。
アプリがtxtファイルを作成・変更するのを検出したら?
0137132
NGNGその方法も考えたのですが、出力するデータが何も無い場合、
txtファイルは変更すらされません。
txtファイルの作成や、変更を監視していても
txtファイルは毎回閉じられるわけではないので、駄目なのです。
毎回アプリの終了ボタンを確実に押せればその方法も可能なのですが、
連続して音が鳴る場合があるので、その時はtxtファイルは開きっぱなしで
一部データが追加されたり、何も変更されなかったりします。
色々と考えたのですが、どうも音で監視するしかないみたいでして。
0138デフォルトの名無しさん
NGNG音声データの意味も理解してないのに無理。
プログラム呼び出し。30秒変化がなければタイムアウト。
0139デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG出来るの?UNIXとかならともかく。
0142132
NGNG>1、音の検出
はマイクで音を拾ってそれが希望の音かどうかを判断して・・・等という事を
やろうとしているのではないです。私のスキルではとてもできないですし。
毎回使われるサウンドファイルは決まっているので、そのサウンドファイルが
使用中かどうかを検出しようとしています。
0143デフォルトの名無しさん
NGNGフック出来ないですかね?
0145デフォルトの名無しさん
NGNG今頃気が付く辺りからして、マメにホームページ見たりバージョンアップとかしてないんしょ。
それはそれとして、巡回はいらんけど「お気に入り」は絶対ほしいです、
昔は、それこそ巡回をお気に入り代わりに利用してたんですけど、今はとても不便に
なりました。(登録すりゃいいだけなんでしょうがね^^;)
あれなら、履歴リストの中身を前回終了時の状態でiniファイルにでも書き出して次回の
起動時に再表示させてくれてもいいけど。
0146デフォルトの名無しさん
NGNGWinSight32で該当アプリを監視してみたら?
音で判断なんて馬鹿げてると思うよ、終了のアクションが他にあるだろうに。
遠回りしているようにしか思えない。
因みに、そのアプリは何?一般には出てない物なの?
まさか、競馬関連か?(藁)
0147StringGridの現在行の取得
NGNGStringGridで、マウスクリックやカーソルキーで、セルを選択した場合の現在行を取得したい
のですが、OnSelectCellイベントで、Rowを取得しても選ぶ前の行の値になります。
今回選んだ行の値を取得するにはどうしたら良いのでしょうか?
(今日はもう寝ます…)
0148デフォルトの名無しさん
NGNGOnSelectCellのイベントの中でARowの値を参照したらモロに現在行になるだろ?
荒しか?
0149デフォルトの名無しさん
NGNGアプリを作ってるって奴がいたな。
もしかして、そういつが作ったアプリが鳴らす音を検出しようとしてるんじゃあるまいな?
0150132
NGNGそれやりました。
と言うかずっとやってました。
どうしてもWinSightが掃き出す、膨大な量のデータの中から
該当データを取れなかったのです。
きちんとした使い方を学びたい・・・
そのアプリはアメリカの会社が出しているアメ株の取り引きソフトです。
画面には該当銘柄の値動きが表示されているので、それをHook出来れば
一番良いのですが、私には出来ませんでした。
このソフトは注文が約定するとピンポーンと音が鳴り詳細を表示してくれます。
持ち株の売り指し値の5セント上で空売りを注文していると音が連続して鳴って
両方の詳細がほぼ同時に表示される事もあるので。
どなたか良きアドバイスを。
0151デフォルトの名無しさん
NGNGという事はFindWindowとかEnumWindows で探してGetWindowTextで取得というのは
もうやってるわけね?
0152132
NGNGいえ、WinSightが掃き出した膨大なデータの中から該当ソフトのハンドラを
見つけられなかったのでやれませんでした。
WinSightの使い方をきちんと学ぶべきなのでしょうけど、FDELPHIや
DELPHI-MLの過去ログを検索しても無いですしお手上げ状態です。
0153デフォルトの名無しさん
NGNG俺はVer. 2の形式が好きだった。
説明文の中にリンクがいっぱいあって、すぐに目的の所まで
行けた。プロパティとかも、一覧表示だったからスクロール
させなくても全部見えたし。
Ver. 6で元に戻るのでは、、と淡い期待を抱いていたけど、
やっぱだめか。。
ごめん、誰かに言いたくて。。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG目的のウインドウをタイトルバーの文字から探す>FindWindow
見つかったウインドウの子ウインドウを列挙してシラミつぶす>EnumChildWindow
探すよりもフックかけるほうが初心者には難しいかと。
0156デフォルトの名無しさん
NGNG逝ってしまったほうがよろしいですか?
と 書いてみるものの 実際のところ素でやさしいレスを期待しています
ごめんなさいごめんなさいごめんなさい
馬鹿な質問なのでしょうか。。。それすらわからない初心者です
0157156
NGNGわかりました
開発者ガイドに思いっきり書いてありました
ヘルプにも軽く書いてありました
逝ってまいります
0158デフォルトの名無しさん
NGNG思いっきり厨な発言で申し訳ないけど、
【VCL】
delphiで利用するクラスライブラリ(コンポーネント)
コンパイル時にexeにリンクされるので、別途ランタイムを
添付する必要が無い。
delphiで作成可能。
【CLX】
kylixで利用するクラスライブラリ(コンポーネント)
こちらは配布時にQtを添付する必要がある。
kylix・pro以上のdelphi で作成可能。
0159なんと!
NGNGあっ!そうなんですか。氷解です。一生懸命、悩んでました。
WEBでは、ArowとかがただのRowになっていたりして(Version違いだから???)
これは、何?状態でした。荒らしではありません。
早速出来ました。Thanksです。
0160デフォルトの名無しさん
NGNGGPLだって書きやがれ!」ってことなんか?
日本語にしる!
0161デフォルトの名無しさん
NGNGそんなもん。
0163デフォルトの名無しさん
NGNG具体的に何が腑に落ちないの?
つか、まぁ、とりあえずコレでも読んで
ttp://www.gnu.org/japan/gpl-2j-plain.txt
0165デフォルトの名無しさん
NGNG・ソースを公開しなくちゃいけない。
・GPLのソースを使って作られたソフトはGPLに従わなくちゃいけない。
・それ以外は何をやってもいい。
で良いでしょうか?
0166デフォルトの名無しさん
NGNGこれ以外に重要
0167デフォルトの名無しさん
NGNG>そのダラダラ長いのを読むのもイヤ(藁
好き嫌いの前にお前生きてるだけで無駄に地球の酸素が消費される。
shine
0168デフォルトの名無しさん
NGNG↓
お前が生きてるだけで○
日本語覚えてこい。ハゲ。
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGWinSightは慣れが必要だから、取っつきにくいだろうね。英語だし。
該当ウィンドウとメッセージの監視方法は、
1.該当アプリ起動
2.WinSight起動
3.Spy→Follow Focusをクリック
4.該当アプリをアクティブにする
5.すると、WinSightのツリーが該当アプリのところへ移動する
6.FollowFocusのチェックをはずす
6.ツリー表示の見方は、例えばエクスプローラのウィンドウだと
Overlapped 000301EE {ExplorerWClass} Explorer.EXE (816,114)-(1678,750) "ローカルディスク(C:)"
必要なのは {ExplorerWClass}と"ローカルディスク(C:)"
前者はクラス名、後者はキャプション。両方ともFindWindow(Ex)で使用する。
これを基にしてFindWindowしてハンドルを取得し、
SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
を送れば、該当アプリは終了できる。
7.該当ウィンドウのツリーを選択
8.View→Message Traceにチェック
9.Message→Selected Windowにチェック
10.Helpメニューの左側が「Start!」となっていたら、クリックすると
メッセージのトレースが開始する。「Stop!」となっていたら、もう
トレースが開始している。
11.下にメッセージがだーっと出てくるので、音を鳴らして根気よくメッセージを
探っていく。WM_XXXXXというのがメッセージの名前。何を意味するかは、
Win32.hlpを参照。
12.ただ、音を鳴らすメッセージが見つかっても、該当アプリで送受信されるから
ブロードキャストされてない限り何もせずにキャッチすることは難しい。
フックDLLを作らなきゃならないかな…フックしたくなければ、音が鳴るときに
該当アプリに何か目に見える変化がないかよーく探して、その変化を
FindWindow(Ex)で1秒おきにチェックする、みたいなことをしなきゃならんか。
0171デフォルトの名無しさん
NGNGありがとう
なんか、捜し物のペンが、あきらめかけた頃に
目の前の書類の下から出てきた、みたいな心境。
すぐ目の前にあったのに気ずかないみたいな
いやあ、お恥ずかしい。
ブレークポイントや、ステップ実行は、使って無いです。
使い方について、よく分かってないもので、デバック
について解説してるWebも、みつからないもので。
0172132
NGNG見つかりました!
Delphi壁の穴と言う所を見つけてWinsightを見ながらいじったらきちんとハンドルを
取得出来ました。
しかし、出来たのはここまでで変更があった時にどこが変わるのか、どのような
トリガがかかっているのか等さっぱり分かりません。
どなたかヒントをください。
0173132
NGNGじっくり読ませていただきます。
読んだあとで再チャレンジしても駄目だったら再度発言します。
ありがとうございました。
0174デフォルトの名無しさん
NGNG俺の物は皆の物
オマエの物も皆の物
っつー博愛ジャイアニズムみたいな感じ。
0175デフォルトの名無しさん
NGNGアフォだな。本質からわかってないじゃん。
すべての人がジャイアンですべての人がスネ夫になり得るんだ。
0176103
NGNG0177デフォルトの名無しさん
NGNGGPL で自由になるのはソフトウェア。
つーか、GPL スレに移住しる!
火星にGPLの理想郷を!
http://pc.2ch.net/test/read.cgi/tech/1008813243/
0178デフォルトの名無しさん
NGNG少なくともGPLを使っている人々はそう思っているわけじゃないの?
0179デフォルトの名無しさん
NGNGうむ。
0180デフォルトの名無しさん
NGNGソラリンでも使ってなと。
0181デフォルトの名無しさん
NGNGそろそろ自分でなんとかする気にならんか?
0182132
NGNGすみません、馬鹿なもんで。
ただ、最初からソースくれくれ厨にはなりたくないので少しづつヒントください。
今、自分でフォームにLabelとタイマーだけ貼りつけて
毎秒、カウントアップするアプリを作って、それをフック出来ないか
試してます。
今はWinsiteで変更のメッセージは見つけられたのですが、どうやって
中身を覗くかが分からなくて色々と調べている状況です。
むつかしいっす。
0184デフォルトの名無しさん
NGNGヒントきぼんぬ→つまづく→ヒントキボンヌ→よくわからん→・・・
このように延々と繰り返しいては、最終的にソースくれくれ厨となんら変わらないのでは?
よく考えればわかるとこなので焦らず前進!
0185delphiに限ったことじゃないが
NGNG誰って言うわけじゃないけど。
今もマルチ見てしまった…。
0186デフォルトの名無しさん
NGNG2.頭悪いから
3.ド初心者だから
平日の昼頃に書き込んでから数十分書き込みがないと
アゲたり催促するのは2.か3.
0187185
NGNG>>186
こないだ「ほぼ同じ時間にマルチ」がいた…。トホホ。
やっぱり答える側の気持ちになったら「アカン」ってことが子供でも分かると思うんだが…。
ま、答える側になんてほとんどならんけど(藁
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGTBitmap.ScanLine で直接操作。
0190仕様書無しさん
NGNG教えてください
(Delphian World以外)
0191デフォルトの名無しさん
NGNG最初から付いてるやつ。
0192鉄拐
NGNGでも、あれって居様に重いような気がするがきのせいかな?
0193デフォルトの名無しさん
NGNGソース晒してください。
0194デフォルトの名無しさん
NGNGStretchDrawで1/8くらいに縮めてから、元の大きさにStretchDrawし直せば
モザイクがかかるぞ。
ブラーとかかけたいんだったら、画像処理スレにでも行って勉強した方が早い。
0195お好み焼き食ってるので
NGNGおたふくソースとってください。
0196デフォルトの名無しさん
NGNG大体>>189はアドバイスしてるだけで、ソースなんて書いてるわけ無いだろ。
0197デフォルトの名無しさん
NGNGネタだってばよ。多分な。また来たら放置しる。
0198DateTimePickerと日付型
NGNGようですが、これって、この日付以降だったら、日付計算はうまくいくので
しょうか?
DateTime型は、Double型が元との事で、マイナス値でもいい感じですが…
それと、DateTimePickerは1752/09/19の次が、1752/10/01になるのですが
何故でしょうか? m(_ _)m
0199デフォルトの名無しさん
NGNG歴史の勉強をしましょう。
0200デフォルトの名無しさん
NGNGうん、暦って矛盾だらけなのよ。
サイトで太陽暦とかシリウス歴?とか検索してくださいな。
0201DateTimePickerと日付型
NGNG違うようですので、はてこの日付の飛びは当然日本じゃないだろうし…と思いま
して…。(Delphiってオランダ生まれでした??)
Excelのシリアル値などは、1900年システムや1904年システムですので、1800年代
の人(明治初期など、まだ生存している方)の年齢計算は独自の年齢計算マクロと
かを組んでいました。
Delphiでは、1900年より前(正確には1899/12/30より前)をDateTimePickerで
指定しても構わないのかしらん?と思ったのですが…。
いかがなものなんでしょうか? m(_ _)m
0202デフォルトの名無しさん
NGNGえ、まじで1752年にはそこが抜けてたの?
つーかDateTimePickerはグレゴリオ暦で記述されてるんじゃないの?
単なるバグなんじゃ・・・
でも不安だから調べたら
http://www.borland.co.jp/products/borlandcpp.html
>日付クラスであるTDateクラスは、1901年1月1日を基準(0)とする
>通算日数をもとにしています(1900以前は負の値として表現されます)。
>グレゴリオ暦が始まった1752年9月14日より前では正しく動作しません。
>なお、Borland C++ 5.02 ではグレゴリオ暦から対応するユリウス暦への
>変換に問題があります。この問題を回避するために、この date.cpp を
>使ってください。
だそうだ、Delphiも多分同じだろう。賢くなたーよ。
0203DateTimePickerと日付型
NGNG表示の都合上という事でいいんでしょうか?
0204DateTimePickerと日付型
NGNGでも、何か変ですよね?1752/09/14以降は通常どおりって事なんでしょうけど
9/19→10/01への飛びは、やっぱり変?????
0205デフォルトの名無しさん
NGNG日本がグレゴリオ暦へ切り替えたのは、1873年1月1日からです。
0206デフォルトの名無しさん
NGNGそれを1から19に詰めて書いてしまう間抜けなDateTimePicker。
そのくせ1-13日はしっかり選択できなくしてある。
マイクロソフトが悪いんだよね?
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
0207デフォルトの名無しさん
NGNGDelphianWorldにはShellComponetLibraryがあったと思うけど、
あれが嫌ならこれ見て自分でシコシコ作れ。
ttp://www.cmagazine.jp/bookreview/19990402.html
0208デフォルトの名無しさん
NGNGロックをかけて、ロックのかかったテーブルを触ろうとするとタイムアウトが発生
しない為に永久に待ち状態になってしまいます、なんとか逃げの方法はない
でしょうか・・・。
0209デフォルトの名無しさん
NGNGデッドロック・・・?
0210デフォルトの名無しさん
NGNG先に更新しようとしたプログラムが該当レコードをロックしたままだと、この先のプログラムが
開放するまで、後から更新しようとしたプログラムは止まってます。
先の更新が終了すれば、後の処理が開始されて正常には終わります。
希望としては、「ロック中ですので更新できません」のメッセージの一つも出せたら
良いのですが、SQLを投げて固まるまでこれを判定する手段がないみたいなのです。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213208
NGNG0214デフォルトの名無しさん
NGNGQ. Delphi 6 Personal をダウンロードし、インストールしました。
Delphi は初めてだったので、同梱されている「クイックスタート」の
チュートリアル "TextEditor" をすることにしました。
ところが、このチュートリアルでは、ActionManager コンポーネントを
使うように記述されていますが、それを見つけられません。
ActionManager は、どこでしょうか?
A. 残念ながら、ActionManager は、Personal には、*付属していません。*
Professional 以上に付属するコンポーネントです。
しかし、ActionManager を使わない、古いチュートリアル "TextEditor" で、
Delphi を体験できます。
Delphi 5 クイックスタート・アップデートファイル
<URL:ftp://ftp.borland.co.jp/pub/delphi/d5onlinedocup/D5DOCTET.zip>
これを解凍して、TextEditorTutorial.pdf を読みましょう。
---
投稿する勇気の無いヘタレのためここに書き込みます。
0215デフォルトの名無しさん
NGNG自ら「FAQ」であると認識していることを、改めて書き込む意図はなに?
0216デフォルトの名無しさん
NGNG>>214の真意はここにある。
>投稿する勇気の無いヘタレのためここに書き込みます。
つまりじゃ、てめーが
「投稿しょうかな〜でもなぁ〜はずかしいな〜 誰か俺の代わりに投稿しろよ〜
でもまってても誰も書いてくれないし・・・ ええい!書いてみよう!!」
っつって勇気をふりしぼって投稿したことを誇りたいんじゃ。
よくやったの。>>214
0217デフォルトの名無しさん
NGNGDelphi 6 Personal には、ActionManager は無い。→既知
Delphi 5 のチュートリアルは、ActionManager を使っていない。→既知
Delphi 5 のチュートリアルは、Borland のサイトからダウンロードできる。→知られていない。
だから、FAQ を更新する。
”繰り返される質問”は、回答とセットで意味を待つと思います。
それから、投稿しようとした宛先は、Borland の news group です。
Delphi 5 のライセンスを持っていないユーザーが、Delphi 5 のチュートリアルを
使うのは、目的外の使用とも解釈できるので、情報の公開の前に、著作者の
了解が必要かもしれない。おそらく、怒られることは無いと思うけど、
この辺の確認は、省きたい。→2ちゃんねるにしよう。
それが、何か?
0218デフォルトの名無しさん
NGNGわしは相変わらずActionList使ってるけど。
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG俺も使ってない、無理に使う必要がないように感じるのですが、使うとどの辺りで幸せになれる?
0223デフォルトの名無しさん
NGNGこの FAQ の答えになってないと思うけど?
*付属していません。* という答え以外は、単なるおせっかいでしょ。
どうしても TextEditor を作りたいのならともかく。
0225デフォルトの名無しさん
NGNG>>223
0226デフォルトの名無しさん
NGNG>"Q." をよく読んでください。
読んでも、 ActionManager を使わない TextEditor を作りたい、とは
書いてありませんが?
0227デフォルトの名無しさん
NGNG>これから出てきそうな(よく出てくる)質問に先回りして答えるのがFAQだと思う
Frequently Asked Question の意味を(以下略)
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG先回りして、しかも著作権の確認が面倒なので、他スレに書き込む、って
よくあることなの? そうなんだぁ。
0230デフォルトの名無しさん
NGNG何で勝手にいろいろ付け足すの?変な奴。
0231デフォルトの名無しさん
NGNGTMemoryStream に読み込んだ任意のデータをクリップボードを通して
やり取りしたいのですが、どうしたらよいでしょう。受けとるほうも、
TMemoryStream に読み込んだ形にしたいです。
0232デフォルトの名無しさん
NGNG229 は 214 と 217 について粘着してるのよ
0233デフォルトの名無しさん
NGNGFAQについてレスしただけなのに困ったもんだ。
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG粘着して、先回りして、しかも著作権の確認が面倒なので、何で勝手にいろいろ付け足すの?
他スレに書き込む変な奴、って
よくあることなの?知らなかったなぁ。本当に?そうなんだぁ。
0236デフォルトの名無しさん
NGNGあなたは確実にキモイ
0238デフォルトの名無しさん
NGNGfunction AddRedText(AText:string);
var
Col:TColor;
begin
with RichEdit do
begin
Col := DefAttributes.Color;
DefAttributes.Color := clRed;
Lines.Add( AText);
DefAttributes.Color := Col;
end;
end;
としても赤い文字にならないのですが…
なにが悪いのでしょうか。
0239デフォルトの名無しさん
NGNG0240238
NGNGううむ、変わらなかったです…
ちなみに、先頭に赤い文字を追加しようと思って以下のように書きましたが、これもうまくいかないのです。
色は変わりますが、その後に追加した文字列もすべて赤色に…
function InsertRedText(AText:string);
var
Col:TColor;
begin
with RichEdit do begin
Col := DefAttributes.Color;
Lines.Insert(0,AText);
SelStart := 0;
SelLength := Length( Lines[0] );
SelAttributes.Color := clRed;
DefAttributes.Color := Col;
end;
end;
0241デフォルトの名無しさん
NGNGButton1を押した時は赤文字のテキストが、Button2を押した時はデフォルトカラー
の文字列が追加できとるよ。
procedure TForm1.Button1Click(Sender: TObject);
var
Col:TColor;
begin
with RichEdit1 do
begin
Col := SelAttributes.Color;
SelAttributes.Color := clRed;
Lines.Add(Edit1.Text);
SelAttributes.Color := Col;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RichEdit1.Lines.Add(Edit1.Text);
end;
0242デフォルトの名無しさん
NGNG何で勝手にいろいろ付け足すの?って放置されて
他スレに書き込む変な奴、ってよくあることなの?まじっかなー。ウソクセー。
知らなかったなぁ。本当に?そうなんだぁ。へー。マジ情報?な?な?答えろよアフォ
0243あ
NGNG実行ファイルの作成日時というか、自分自身のコンパイル年月日を知ることはできませんか?
たとえば、[バージョン情報]というボタンをクリックすると、その
プログラムがコンパイルされた日時を表示するようにしたいのですが…
0244デフォルトの名無しさん
NGNGFileDateToDateTime(FileAge(Application.ExeName))
0245デルファイの名無しさん
NGNGたしかクリップボードはGlobalAllocなんかで確保する形式だったかな。
なので、Moveでメモリーコピーすれば充分な気が。
凝ろうと思えば、TStream派生の、確保済みのメモリーに読み書きするクラスを作るなんてどうでしょう?
TAccessStream.Create(ポインタ, サイズ) なんて。
そうすればCopyFromでTMemoryStreamとやりとりできると思います。
…ここで確認のためヘルプを見る…
CLXの方にはTClipboard.GetFormatなんてそのまんまのがありますね。VCL側には無いみたい。
なのでもしCLXを使っていれば一発です。
0246あ
NGNGファイルを移動した場合とか変わっちゃうかと思ったらそうじゃないんですねえ…
どうもありがとうございました
0247デルファイの名無しさん
NGNGでも、リソース書き換えツールなどでいじられたら変わってしまいそうな。
0248デフォルトの名無しさん
NGNGそれがいやなら、自分で定数ででも定義しておくしかないでしょうな。
その場合バージョン=年月日なんかにしておくと楽かも。
0249デフォルトの名無しさん
NGNG>たしかクリップボードはGlobalAllocなんかで確保する形式だったかな。
>なので、Moveでメモリーコピーすれば充分な気が。
あっ、そうですか。ちょっと調べて、いろいろ試してみます。
あいがとうございました。
0250249
NGNG○ ありがとうございました。
訂正。スマヌ
0251デフォルトの名無しさん
NGNGバージョン情報のリソースに日時を埋め込む手もあるな。
0252デフォルトの名無しさん
NGNGXMLを処理というか、読み込むコントロールは無いですか?
ギコナビという、たしかDelphi製のアプリでXMLを読んでいたので、自分のソフトにもXMLを
読み込む方法が無いか探しています。
0253デフォルトの名無しさん
NGNGそうですか。
0254デフォルトの名無しさん
NGNGまず第一に
TXMLDocというクラスはEnterPrise以上と説明があり、
ヘルプもないが、なぜかヘッダーファイルが存在する。
実は使えるという可能性がある。
第二に
MSXMLを使うということ。
メンドクセーが可能ではある。
根性があればどうにかなるが
数日徹夜することになるかもしれん。
0255デフォルトの名無しさん
NGNGまず第一に
TXMLDocというクラスはEnterPrise以上と説明があり、
ヘルプもないが、実は使えるという可能性がある。
BCB5パーソナルではヘッダがあったから怪しい。
第二に
MSXMLを使うということ。
メンドクセーが可能ではある。
根性があればどうにかなるが
数日徹夜することになるかもしれん。
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGOpenXML
0258DateTimePickerと日付型
NGNGEditBoxのKeyPressを監視して、Enterが押された時点で、Buttonに設定した
イベントをさせたいんですが、何か良い方法はないでしょうか?
今は、その処理させたい内容をサブルーチン化して、EditBoxからとButtonの
両方から呼んでいるのですが、処理はButtonのイベントハンドラにそのまま
書いて、EditBoxで、if key=chr($13) then [buttonのイベント]みたいに
したいんですが…
SetFocusして、キーを押したように見せかけるとか、考えてるんですが、はて??
0259デフォルトの名無しさん
NGNG質問です。
DirectoryListBoxで選択したパスに指定フォルダ名を付加したいのですが、
ルートの場合だけ「C:\\hoge」となってしまいます。
C:\program files\hoge とやると¥マークが重複せずに済むのですが・・・
hogeが付加したいディレクトリ名です。
0260デフォルトの名無しさん
NGNG何のイベントだかわからないけど・・・
[buttonのイベント]=> Button.Click みたいな感じ?
0261デフォルトの名無しさん
NGNGそうです。procedure TForm1.Button1Click(Sender: TObject);
の処理を、EditBoxで、Enterを押したら、実行させたいのです。
今は、EditBoxのイベントでSetFocus(Button1)させて、もう一度
Enterを人間に押させてますが…
0262259
NGNG//key_unit.pas
unit key_unit;
interface
type
ken_key = Integer;
const
key_Ent = 13; // Enter
key_Esc = 27; // Esc
key_F1 = 112; // F1
implementation
end.
0263259
NGNG//にkey_unitを追加
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, kt_unit, StdCtrls;
(中略)
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('ボタンが押されました!');
end;
//Edit1でEnterを押したときの処理。
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
key_Ent : Button1Click(Sender); //Enterを押した処理
end;
end;
0264デフォルトの名無しさん
NGNGだから Button1.Click じゃん
0265259
NGNG↓
訂正
↓
Dialogs, key_unit, StdCtrls;
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGソースは、
procedure TForm1.cmdPreviewClick(Sender: TObject);
begin
frmreport.qRep.Preview;
end;
です。何も表示されずに、処理が終わります。
何かプロパティを設定しないといけないのでしょうか?
どうか、ご教授お願いします。
0269デフォルトの名無しさん
NGNG大変大変、失礼しました!!!!!
0270デフォルトの名無しさん
NGNG少しはヘルプファイルを読んだ方がいいと思われ。
>>269
普通は Button1.Click を使うと思うけど。オブジェクト指向するなら。
0271デフォルトの名無しさん
NGNGなるほど、手続きの呼び方が分からなかったって事ね。
ひとつ勉強になったね。
>>266
あのやり方は普通だと思うけど。
仮想キーコードを使うにしてもconstで切った方があとで修正するときに手間省けるよね。
>>259
ドライブがrootかどうか調べて・・・
ごめんこれ以上わからん。
家に帰れば本が有るんだが。
GetDriveなんとかって言うので調べれなかったっけ?
0272デフォルトの名無しさん
NGNGパスの末尾の文字を調べればいいと思うけど。
0273デルファイの名無しさん
NGNGWindows.pasを"VK_"で検索してみると発見があるかも知れませんよ。
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGC:\はルート。
D:\でもE:\でも同じ。
var
size : Integer;
begin
size := Length(WideString(パス));
0276267
NGNG引き続き、がんばってみます。
0277デフォルトの名無しさん
NGNGSender: TObject
とあるのですが,これはなんでしょうか?
Delphiのソースを読んでいるのですが,これがわかりません
0278デフォルトの名無しさん
NGNGイベントハンドラだね
そのイベントを起こしたもの(主にコントロール)が引数として渡されるんだよん
複数のコントロールのイベント処理をひとつのイベントハンドラに書くような場合
呼び出し元によって処理を振り分けたりできるんだよん
0279デフォルトの名無しさん
NGNGありがとう
0280デフォルトの名無しさん
NGNGDel用のドキュメント生成ツール(VB仕様書工房のようなソフト)
使ったことがある奴がいたら、
使い勝手を教えてください。
0281デフォルトの名無しさん
NGNG別の考え方を提示すると。指定パスの
\hogeの\を削ってはどうですか?
IncludeTrailinjgbackslash関数を使えば
選択したパスに\つけられますからね。
0282281
NGNG誤 IncludeTrailinjgbackslash関数
正 IncludeTrailingBackslash関数
0283デフォルトの名無しさん
NGNG日本語でも1バイトしか削除されなくて文字化けしてしまうんですがどうすれば解決出来るでしょうか?
0284132
NGNGって何がある?
とりあえず、古いAPIの日本語版helpとWin32.hlpは落としたけど。
お薦めがあったら教えて。
0285(ヒ) ◆yuucaEEI
NGNGソース見てないでしょ。。公開してるのに。
ギコナビでは海外のSAXコンポーネントをインチキ改造して無理やりSJIS通しています。
ただ、外人さんのコンポーネントなので、SAX自体のソースは添付してないです。
ソースダウンロードすれば、そのコンポーネントのダウンロード先が書いてあるよ。
でもギコナビのは、適当に読んでいるだけなので、参考にならんかと。
もし参考にするならb15じゃなくてb16のを見てください。
DOMを使うなら、>>254氏のやつか、XDOMかな。
XDOMは日本語対応した人がいたはず。
MSXMLは、IEとかに標準でついてくれば利用者が増えると思うのに。。。
(あれ?付いてたっけ?)
0286デフォルトの名無しさん
NGNG今ならIncludeTrailingPathDelimiterかな?
>>283
manifestを使ったことないんで分からんけど、AutoCompleteをFalseにしたらどうなるかな?
>>284
アメリカ版のDelphiヘルプ
0287281
NGNGそのとおりでした。
私のほうも
D6だと機種依存があんたらかんたらとでてしまいます。
0288デフォルトの名無しさん
NGNGこれって出さない方法ありますか?
もしくは別のディレクトリに一括にまとめる方法など。
0289デフォルトの名無しさん
NGNG文字列の先頭を持って来るにはどうしたら良いのでしょうか?
Mid関数みたいなものがあればと思ってます。
くだらない質問で申し訳ありません。
0290デフォルトの名無しさん
NGNGa :String;
a[1]
0291TeamB/2ch ◆SE69s0c2
NGNG>manifestを使った状態でTComboBoxでBackSpaceを押すと
>日本語でも1バイトしか削除されなくて文字化けしてしまう
再現しました。QualityCentral 行きにします。
0293TeamB/2ch ◆SE69s0c2
NGNG危険なオプションだから GUI では設定できないようにしているのかな?
レジストリの borland\delphi\6.0\editor\Options に "Create Backup File" が
あるから、False に設定。
0294デフォルトの名無しさん
NGNGDelDel.BAT
--------------------------
CD /D %1
del *.tds
del *.~*
del *.dsk
del *.dof
del *.dsm
del *.dcu
--------- ここまで -----
これを SendToにでも入れておいたら いいんじゃない?
0295267
NGNGきちんとプレビュー表示できました。
みなさん、どうもありがとうございました。
0296大きいフォントにした場合
NGNGの環境で実行すると、コンポーネントに位置がずれずれになります。
これって、上手い具合にdpiを上手く計算とかしないと駄目なんでしょうか?
0297デフォルトの名無しさん
NGNGツール-エディタオプション-表示-バックアップファイルの作成
0299デフォルトの名無しさん
NGNGどうすればよいですか?
0300132
NGNG監視するように変えたのですが、WinSightで見てみると
WM_Paint Sentで座標を指定して書いて、
WM_ERASEBKGND Sentで消してました。
数字を送っているだけだろうからそれをフックして抜き取れば
と思っていたのですが、甘いでした。
なかなか高いハードルみたいです。
これはペイントデータを抜き取ってOCRするしか方法は無いのでしょうか?
ご存じの方がいらっしゃいましたら教えてください。
0301デフォルトの名無しさん
NGNGしかし、数字だけに限ればそれで十分実用になりそうですが?
0302デフォルトの名無しさん
NGNGScaledぷろぱてぃ
0303296
NGNGすみません。それとStringGridの内容をマウスでドラッグして、他の
アプリに持っていきたいんですが(TEXT情報)、コピーできません。
別個クリップボードに内容をコピーしてやるルーチンを組まざるを得ま
せんでしょうか?
何か、コピーを許すとかいうプロパティは無いでしょうか?
0304デフォルトの名無しさん
NGNGわりとウザがられてるし。
いい加減にどのソフトをクラックしたいのか教えなさい。
そうすりゃすぐに答えが出るはず。
0305デルファイの名無しさん
NGNGOLE Drag&Dropのコンポーネントが、付録CD-ROMに入っていたと記憶。
手書きしてもいいけれどそれなりに手間はかかります。
0306Delphi好き ◆0YAPhEjk
NGNGSelectedRowsプロパティを見れば選択されたレコードを取得できますが、
実行時、SelectedRowsにレコードを追加することはできるんでしょうか。
TDBGridコンポーネントの全レコードを選択するボタンを作りたいので、
よろしくお願いします。
0307303
NGNGDrag&Dropでなくて、単純にセルを選択して、Ctrl+Cで持って行きたかった
んですが、無理でしょうか?。
やっぱり、Buttonでも作って、コードでクリップボードに送ってやるしか
ありませんか?
0308Delphi好き ◆0YAPhEjk
NGNGボタンを配置せずとも、TStringGridのOnKeyDownで駄目ですか。
中で、
if (ssShift in shift) and (Key=VK_C) then
// クリップボードに送る処理
みたいなんじゃ?実験してないし思いつきですけど。
0309Delphi好き ◆0YAPhEjk
NGNGスマソ。これじゃ、Shift+Cになっちまいます。
0310デフォルトの名無しさん
NGNGTBookmarkList.CurrentRowSelectedを調べてみ。
0311132
NGNGレスありがとうございます。
そうですか。
ではとりあえず、文字を覗き見てImageに貼りつけられるか頑張ってみます。
難しそ〜。
>>304
うざくてスマソ。
アメちゃんの証券会社のソフトだから言っても分からないですって。
顧客にしかソフトを配布してないですから。
日本には超マイナーな国の株も投資出来る証券会社って無いんですよねえ。。。
0312Delphi好き ◆0YAPhEjk
NGNGありがとうございます。
最初、チラと見たときに、「これじゃ一つのレコードを選択・非選択にするだけ
じゃん」と思ったんですが、なるほどTrueにして次のレコード・・・と処理させれば
うまくいくのですな。助かりました。(ただ、ちょっと遅いけどしょうがないです
かね)
0313デフォルトの名無しさん
NGNGホームページで使用するDLLを作成しているのですが、
毎回ユーザー毎にデータベース接続の接続をしているので、
ページが表示されるまで待ち時間が長くかかっています。
接続を1つにまとめて、
それを使い回す様なことをしたいのですが、
可能なのでしょうか? 可能であれば、どのようにすればよいのでしょう
m(__)m よろしくおねがいします
ちなみに・・・
ホームページ側は、クラスではないライブラリしか呼べないです
0314デフォルトの名無しさん
NGNG>ホームページで使用するDLL
の時点で、
>にデータベース接続の接続をしているので
こんなもん扱えるわけがないと思うのは俺だけでしょうか?
0315313
NGNG>>にデータベース接続の接続をしているので
>こんなもん扱えるわけがないと思うのは俺だけでしょうか?
接続の接続ではなく・・・
接続だけです。入力ミスです、すいません
ASP・Perl・JSPなどのサーバサイドスクリプト -> DLL -> DB
ここでのDLL部分で悩んでいます。
サーバサイドスクリプトなので、ユーザーには結果だけが表示されるのですが、
処理時間が遅いのです。
0316Delフサギコ ◆zE1iiRdQ
NGNG,ミ ゚Д゚彡 Ctrl+Cを使いたかったら
ミ ∪ Actionを作ってShortcutKeyを設定して
ミ〜,, ミ Action。Executeを記述するといいと思われ
∪ ∪
>>313さん
Webアプリは難しいですよね。
ASPしかわかないですが
ASPのApplicationオブジェクトとかSessionオブジェクトで
管理できるといいんですけどね。
ASP.NETに逝こうした方が素直でいいかもね。
0317デフォルトの名無しさん
NGNGWindowsNT4.0WorkStationで実行すると、
「アプリケーションエラーが発生しました」と表示され、
プログラムが起動せずに強制終了します。
BDEを使ってオラクルに接続だけ確認しているプログラムなのですが、
何が原因なのでしょうか?
BDEを後からインストールしましたが解決しませんでした
0318デフォルトの名無しさん
NGNGgoogleでもどこでもいいから「セッション管理」で検索してみれ。
可能かどうか、と言われれば可能だけど問題も色々あるからよく検討するように。
>317
BDEやオラクルのバージョンも書かないで質問を投げられても判断不能。
問答無用で逝ってよし。
0319デフォルトの名無しさん
NGNGp-chanハケーン!!
>>TeamBさん
QualityCentralって某アメリカなんですか?
ジャパーンのイパーンユーザがニホンゴでバグ報告できるところはないの?
0320TeamB/2ch ◆SE69s0c2
NGNGNT4 WorkStation...
・最新のコモンコントロールがインストールされていない
でしょうか。まだ Delphi の CD に収録されているかな?
0321デフォルトの名無しさん
NGNGASP・Perl・JSPなどのサーバサイドスクリプト -> DLL -> EXE -> DB
DLLでEXEが動いていなければEXEを動かす
DLLとEXEはプロセス間通信(メッセージとかパイプとか 簡単にメモリマップファイルとか)
こうしておけば、DLLやサービスより動作状態も目で見えてデバグも楽
0322TeamB/2ch ◆SE69s0c2
NGNGおはようございます。
QualityCentralって某アメリカのです。
某 ML の方々はまだ誰もポストしていないようです。
日本語で書き込んだら何が起きるかな。
「ジャパーンのイパーンユーザがニホンゴでバグ報告できるところ」
ここでよろしいんじゃないですか?
0323デフォルトの名無しさん
NGNG以下の構造体のサイズは 14 バイトになるはずなのですが、
SizeOf 関数を通してみると 16 バイトになっています。なぜですか。
program Project1;
{$APPTYPE CONSOLE}
type
TBitmapFileHeader = record
FType: Word;
FSize: LongWord;
FReserved1: Word;
FReserved2: Word;
FOffBits: LongWord;
end;
begin
WriteLn( Sizeof( TBitmapFileHeader ) );
ReadLn;
end.
0324デフォルトの名無しさん
NGNGアラインメント調整。
いやならpackedをヘルプで轢く。
0325323
NGNGたしかに packed をしないと 4バイト境界にあわせられるとかいてありますが…
すると、Word の部分がすべて4バイトぶん確保されて
4 * 5 = 20バイトになるのでは…??
いや、関係無いのですが。
0326ななし
NGNG(1) EditコントロールにはAlignmentプロパティ(右寄せ、中央揃え等)はないんでしょうか?
(2) オブジェクトをサブクラス化するサンプルコードはどこを探せばあるでしょうか?
(3) VBのMeキーワード(自己参照)に相当するものはDelphiにありますか?
(4) ShowDialog等で、VBのMsgBox関数の、vbDefaultButtonX(既定のボタンの変更)
に相当することは可能でしょうか?
また、ダイアログのタイトルの変更(おなじくMsgBox関数の第3引数に相当)は可能
ですか?
以上、ご存知の方、いらっしゃいましたら、ご教示ください。
0327デフォルトの名無しさん
NGNGWindowsメッセージ投げる。
オブジェクトって色々な物の呼び名なので特定不能。
self
メッセージ
0328デフォルトの名無しさん
NGNGVBユーザーのためのDelphi6プログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4274064514/249-6085935-6568357
これ嫁
0329ななし
NGNG感謝。
あとは自分で研究します。(つうか、安易な質問だった・・・)
0330でもどり初心者
NGNG環境はWin2000+Delphi6.0personalです。
mona : array[0..255] of Char
と宣言した変数に返り値がPCharの関数を代入しようとしたら、
「'Array' と 'PChar' には互換性がありません」と言われます。
どうしたらいいんでしょうか…
つーか、キャストとか良く分かりません(汗
(型変換とまでは理解してるんですが…)
検索で見つけたページに
>ただし、NULL文字を含む固定長文字列(宣言:変数名 : Array[0..文字列長] of Char)、
>文字リテラルは型キャストの必要はありません。
と書いてあったんですが、API関係は特にわからなくて、つまづいています。
0331デフォルトの名無しさん
NGNGmona := 'omaemona';
とかしたわけ?
Strcopyを使いましょう。
0332nanasi
NGNG戸田英夫さんの言い方には、カチンときます。
みなさんはそんなことないですか
0333デフォルトの名無しさん
NGNG個人名を晒してあげつらうようなやり方には、カチンときます。
みなさんはそんなことないですか
0334デフォルトの名無しさん
NGNGあなたのレス、コピペして投稿しました。
0335Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ /最近のメールソフトには
ミ,,゚Д゚彡 < メール振り分け機能がついているので
U つ \不必要なメールは自動削除すれ
@ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪''∪
0336デフォルトの名無しさん
NGNGDelフサは、彼のメールは自動削除している。と。
0337素人
NGNGvar ウルトラマンコスモス:string;
begin
ウルトラマンコスモス:='タイーホ';
なんたら関数(Pchar(ウルトラマンコスモス));
end;
ではダメ?ダ…ダメ?ビクビク…。
先生!全角ってなんですか?
0338デフォルトの名無しさん
NGNG彼のメールの内容は「過去ログ嫁」しかないから削除しても誰も困らない。
0339デフォルトの名無しさん
NGNG私はその質問も一緒に削除してます
0340デフォルトの名無しさん
NGNG何 が 言 い た い
0341TeamB/2ch ◆SE69s0c2
NGNG初心者の質問は常に新鮮な目で見ないと。
何事にも謙虚さが大切ですね。
0342デフォルトの名無しさん
NGNGLabelがいくつか有ったとします。
プロパティに直に書き込むのはあれなのでストリングテーブルを作ろうかと思うのですが、
Delphiの場合はみなさんどのようにやってますか?
0343デフォルトの名無しさん
NGNGなぜ"プロパティに直に書き込むのはあれなので"と思うのですか?
0344Delフサギコ ◆zE1iiRdQ
NGNG電 | >>338剥げ同意
|∧,,∧ >>341その通りだと思います
柱 ミ,,゚Д゚彡
⊂ ミ 誕生日計算ネタも
|, ,,ミ 新たな発見がイパイでしたね
|∪
, ' , ; ' ;
>プロパティに直に書き込むのはあれなので
ああ、あれですね。あれ、あれですか?
あれ?ってどれ?
StringListを使うのがいいんじゃないでしょうか。
0345TeamB/2ch ◆SE69s0c2
NGNG「あれ」が何なのかわかりませんが...
通常のクラスと異なる動作をさせたければそれを実装したクラスを再定義するのが
正しい道だと思いますよ。
プロパティデフォルトを変えたければ Create コンストラクタで値を設定する
クラスを定義すれば余計な作業は必要なし。
たとえば .INI ファイルやレジストリ、リソースから読み込みたいときは
簡単に実装したければ ReadFromIni のような手続きを用意して
Form の OnShow で初期化。
0346デフォルトの名無しさん
NGNGTListで簡単にファイル保存するような仕組みって無いのでしょうか?
例えば、TStringListへ一旦入れ込んでSave出来ないか?とか試して
みましたが挫折しました。
0347Delphi好き ◆0YAPhEjk
NGNGまあ、TListはTObjectを継承した単純な仕組みですし。継承してSaveToFile定義
するのが楽なんじゃないでしょうか。TListは何型の値が入るか決まってませんし、
そういう状況を考えると、TListに保存機能を求めるのってナンセンスでは・・・?
0348デフォルトの名無しさん
NGNG>TListに保存機能を求めるのってナンセンスでは・・・?
ですよね・・・、SaveToFileを定義するのであれば、いっそ、毎回手書きで
保存した方が読み込み時の事も考えると見通しが良いですよね・・・。
ご意見ありがとう!
0349でもどり初心者
NGNGありがとうございます。
コンパイルは通りました。が、別のエラーが(汗
ここにソース貼っていいですか?50行ちょっとありますが。。。
3年ほど前までDelphi4、AS/400の組み合わせで仕事していた
元職業プログラマーだったんですが、当時からAPIはほとんど
触らなかったんで、未知の領域っす。
今は、印刷関係の仕事をしてて、テキスト処理をDelphiでやり
つつある所です。
0350デフォルトの名無しさん
NGNGいくら調べてもわからないのです
プロセスの終了記述って どうすればよろしいのですか?(汗
プロセスがあがったままなんです。。。
自分で自分がいやになる質問だ。。。(鬱
0351Delphi好き ◆0YAPhEjk
NGNGプロセスの終了・・・って、アプリケーションプロセスのことでしょうか。
だったら、Application.Terminate;で終わりますけど・・・違うのかな?
ちなみに、Win98系でアプリケーション終了後に残るタスクバーのボタンは、あれは
Win98の問題らしいですよ。BorlandのDelphiFAQページに載っていたと思うんです
が・・・。
見当違いかもしれませんけど、よろしく確認ください。
0352350
NGNGあぁ。。。
優しい対応うれしいです
アプリケーションを動かすと、プロセスが残ってしまうのです
プログラムを終了させる記述が必要なのでしょうが、
Delphi6.0でありえるWindowsアプリケーションのプロセス終了記述が、
わからないという。。。
ご回答いただいたApplication.Terminate;以外にも方法はあるのですか?
いくつかあるようでしたら、調べて最適な記述をしたいと思っています。
0353Delphi好き ◆0YAPhEjk
NGNG昔はHalt;なんて使っていましたが、これはどうなんでしょうか。強制終了みたい
なものだから、状況によってインスタンスが何か残るかもしれません。
適当な回答で申し訳ありませんけど、お試しください。
0354350
NGNGありがとうございます。
Application.Terminate;
でプロセス終了いたしました。
手元にある本がDelphi関連だけなのですが、
API関連も必要ですね。。。
Delphiで(Pascal?)自プログラム(プロセス)終了の記述というのは
しないものなのか、そもそも存在しないものなのか。。。。
Windows単独アプリケーションなのですが、セオリーってどのようなものなのか。。。
0355Delphi好き ◆0YAPhEjk
NGNGApplication.Terminate;は、API呼び出しではなくってDelphiのTApplication
クラスのメソッドを呼び出しています。
TApplicationは、作成したアプリケーションの情報を色々もっているので、ヘル
プで見てみると中々面白そうで役に立ちそうな機能満載で楽しいですよ。
・・・ちなみにここはsage進行がよろしいのでしょうか?(あげてた・・・)
0356デフォルトの名無しさん
NGNGコンソールアプリなら普通に リターンしていけば終るかと
0358デフォルトの名無しさん
NGNGフォームがあればメインフォームをCloseでは?
0359350
NGNGGUIアプリです
TCustomForm.Close
これですか?
おお。。。なるほど。。。確かに終了するとの記述がありますね
TApprication.Terminate
とどちらでも良いのかな。。。
勉強いたします
0362350
NGNGおぉ。。。
そうですか。。。
両方をよくみてみます
結果は同じでも、命令が違ければ何かが違うはず。。。(w
楽チンぢゃないほうが何かいいことがあるんではないかと。。。
探ってみまする
0363350
NGNGヘルプに書いてありましたぁ
みなさま ありがとうございます
0364Delphi好き ◆0YAPhEjk
NGNGうーん・・・。
将来、当該フォームを他のアプリケーションで流用する可能性がある場合に関して
は、CloseとTerminateはしっかり分けた方がいいのかもしれませんね。
Terminateはアプリケーションの終了
Closeはウィンドウを閉じる
わけですので。
このフォームをメインフォーム以外として使用した場合にはウィンドウが閉じられて
予定外の結果になるかもしれませんし。もちろん、流用することなんてありえないの
であれば、関係ないですけど。
0365350
NGNGあ〜。。。そうですね
自分もその辺の応用がきくように。。。と考えているので、
検討しなくてはならないですよね
かなり拡張していく可能性がある状況ですので
ご意見助かります
0366デフォルトの名無しさん
NGNGプルダウンで出てこない色を使用することというのは
可能なのでしょうか?
0368デルファイの名無しさん
NGNGダブルクリックしたら例の色指定のダイアログボックスが出ませんか?
0369デフォルトの名無しさん
NGNG16進での指定ですね
わかりました
>>368
今、感動にのたうちまわっております
0370デフォルトの名無しさん
NGNGフォームの概観を少し浮き出た感じにしたいのですが。
BorderStyleをbsNoneにすると、タイトルバーは消えますが、
概観がまったいらになってしまいますし、
BorderStyleにbsToolWindowを設定して、BorderIconsを全部Falseにしても、
タイトルバーは消えてくれませんし。
何か方法があるのでしょうか?
0371lara
NGNGキャッシュアップデートしたいのですが、
なんかApplyUpdateするときに
Insert Into の構文がおかしいよとか言われてしまいます。
もしかして、ADOExpress + TClientDataSet って使えないの?
0372デフォルトの名無しさん
NGNG(1)フォームのBorderStyleをbsNoneにする
(2)フォームのところにprotectedを追加して以下の宣言をする
procedure CreateParams(var Params: TCreateParams); override;
(3)以下のコードを書く(サイズ変更したけりゃ、コメントの位置を逆にする)
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
//Params.Style := Params.Style or WS_THICKFRAME;//サイズ変更可
Params.Style := Params.Style or WS_DLGFRAME;//サイズ変更不可
end;
0374デフォルトの名無しさん
NGNGで、日付の計算をしたいんですけど、何月何日から何日あとの日付、ってのは、どうやって計算すればいいんですかねえ。
標準の関数では何ヶ月経過後、しか計算できないみたいですけど。
0375デフォルトの名無しさん
NGNGTDateTime型をヘルプでよく調べろ。
例えば現在の日時から一日後の日付を得たいのなら
a := Now + 1;
でOKなことが分かる筈。
0376デフォルトの名無しさん
NGNGDelphi2->3->4->5->6と買って、ついでに、JBとCBとKylixまで持ってるのですが、ボーランドから
感謝状もなんも来ません(藁
そりゃいいとして、Delphi4辺りから、劇的に何かが変わるってのが無いようなのですが、
今度出るDelphi7も似たようなものなのでしょうか。
もっと心配なのは、コンパイル後のexeのサイズが同じソースであっても太る傾向にあるようですが、
なぜでしょう?
0377ほらほら
NGNG0378デフォルトの名無しさん
NGNG誰か教えて下さい。おながいします。
0379デフォルトの名無しさん
NGNG青い紙に「祈願・登録」と書いて、「オン・アブラウンケンソワカ!」と3回
唱えた後に南の方角に向かって印を結びながら紙を飛ばしなさい。
いいことあるでしょう。
0380デフォルトの名無しさん
NGNGosorano hoshini inorinasai
0381デフォルトの名無しさん
NGNGreadmeか何かに載ってなかったっけ?
とりあえず
http://register.borland.co.jp/delphi_personal.htm
見て
0382デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGそーゆー時代?
ナウイ?
新人類?
0385デフォルトの名無しさん
NGNGなにいってんだボケ、激しくスレの進行を妨げてるんだよ!逝け。
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG{$APPTYPE CONSOLE}
uses ShellApi;
begin
ShellExecute(0,ParamStr(0),'','',0,SW_SHOW);
end.
0389374
NGNGなんだ、そうだったのか。関数ばかり調べてたよ。算楠
0390デフォルトの名無しさん
NGNGタスクバーに表示されているアプリケーションは
どのようにして取得すればよいのでしょうか。
FindWindow で、Parent ハンドルが 0 のものだけを探し出す
ようにしているのですが、タスクバーに出ていないものまで
引っかかってしまいます。
逆に、タスクトレイに登録されているアプリケーション名もしくは
アイコンもしくはウィンドウハンドルを取得するにはどうすればよいでしょうか。
0391Resource Hacker
NGNGありますが、これを使ってDelphiアプリをチェックしても、たとえばスピードボタ
ンのGlyphで読み込んだりImagelistで保持しているビットマップは、Resource Hacker
のBitmapのところを調べても表示されません。これはどういうわけなんでしょ?
0392デフォルトの名無しさん
NGNGビットマップリソースとして管理してないからです。
0393デフォルトの名無しさん
NGNGDelphiアプリのリソースは、フォームに保存されます。
で、フォームは、リソースのどこか(名前忘れた)に保存されてる。
0394デフォルトの名無しさん
NGNGDFMがそのまま覗けるからそこからテキスト編集中のフォームへコピー。
0395デフォルトの名無しさん
NGNGプロセスを取得するAPIなかったっけ?
それか、findwindowでparentがnullでvisibleなやつとか。
0396名無しさん◎書き込み中
NGNGこれを呼び出すボタンってどのコントロールを使うのが一般的ですか?
よく[・・・]ってなっているボタンをみかけるんですが。
たとえば、オブジェクトインスペクタのTOpenDialog.FileNameプロパティに
表示されるあのボタンです。
TButtonのCaptionを"..."にしてみたんですが、なぁんか違うなぁと。
0397デフォルトの名無しさん
NGNGfunckingyouとかね。
0398デフォルトの名無しさん
NGNGTEllipsisEditとかいうコンポがある。
0399名無しさん◎書き込み中
NGNGありがとうございます! 検索します。
0400TeamB/2ch ◆SE69s0c2
NGNGVCL ソースをお持ちなら、Grids.pas の TInplaceEditList.PaintWindow を
見てみては?ボタンの幅に合わせて小さな黒丸を三つ描画しています。
お手軽に作るときは、スピードボタンに ... でしょうか。
0401デフォルトの名無しさん
NGNG10個の実数を読み込んでそれらを昇順に並び替えるにはどうすればいいんですか
お願いします 教えてください
0402デフォルトの名無しさん
NGNG丸投げ
自分で作ろうという気がないのか?
0403デフォルトの名無しさん
NGNG考えたけどまったくわからないんです
0404デフォルトの名無しさん
NGNG2つだったら並び替えできる?
0405401
NGNGできます。
0407デフォルトの名無しさん
NGNG3つの並び替えはできます?
0408デフォルトの名無しさん
NGNGprogram Project2;
uses
Windows, SysUtils, Classes;
var i:Integer;
var s:string;
begin
AllocConsole ;
with TStringList.Create do try
for i:=1 to 10 do begin
write(i,'>');readln(s);Add(s);
end;
Sort;
writeln(text);
finally free;end;
end.
0409401
NGNGちょっと無理かも
0410Delphi好き ◆0YAPhEjk
NGNGbegin
for i:=1 to 10 do
readln(a[i]);
i:=1;
while i<10 do begin
p:=a[i]>a[i+1];
if p then begin
s:=a[i]; a[i]:=a[i+1]; a[i+1]:=s;
end;
i:=i+ord(not p or (i=1)) shl 1-1;
end;
end;
これで動くかしらん?
0411Delphi好き ◆0YAPhEjk
NGNGa : array[1..10] of real;
i : integer;
p : boolean;
です。どうかな。参考になれば。パスタですが。
0412401
NGNGまだ if while for repeat 配列 しか習ってなくて
これで作らないといけないんです。
0413デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1021262086/l50
0415401
NGNG宿題ではないけど、先生に聞いても、
ちゃんと教えてくれないんです。
もう、ココくらいしか聞ける所がなくて
0418401
NGNGフローチャートはよくわかりません
0419でもどり初心者
NGNGフローチャートは、プログラムの流れ図で、
プログラムを組む前段階の作業っす。
白い紙に、矢印や記号を買って、
プログラムの流れ作業を書いていく。
ここじゃ図解するのめんどくさいから
http://www.am.chs.nihon-u.ac.jp/~yaku/cai/pascal/p0102.html
ここ参照。ノイマン形の方。
あとは、自分ならどう言う手順で並び替えをするか文章化して見る。
で、その文章をフローチャート化し、フローチャートから
コーディングっていう流れが理解しやすいかも。
数字のソートの文章化なら、
数字が書いてある紙が不規則に散らばっている。
1・それのうち、一番近くにある1枚を拾う。
2・2枚目を拾う。2枚目が1枚目より大きければ上へ。小さければ下へ。
3・3枚目を拾う。3枚目が一番上のカードより多ければ上へ。
小さければ1枚下へ。
a:その下のカードが3枚目より小さければさらに1枚下へ
(a:を繰り返し)
って、感じでしょうか。かえってわかり辛いかも…。
0421401
NGNGありがとうございます。
とりえずやってみます。
0422でもどり初心者
NGNGfunction F54_GetPrinter(PrintIndex : Integer) : PChar ;
//プリンター情報取得
var
device, driver, port: array[0..80] of Char;
h: THandle;
Str: array[0..255] of Char;
begin
Printer.PrinterIndex := PrintIndex;//プリンタを指定
Printer.GetPrinter(Device, Driver, Port, h);
// win.ini の [windows] の device に書き込む文字列を作る。
StrCopy(str, Device);
StrCat(str, ',');
StrCat(str, Driver);
StrCat(str, ',');
StrCat(str, Port);
strcopy(Result,Str);
//CharをPCharにキャスト
end;
これの、最後のstrcopy(Result,Str);で
「EAccessViolation クラスの例外を生成」
がでてしまうんですが、さっぱり原因がつかめません。
どなたか、ヒントでもお願いします。
0425Delphi好き ◆0YAPhEjk
NGNGこの関数の場合返り値がpchar型ですんで、4バイトのポインタを返すだけです。
領域の確保、破棄は自動的には行われません。
string型で文字列を返すようにするか、あるいは、getmemを使ってメモリ確保する
か(この場合、別途破棄も必要です)、あるいは、呼び出し元でメモリを確保する
ようにするかですねー。
問題が無いならstringを推奨です。(DLLとかだと逆に面倒ですが)
0426デフォルトの名無しさん
NGNG流れ図なら構造化プログラミング図(SPD)ってのもなかなかいいですよ。
フローチャートに比べると各処理のブロック化(構造化?)がし易いので、
長文のときは全体の構造がすっきりしてくる。
俺は実際に図を書くことは殆どないけど、
脳内でSPDをイメージしながらコーディングしてるよ。
まぁ、読みやすさは書く人のスキルによって変わってくるんだけどね。
pascalにはソート関数はないのでしょうか?
Cにはqsortなんてのがあったんですが、、、、
0427でもどり初心者
NGNGサンクス(゚∀゚)コ
動きました。
実はこれは職業プログラマー時代にサンプルソースを切り張りして作った
通常使用プリンター切り替え関数の一部。
MLにも投稿したことがある(汗
なのに、このざま(爆
0428Delphi好き ◆0YAPhEjk
NGNG私なんか、TurboPascal暦4年で癖が染み付いちゃってて、Delphiに移ったときに
オブジェクト指向を全く理解せずに5年半くらい?使っておりました。(爆
ようやくクラスの設計をし始めたのがここ1年。(泣
0429デフォルトの名無しさん
NGNGオフィシャルの動作環境では SP5なんで…
0430でもどり初心者
NGNG職業プログラマー時代、
オリジナルの入力制限Editを作ってみて、
なんとかオブジェクト指向理解しかかったけど、
開発プロジェクトの他のメンバーがそのEdit使ってくれず、
結局、サブルーチンの共有化に落ち着いた…。
今は、Parsonalを使ってるけど、
データベールコンポーネントが使いたくてたまらない…。
↑付きのやつ高いしなぁ
雑談sage。
0431でもどり初心者
NGNGデータベースです。
0432Delphi好き ◆0YAPhEjk
NGNGあり。
Personalって商業ベース配布不可じゃなかったでしたっけ・・・?
一応私の所では、Personalは商業ベース配布が不可だったからDel5のProfessionalを
購入したような気が・・・。おかげで、一応データベースコンポーネントがついておりま
すが、これまで趣味のゲームプログラマだったのでデータベースなんか使ったことが無
く、今、色々試しながらアプリケーション開発中です。
0433でもどり初心者
NGNG>Personalって商業ベース配布不可じゃなかったでしたっけ・・・?
フリーソフトなら配布可能です。
サポートにメールして聞きました。
まあ、ほとんどが社内向けのツールですが。
(会社っていっても10人みまんだし)
ちなみに、いままでに作ったヤツ
・文字電卓(文字数から必要な大きさを計算)
・テキスト自動変換(一括置換&タグ付け)
・HTMLの表自動生成
・進行表(ネットワーク対応)
・PDF自動印刷
・フォント見本帳タグ作成
とかっす。去年からDelphiにでもどったので、
月産1本程度。小物ばかりですが。
いやぁ。プログラムってほんっとに面白いですねぇ〜
0434Delphi好き ◆0YAPhEjk
NGNGなるほどー。
私も、会社で半分が社内で利用するツール作成、半分が他社製品のカスタマイズ
ですねー。
最近になってようやく会社オリジナル作品の制作を行えるようになりまして。そ
んなわけで、オリジナル作品の制作中です。
ほんとにプログラムって面白いですよねぇ〜。
(他人のプログラムいぢくるのはもうウンザリですケド)
0435デフォルトの名無しさん
NGNG何かシンプルな作りで参考になるようなお勧めコンポーネントありませんか?
0436デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/ht_deko/junkbox.html
0438435
NGNGここから落としてきた数値入力コンポなんですが、設計時にプロパティのvalueに
9999999999999 を設定すると実行したとたんに、
EReadErrorがモジュール Project1.exe の 〜
NumEdit1.Value の読み込み中のエラー: 不正なプロパティの値です.
と、アプリケーションエラーが出るようです、
ソースを眺めてみたんですが、何処で出ているのか全然分りません(汗
因みに、ソースの中で Valueに 9999999999999 を送ってもエラーは出ません
Create時の処理が悪いのでしょうか?
こーいった場合には、何処から探れば宜しいでしょう。
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGちらっと見た所 プロパティの型がCurrencyなので、デフォルトのプロパティエディタが
無い為の現象かと思います。
自分でプロパティエディタを定義するか currencyをやめたら?
0441デフォルトの名無しさん
NGNGなるほど、参考になりました、色々と試してみます。m(..)m
0442デフォルトの名無しさん
NGNG適したコンポーネントはありますか?
TMemoのような簡単な画面で、LoadFromFileとSaveToFileが使えれば
充分なのですが。
0443デフォルトの名無しさん
NGNG>TMemoのような簡単な画面で、LoadFromFileとSaveToFileが使えれば
TMemoのLinesはTStringクラス。
TStringクラスにはSaveToFileとLoadFromFileがある。
頼むよ・・・。
0444デフォルトの名無しさん
NGNGTMemo.Text見て「はてー?」と思ってました。
0445デフォルトの名無しさん
NGNGお願いします
0446デフォルトの名無しさん
NGNG利点みたいに言われてることが多いけどいまいちよくわかりません。
0447デフォルトの名無しさん
NGNG例えばイベントとかでSenderに対し
if Sender is TEdit then
begin
〜
とかってやるのは実行時型情報を利用してるってこった
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGそれまでVisualC++やJavaをかじったものの、不満ばかりが残っていたのですが。
そこでいずれはproを買いたいのですけど
あの値段は。。。。
personalとproの価格に差がありすぎではないですか?
これではDelphiに感動した人のお布施みたいなものです。
とても価格の差ほどの差がpersonalとproにあるとは思えない。。。
一般ユーザーは納得して買ってるのでしょうか?
0450デフォルトの名無しさん
NGNGttp://plaza21.mbn.or.jp/~takoyakusi/delphi/UIWebBrowser/index.htm
を落としたのですが、
[致命的エラー] UIWebBrowserPG.dpk(32): File not found: 'c:\program files\borland\delphi4\imports\vcl50.dpk'
と言われてコンパイルできません。
どうしたら良いのでしょうか。
環境はWinXP+Delphi4UpDatePack3です。
0451デフォルトの名無しさん
NGNGC++にも実行時型情報というのはありますが、これはクラス名の比較に限定された
情報でしかありません。
delphiの場合
クラスのpublished 節で定義されたものには
メソッドには、そのメソッド名がアドレスと一緒に実行ファイル内に保存されています
プロパティも同じです。型名、列挙型などはアイテム名まで実行ファイルに保存されています
これらは設計時にフォームポトペタする時に利用されます。フォームの情報は
実行ファイルにはリソースで保存されていますが、このリソースからフォームを作り
直す時にも利用されています。
この実行時型情報は、プログラムからも呼び出して使う事が出来ます。
自作スクリプトを作るような時には非常に重宝します。ギコbasicで使われてます
0452デフォルトの名無しさん
NGNGproの値段は、あの値段でVCLソースがついてるだけでも、納得出来る値段
だと思っていました・・・最近のデフレでちょっと高いかなとも思うけど
企業が存続するには 仕方ないのでしょう。
ヤフオクで古いバージョンのユーザ未登録のものを買い
バージョンアップで買うのが一番廉くあがるパターンですね
0453デフォルトの名無しさん
NGNG上にほかのウィンドウを重ねると消えてしまいます。
消さないようにするにはどうしたらいいでしょうか
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG1、フォームのOnPaintで描く・・・これが普通の作法、描画は常にOnPaintでね
2、フォームにImageを貼って それに描く
0456デフォルトの名無しさん
NGNGそれでも上にウィンドウを重ねるとだめでは?
0457456
NGNG0458TeamB/2ch ◆SE69s0c2
NGNG> 'c:\program files\borland\delphi4\imports\vcl50.dpk'
delphi4 で Delphi5 用のパッケージをインストールしようとしましたね?
今ちょっと調べられないんだけど、蛸薬師さんのコンポーネントですから
説明書きに何か書いてあると思います。
0459Delphi好き ◆0YAPhEjk
NGNGTBitmapのオブジェクトをTFormのメンバで持っておいて、フォームへの描画を行い
たいときは、基本的にTBitmapオブジェクトへの描画を行い、描画したらフォームを
Invalidateして。そんで、455さんが仰っているようにOnPaintでそのBitmapオブジ
ェクトを転送・・・という方法が良い場合もあります。
0460デフォルトの名無しさん
NGNGリフレクション対応と言うこと?
0462デルファイの名無しさん
NGNGいきなりTerminateProcessというのも手ですが、あまりにも乱暴と思うので、
CreateProcessならスレッドのIDがわかっているはずなので、PostThreadMessageでWM_QUITを送ってみるとか、
EnumWindowsで起動したプロセスのウィンドウを探して、片っ端からWM_CLOSEを送りつけるとか。
0463デフォルトの名無しさん
NGNGパッケージじゃなく個別に入れてみたら。
0464デフォルトの名無しさん
NGNG>PostThreadMessageでWM_QUITを
Window持ってない奴にはノーダメージな罠。
保存しますか?ダイアログが出た場合切ない罠。
0465132
NGNG色々やったのですが、どうしても当該アプリの覗き見が出来ませんでした。
確認の為IEの画面を覗き見ようとIEのCapitionでFindWindwsして
Sendmessageを監視して内容がWM_PaintだったらClipboardにコピーして
それをまた自分の所のImageに貼りつけるようにプログラムをしました。
しかし、何もコピー出来なかったり、自分のフォームの画像がImageに取り
込まれるだけでした。
丸一週間頑張ってみましたがお手上げ状態です。
すみません、ソースくれくれ厨にならせてください。
どなたかどうかよろしくおながいします。
0466デフォルトの名無しさん
NGNGhttp://tmp.2ch.net/test/read.cgi/mog2/1022943102/l50
0467デフォルトの名無しさん
NGNGここは質問スレでソースキボンヌスレじゃない。
0469デフォルトの名無しさん
NGNG× >>467
○ >>465
0470132
NGNGDelphiのMLには参加してないです。
0471デフォルトの名無しさん
NGNGようするに文字認識でデータを取るなら 窓ハンドルを得たら
GetWindowRectで表示位置を取得して
h:=FindWindow(nil,PChar(title)) ;
if h<>0 then begin
GetWindowRect(h,rct);
Caption:=Format( '%5d %5d',[rct.left,rct.top]);
mcanvas:=TCanvas.Create;
mcanvas.Handle:=GetDC(0);
try
Image1.Picture.Bitmap.Width :=rct.Right -rct.Left;
Image1.Picture.Bitmap.Height:=rct.bottom-rct.top;
Image1.Picture.Bitmap.PixelFormat:=pf16bit; //色数は適当に
with Image1.Picture.Bitmap do
Canvas.CopyRect( Rect(0,0,Width,Height) ,mcanvas,rct);
finally mcanvas.Free;end;
end;
end;
0472embedder ◆GqCvG9cU
NGNG正直、最初はUIWebBrowserにお世話になろうとしてたけど、
インストール出来なかったり(2ちゃんスレの過去ログのは試した)、
いろいろ思うことあって、「embeddedwb」にした。ちょっとつっかかったけど、
インストール出来たし、とてもいい!英語だけどネ。
後は、「フリーウェアとして、特に断ったりしないでもアプリケーションとして
自由に配布出来るのか?」がよく分からんとこだけど、2ちゃんブラウザも使ってるのが
あるみたいだし、「フリーウェア」って書いてあるから、GPL(?)ではないか…
と結論してるのだが。
単なる意見でした。
0473デフォルトの名無しさん
NGNGつーか、「おながいします」じゃねーよな。「おな」(藁
どっか他で真面目な書き込みして、ソースもらえば?
0474デフォルトの名無しさん
NGNG参加するのに5分もあればOK。タダだし。
ちゃんとしたところで質問すると、ちゃんとした回答が
得られる確率が高くなる
0475デフォルトの名無しさん
NGNG喰らったら寂しいと思っているの鴨
0476デフォルトの名無しさん
NGNG他の窓に隠れたらとれないけど、それはしょうがない
0477132
NGNGありがとうございます。試してみます。
>>476
ちょっと待ってちょ。
昨日から試してます。
TopWindowにバックグラウンドで動かせる方法が無いか
試してるんですけど、難しいです。
一時的にトップに持ってきて元に戻すしか無いんですかねえ。
グローバルフックでなくて他のアプリからアクセスが無ければ
DLL化しなくてもいいと、昨日初めて知った。
0478デフォルトの名無しさん
NGNGって言うかメッセージ投げればいいのでは?
WM_MOVE
0479デフォルトの名無しさん
NGNG>>TopWindowにバックグラウンドで動かせる方法
そもそも描画領域が隠れていたら描画そのものをしない場合も多いでしょ
そこまでやりたいなら、そのアプリをデバッカにかけて 内部データの位置を
見つけた方が速いんじゃないの?
0480132
NGNGえっ?すみませんそれはどういうことでしょうか?
SetWindowsHookExではWM_Moveはフック出来ないようですが・・・
私がとりあえず今考えているやりかたは、
ターゲットのアプリのCaptionは分かっているので、
1、FindwindowsExで子Windowsのハンドルを取得
2、SetwindowsHookExでWM_GetMessageを覗き見
3、覗いたデータをImageにコピー
4、取り込んでOCR
これだったら隠れていても上手く取得出来るのではないかと思い1〜3までを
とりあえず完成させようとしているのですが、四苦八苦していまして
まだ動作確認できていません。
>>479
すみません、私デバッガを使ったことがないものでして、その方法は
検討していませんでした。
良いデバッガや参考になる方法、URL等がありましたら教えてください。
0481デフォルトの名無しさん
NGNGデスクトップのハンドル(?)をTCanvas.Handleに代入してDrawする、
という方法を用いたところ、別のウィンドウ上に描画された場合、
そのウィンドウをドラッグしても絵がウィンドウに張り付いたままになってしまいました。
これを防ぐにはどうしたらいいでしょうか?アドバイスお願いします。
0482デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNG>2、SetwindowsHookExでWM_GetMessageを覗き見
>3、覗いたデータをImageにコピー
>4、取り込んでOCR
>これだったら隠れていても上手く取得出来るのではないかと思い
メッセージフックして、WM_PAINT でのイメージを覗くわけですか
隠れているウィンドウが WM_PAINT を受けとるはずはない、と思ふ
なんか壮大な計画を一気に完成させようとしているみたいですが
ひとつひとつ簡単な確認用のコードを確かめてから、それらを組み合わせて(以下略)
0485132
NGNGえっ?WM_PaintはアプリからWinへ出力はされるけど隠れていたら
描画されないんじゃないんですか?
それだったらほんとにデバッガのお世話になるかも。
最初からアプリを作るのは無理だと思っていますので、とりあえずは
隠されたIEの再描画をフックしようと色々四苦八苦してます。
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGウィンドウメッセージを勉強する必要があるね
0488デフォルトの名無しさん
NGNG各ウインドウ矩形での選択をしたいのですが
(タスクバーだけ選択とかボタンだけ選択とか)
どうすればできますか?
0489デフォルトの名無しさん
NGNGWindowsハンドル取ってDCを取得してその内容読む。
0490デフォルトの名無しさん
NGNGスクリーンに表示されているのなら 471 のコードの応用
0492ScrollBoxをカーソルキーでスクロール
NGNGパターンですが、このスクロールをカーソルキーやPageUpDownキーで行えないで
しょうか?
特に何もプロパティを設定しなくても、マウスのホイールではスクロールしてく
れますが、カーソルキーではスクロールしてくれません。
キーイベントを別個に書かなくてはいけませんか??
0493132
NGNG>>486
描画前のメッセージキューに送られた時にフックしようと
思っているのですけど、無理なのでしょうか。
これが出来ないのとなるとデバッガを使うか471さんが
書いてくださった方法しか手がなくなってしまうので。
0494デフォルトの名無しさん
NGNGいっそ TextOut DrawText をフックしたらいいんじゃないの?
DLLは関数ポインタによる呼び出し(間接コール)になってるから
そのアドレスを探して、この2つを書き換えてしまえば全部の描画文字列を
取得出来るよ
0495132
NGNGそのアプリをWinsightで覗いてみたのですが、WM_Paintと
WM_EraseBkgndしか出力してなくて駄目でした。
0496デフォルトの名無しさん
NGNG取得する方法を教えてください。
0497デフォルトの名無しさん
NGNGFindWindowでせっせとやれば?
0498デフォルトの名無しさん
NGNG1点だけならWindowFromPointでできるけど、
矩形の場合だとウィンドウを列挙して、IntersectRectで
領域内に入っているか地道に調べていくしかないと思われ。
0499496
NGNGFindWinowは使い方がよくわからないのですが・・・。
>>498
なるほど・・・。しかし秒間10回ほど行う処理なので少し厳しいですね。
或いは画面全体を再描画させる関数が有ればそれで良いのですが。
0501デフォルトの名無しさん
NGNG何だ、その話か。
InvalidateRectすれ。
0502500
NGNGGetDC(0)で得たハンドルに描画しているので、
InvalidateRect(0, )としてしまうと、画面全体がちらついてしまいます。
高速に繰り返す処理なので・・・、何か方法はありませんか?
0503デフォルトの名無しさん
NGNG再描画の必要な領域だけ無効化するとか、最後の引数をfalseにするとかしてる?
0504デフォルトの名無しさん
NGNG既に>498が回答になっていると思うが。
>秒間10回ほど行う処理なので少し厳しいですね。
実際にコーディングして試してみたのか、おい?
>FindWinowは使い方がよくわからないのですが・・・。
APIのリファレンスはDelphiについてるでしょ。
使い方だってネット上をちょろっと漁ってみれば大量に出てくるぞ。
0505500
NGNG前者は、第二引数の話ですか?
後者はやっています。
>>504
>実際にコーディングして試してみたのか、おい?
連続描画でアニメを表現しているので速度は変えられません・・・。
0506デフォルトの名無しさん
NGNG>そのアプリをWinsightで覗いてみたのですが、WM_Paintと
>WM_EraseBkgndしか出力してなくて駄目でした。
アプリがこのメッセージを出力してるんではない、と何度いったら
理解できますか? WM_PAINT をフックしても、それで隠れたウィンドウ
の描画をのzくことができる、なんて保証はないよ。
確認したいのですが、WM_PAINT を<受け取って> クライアント領域を
描画しているのはアプリのコードであると知っていますか? ウィンドウ
関数にわたる前にフックして何するつもりなの?
0507デフォルトの名無しさん
NGNG>キーイベントを別個に書かなくてはいけませんか??
いけませんね。
0508デフォルトの名無しさん
NGNG>連続描画でアニメを表現しているので
アニメをデスクトップに描画するなんて、どうかしてるよ。
なんで自分のウィンドウに描画しないの?
0510132
NGNGすみません、アプリがWM_PaintをWindowsに渡して、
それを受けとったWindowsが描画していると思っていました。
解決策のヒントをいただけないでしょうか?
0511デルファイの名無しさん
NGNG普通、デスクトップに直書きするのではなく、
ウィンドウリージョンで変形ウィンドウを作ると思いますが、如何?
0512デフォルトの名無しさん
NGNGだったらデスクトップになんか描画するなよ。
リージョン使って絵にあわせたウィンドウを作ればいいじゃん。
とりあえず
http://www.vector.co.jp/soft/win95/prog/se082336.html
のソースとにらめっこしてみ。
0513506
NGNG>解決策のヒントをいただけないでしょうか?
例の音の出力検出以来、ずっと助けてやりたいと思っていたんだけれど
どうもオレの知識じゃ足りないみたいなんだよ。否定的コメントばかり
ですまん、とは思っているんだが、間違った方向へは行かないように、
とすこしは助けてるつもりなんだよ。
それで、確認したいんだが、音の出力検出についてはまったく知らない。
それが無理だとして、そのほかにどのような変化があるわけですか。
TMemo や TListBox などのウィンドウコントロールに変化はないのですか?
これがあれば、メッセージをフックできると思うんだが。たんに、GDIを
もちいた描画だけが変化するんだったら検出は難しいぜ。特に、隠れていて
表示されていない時は。
文字列の変化には、VCLの TLabel みたいにGDIで描画せれているのと
スタティックコントロールのようにウィンドウテキストを変更している場合
がある。VC++で作られているダイアログアプリなら後者の場合が多いので
メッセージをフックできることもある。前者の場合は難しい。
0515デフォルトの名無しさん
NGNG0516506
NGNGアニメをデスクトップに描画するなんて、どうかしてるよ。
ウィンドウを最前面に保つようにするコードがあったはず。
おれは知らんが。
どうしてもデスクトップというなら、画面の更新にも責任もってね。
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520506
NGNG132 はまともだと思う。知識がたりないだけだし。
0521506
NGNG× >519
○ >518 スマヌ
0522132
NGNGたびたびありがとうございます。
音と同時に数値が変わるだけでして、その子Windowを
WinSightで見てみたら前に書きましたWM_PaintとWM_EraseBKGNDが
出力されただけでした。
> 文字列の変化には、VCLの TLabel みたいにGDIで描画せれているのと
> スタティックコントロールのようにウィンドウテキストを変更している場合
> がある。VC++で作られているダイアログアプリなら後者の場合が多いので
> メッセージをフックできることもある。前者の場合は難しい。
この両者の違いが分からないのですが、バイナリエディタでそのアプリを覗いたら
msvbvm60.dllやc:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
等の記述があるのでたぶんVBで作られていると思います。
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNGオイオイ。顔を真っ赤にして2つもくだらねーレスすんなよ。
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG0535506
NGNG>この両者の違いが分からない
えーと、TLabel は TGraphicControl の派生クラスで、親ウィンドウの
特定の領域の描画をしているだけ。これは外のアプリからはみえない。
一方、スタティックやエディットやリストボックスのようなVCLの
TWinControl の派生クラスなら、子ウィンドウなのでそれは外のアプリ
からも見えるし、それを制御するためのメッセージをフックすることもで
きる。この両者の違いは大きいです。
>音と同時に数値が変わるだけでして、その子Windowを
>WinSightで見てみたら前に書きましたWM_PaintとWM_EraseBKGNDが
>出力されただけでした。
ふーむ、だとするとVBアプリであることも考慮すると TLabel 相当
なんですかね。そうなら、おれの知識では、その変化を検出するのは
無理みたいね。すまん。
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0541506
NGNGおれもいろいろなMLに加入したけど、Delphi-ML はかなりまともな
MLだと思う。FreeMail からハンドルネームでの投稿を非難されない
し。基本的なエチケットさえちゃんと守れば、どんな質問だってOK
だし。「過去ログ見ろ」の回答だって、「そうですね、ありがとう」
といえばそれなりの情報は手に入るし。加入しても損はないと思う
0542132
NGNG> えーと、TLabel は TGraphicControl の派生クラスで、親ウィンドウの
> 特定の領域の描画をしているだけ。これは外のアプリからはみえない。
> 一方、スタティックやエディットやリストボックスのようなVCLの
> TWinControl の派生クラスなら、子ウィンドウなのでそれは外のアプリ
> からも見えるし、それを制御するためのメッセージをフックすることもで
> きる。この両者の違いは大きいです。
詳しい説明ありがとうございます。良く分かりました。
MLに参加しなかったのはメール鯖が会社の管理する寮の鯖でして、
一日20通を超えるメールを受信すると会社から「共用リソースを大切に・・・」
とメールが来る非現実的な所にいるもので、参加していませんでした。
Freeメールでも大丈夫、とのお話だったのでさっそく参加させていただき
ました。
まだ場の雰囲気が読めないので雰囲気が分かってきたら質問させて
いただきます。
皆さんありがとうございました。
0543デルファイの名無しさん
NGNG恐らく、ウィンドウにしてしまうと、表示してしまった部分は
下のウィンドウが操作できなくなることを危惧しているのでしょうが、
それにはちゃんと方法があって、WM_NCHITTESTでHTTRANSPARENTを返せば、
マウス操作を素通りさせることができたはず…
// 試したことはないのでできなければごめん
0544デフォルトの名無しさん
NGNGデスクトップマスコットがいて、その絵の下のウィンドウに触れるってほうが
俺は気持ちが悪いぞ・・・
0545506
NGNGMSDN Library より
HTTRANSPARENT
In a window currently covered by another window in the same thread
(the message will be sent to underlying windows in the same thread
until one of them returns a code that is not HTTRANSPARENT)
同じスレッドのウィンドウじゃないとダメ、みたいに読めるが?
0546506
NGNGDelphi で Timer を使って、Label1 にランダムな数値を1秒ごとに
表示している、と想像してください。これを Label1 のプロパティーを
使わずに、その変化をどうやって検出するか、という問題と同じです。
それでは、MLでまた会えるかもね。
0549デフォルトの名無しさん
NGNGとても独創的な発想の持ち主とお見受けしました。
0550デフォルトの名無しさん
NGNG何とか使う方法はないのでしょうか?
0551デフォルトの名無しさん
NGNGサブレポート様なことは実現できないのかのう?
0552デフォルトの名無しさん
NGNGぐぐるで検索しても出てこない……
0553デフォルトの名無しさん
NGNGMLの過去ログからですが、これでしょうか?
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/065/065944.html
0554初心者
NGNGTStudent というクラスを作って、広域的に?public?に、どのコントロールからも使えるように
オブジェクトを使いたいのですが、どこで、「student :TStudent;」と書けば良いでしょうか?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TStudent = class
private
Name : string;
public
function GetName:string;
procedure SetName(N:string);
end;
function TStudent.GetName:string;
begin
result := Name;
end;
procedure TStudent.SetName(N:string);
begin
Name := N;
end;
end.
本見ると、概念的な説明はのってても、実際の使い方はほとんど載っていなくて、
判らず困ってます。昔VCはやってたんですが・・・ ご教授お願いします。
0555デフォルトの名無しさん
NGNG感謝です。
Assignでコピー出来るなんて知らなかった……。
>>554
そのまま、{ Public 宣言 }のところじゃないかな
0556初心者
NGNGそうすると、
[エラー] Unit1.pas(16): 未定義の識別子 : 'TStudent'
と、出てきてしまいます。
定義する前に宣言しちゃっているからだと思うのですが・・・
どうすればいいか、わから〜ん! ヽ(;´Д`)ノ
0557デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG別のユニットに書いてusesするなり、インターフェイス部のTForn1より上に書くとかしてみれば?
0560デフォルトの名無しさん
NGNGimplementation以下は実装部分なのでここでクラス定義はしないのです。
unit〜implementationの間がCで言うところのヘッダみたいな場所なの。
ヘルプの「ObjectPascal言語ガイド」で「プログラムとユニット」を見てちょ。
余談だがTStudentは別ユニットに分割した方がいいと思う罠。
type
TStudent = class
private
Name : string;
public
function GetName:string;
procedure SetName(N:string);
end;
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
(以下省略)
0561初心者
NGNGどうもありがとうございます。ヽ(´∀` )ノ
0562デフォルトの名無しさん
NGNGピクセルを32×32にして、アイコン描写後、Formのiconで読み込んでみると、「イメージが不正です」と怒られてしまいます。
どうしたらいいでしょうか?よろしくお願いします。
0563デフォルトの名無しさん
NGNG0564563
NGNG0565デフォルトの名無しさん
NGNGちょっと笑いましたけど。w
誰か教えて下さい。 ・゜・(ノД`)・゜・
0566デフォルトの名無しさん
NGNGあれだ、拡張子を.bmpから.icoに変えただけのエセアイコンファイルを使ってるんだな、きっと。
0567デフォルトの名無しさん
NGNGTLabelをインデックスで管理したいのですが、
lbl_memo[0]とかってできませんでしたっけ?
プロパティにIndexがあった気もするのですが、ないですね。。。
久しぶりにDelphiで開発するのでとまどいが隠せない今日この頃。。。
お助けください
0568562
NGNG保存する時に、16色bmpで拡張子を.icoにしたので、その状態かもしれません。
どうすれば治るのでしょうか?
0569デフォルトの名無しさん
NGNG--
var lbl_memo: array [0..5] of TLabel;
begin
lbl_memo[0]:= Label1;
lbl_memo[1]:= Label2;
:
0570デフォルトの名無しさん
NGNG嫌ならアイコンエディターなんてフリーでいくらでも転がってるよ。
0571デフォルトの名無しさん
NGNG.icoファイルをサポートするソフトで読み込んで.ico形式で保存し直しだな。
0572デフォルトの名無しさん
NGNG0573562
NGNGImageEditorの存在忘れてました。w
それなら拡張子変えない方法で.icoで保存できるっぽいですね。
その方法でやってみます。
ペイントで.icoで作れる様にもしたいので、サポートするソフトとやら、探してみようと思います。
お二方、ありがとうございました。
0574562
NGNGマイコンピュータから見た、ファイル名の左にあるアイコンはどうやって変えるんでしょうか?
プロパティでできるかなと思いましたが、無理でした。
もう一回教えて下さい。m(_ _)m
0575デフォルトの名無しさん
NGNGプロジェクトオプション→アプリケーション→アイコンの読み込み
0576562
NGNGできました。
真にありがとうございました。m(_ _)m
0577デフォルトの名無しさん
NGNGありがとうございます
オブジェクトインスペクタでIndexが見つからなくて(w
0578デフォルトの名無しさん
NGNG最新版ふつうにインストロールできましたが。
0579デフォルトの名無しさん
NGNG申し訳ないです
これをどこに記述すればよいのかわかりません
この場合 Label1〜 はあらかじめフォーム等に作成しておくのでしょうか?
0580デフォルトの名無しさん
NGNG0581567
NGNG>>569で教えていただいた方法がわかりません
オブジェクトインスペクタでIndexの定義をすることって
できませんでしたっけ?
なぜか見当たらないのですが。
以前はありましたよね?
。。。見えていないだけですか?
うーん。。。。。
コードで記述するにしても 今ひとつわからなくて
すんませんとしか言い様もなく すがってみたい
0582デフォルトの名無しさん
NGNGそういうこと。
事前にラベルは貼っておく。
>581
できない。
以前も、多分これからもない。
既に>569が書いているのが回答そのものなんだけど、他の
手段としてこんなのもあるが、
ttp://www.asahi-net.or.jp/~HA3T-NKMR/tips002.htm
あまりオススメできない。
0583492 :ScrollBoxをカーソルキーでスクロール
NGNGEditBoxを配置して、常にSetFocusでFocusが移動しないようにして、
if key= vK_Up then とかで、Scrollbox1.VertScrollBar.Positionを変更と
いうことでよろしいでしょうか?
それとも、ScrollBarを配置して、ScrollBoxと連携???
(当然、Visibile:=Falseで)
0584492 :ScrollBoxをカーソルキーでスクロール
NGNG取得したら良いのでしょう???
キーをとらえたとして、際限なくUpDownしていいのかしらん???
0585Delphi好き ◆0YAPhEjk
NGNG例えば、以下の様な関数(メソッドが良いか)を作成するのも吉かと。
function TForm1.GetLabelByIndex( Index : integer ) : TLabel;
begin
result:=nil;
case Index of
1 : result:=Label1;
2 : result:=Label2;
...
end;
end;
いかがでしょ?
0586Delphi好き ◆0YAPhEjk
NGNGTScrollBoxコンポーネントは、多分ですけどHorzScrollBarプロパティで水平、
VertScrollBarプロパティで垂直のスクロールバーデータが手に入るかと。で、
範囲は、0〜Rangeの値まで。その辺はヘルプに載っていますけどー。(当方Del5
ですが)
0587492 :ScrollBoxをカーソルキーでスクロール
NGNG普通のScrollBarには、Max,Minとかあるけど、ScrollBoxには、
ScrollBoxの水平垂直ScrollBarのさらに、Positionを操作???
RangeとPositionの関係が???です…。
0588デフォルトの名無しさん
NGNG落ち着いてヘルプをよく読む。
0589???
NGNG0590492 :ScrollBoxをカーソルキーでスクロール
NGNG合わせて(これって自分で設定するんですよね?)、例えば、ImageBoxのWidth
が300だと、ScrollBox1.HorzScrollBar.Range:=300にしたあと、Positionを
半分に設定したら、半分が見えると思ったんですが、Position=79です!
この79という数字はどこから?????
ScrollBox自体のWidth=241なんですが、241+79=320。この300との20の差は、
ScrollBar自体の幅???
0591?????
NGNG0592デフォルトの名無しさん
NGNG縦スクロールバーの幅も考慮に入れる
というのは面倒なので、WidthじゃなくてClientWidth使うべし。
0593492 :ScrollBoxをカーソルキーでスクロール
NGNG0594デフォルトの名無しさん
NGNG??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
0595デフォルトの名無しさん
NGNG半角のが1つだけあるな
0596デフォルトの名無しさん
NGNG思わず保存して grep かけてしまったではないか。
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGワラタ
0599デフォルトの名無しさん
NGNG0600492 :ScrollBoxをカーソルキーでスクロール
NGNG0601492 :ScrollBoxをカーソルキーでスクロール
NGNGとやってみましたが、通常はどう処理するのが一般(という言葉が適切なのか
な…)なのでしょうか?。(捕まえて、Position変えて、key=#0にする。)
keyのイベントがあるものならなんでもいいようですが…
0602デフォルトの名無しさん
NGNG御苦労。
0603デフォルトの名無しさん
NGNGねえよ。
0604デフォルトの名無しさん
NGNG0605492 :ScrollBoxをカーソルキーでスクロール
NGNG0606492 :ScrollBoxをカーソルキーでスクロール
NGNGなんで、ScrollBoxは、キーボードでScrollBarがうごかせないんだーーーー
0607492 :ScrollBoxをカーソルキーでスクロール
NGNG0608492 :ScrollBoxをカーソルキーでスクロール
NGNG0609デフォルトの名無しさん
NGNG0610492 :ScrollBoxをカーソルキーでスクロール
NGNG兄ちゃん良いモノ持ってるなあ?
0611デフォルトの名無しさん
NGNG0612本当の492
NGNGDownキーで、動かせないのかな?と。
キーボード派で、いちいちマウスの持ちかえるのが面倒なだけです。
0613デフォルトの名無しさん
NGNGと思ったけどキーでは横にしか動かせませんでした。てへっ。
0614本当の492
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGうっさいハゲ。つるっぱげ。
0617デフォルトの名無しさん
NGNG0618550
NGNG最新版を入れると普通にインストールできました。。。
何で悩んでたんだろう。。。
0619デフォルトの名無しさん
NGNG0620567
NGNG>>569をどこに記述しればよいのか
わかりまへん。。。
あちこちに書いてみましたが、えらぁ。。。(鬱
>>585
えーと。。。
あぁ
なるほど
できるのかな 自分に。。。
試してみまする
ありがとおございまっす!
0621567
NGNGわかりまいた。。。
あたしゃアフォだな(w
ありがとうございました
0622Delphi好き ◆0YAPhEjk
NGNG横槍スマソ。
>>569のは二つに分けて考えましょう。
var lbl_memo: array [0..5] of TLabel;
部分はTFormクラス内(Publicがよろしいかと)に。
begin
lbl_memo[0]:= Label1;
lbl_memo[1]:= Label2;
:
は、TFormのCreate内に書きましょう。
ということで。
0623Delphi好き ◆0YAPhEjk
NGNG>>585にはプロパティ宣言を入れると、お好み通り(まるでインデックス指定して
いるような)感じになるかと。
property Label[Index : integer] : TLabel read GetLabelFromIndex;
・・・こんな書き方で良かったと思いますが。間違ってたらゴメンナサイ。
これで、参照時は、
messagebox(handle,pchar(Label[1].Caption),'実験',mb_ok);
みたいな感じにできるかと。
・・・書きすぎてスレ汚しになったかナァ。
0624567
NGNGあ。
ご丁寧にありがとうございます
なんかテンパっててわけわからないことで悩んでしまいますぃた(恥
>>623
そこまで書かせてしまって申し訳ないです
いくつかの手段があるのを知るのはとても必要なことなので
大変助かります
多謝です!
0625デフォルトの名無しさん
NGNG507 でレスしたものです。
>なんでホィールでScrollBox動かせるのに、カーソルキーやPageUp
>Downキーで、動かせないのかな?と。
ホイールはスクロール専用の入力デバイスです。キーデバイスは、
スクロールとは本来無関係ですから、キー入力でスクロールするため
には、プログラマがコードで関連付けなくてはなりません。
矢印キーで ScrollBox をスクロールするのは、フォーカスの移動
があるため、思ってたより難しいですね。フォーカスの移動を防ぐ
ために、Application.OnMessage でキー入力を処理するとうまくい
きます。以下のコードでは、ScrollBox1 には Image1 があって、
TAB キーで、または、マウスでクリックするとフォーカスが
ScrollBox1 に移動して Label1 が赤色になります。このとき、矢印
キーで ScrollBox1 をスクロールできます。試してみてください。
type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
Image1: TImage;
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure ScrollBox1Enter(Sender: TObject);
procedure ScrollBox1Exit(Sender: TObject);
private
{ Private 宣言 }
public
procedure AppMessage(var Msg:TMsg; var Handled:Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
0626つづき
NGNGbegin
Label1.Font.Color := clWhite;
Label1.Color := clBlue;
Label1.Caption := 'Exit';
ScrollBox1.TabStop := true;
Application.OnMessage := AppMessage;
end;
procedure TForm1.ScrollBox1Enter(Sender: TObject);
begin
Label1.Color := clRed;
Label1.Caption := 'Enter';
end;
procedure TForm1.ScrollBox1Exit(Sender: TObject);
begin
Label1.Color := clBlue;
Label1.Caption := 'Exit';
end;
type
TScrollKind = (LineUp,LineDown,LineLeft,LineRight);
procedure ScrollBoxScroll(SB:TScrollBox;ScrollKind:TScrollKind);
const
LineScroll = 5;
begin
case ScrollKind of
LineUp:SB.VertScrollBar.Position := SB.VertScrollBar.Position-LineScroll;
LineDown:SB.VertScrollBar.Position := SB.VertScrollBar.Position+LineScroll;
LineLeft:SB.HorzScrollBar.Position := SB.HorzScrollBar.Position-LineScroll;
LineRight:SB.HorzScrollBar.Position := SB.HorzScrollBar.Position+LineScroll;
end;
end;
0627つづきその2
NGNGbegin
if (ActiveControl = ScrollBox1) and (Msg.message = WM_KEYDOWN) then
case Msg.wParam of
VK_DOWN:begin
ScrollBoxScroll(ScrollBox1,LineDown);
Handled := true;
end;
VK_UP:begin
ScrollBoxScroll(ScrollBox1,LineUp);
Handled := true;
end;
VK_RIGHT:begin
ScrollBoxScroll(ScrollBox1,LineRight);
Handled := true;
end;
VK_LEFT:begin
ScrollBoxScroll(ScrollBox1,LineLeft);
Handled := true;
end;
end;
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
FocusControl(ScrollBox1);
end;
procedure TForm1.ScrollBox1Click(Sender: TObject);
begin
FocusControl(ScrollBox1);
end;
0628デフォルトの名無しさん
NGNGカレンダーを作成しなくてはならなくなりました
すでにあるTMonthCalender等を使用して
年月日の取得は可能でしょうか?
うるう年の計算もしたくないですし 指定した月が何日まであって
何曜日から始まるのか等を取得したいのですが。。。
0629デフォルトの名無しさん
NGNG( ´Д`)
/ \
__| | 629 | |__
\  ̄ ̄ ̄ ̄ ̄ \
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0630デフォルトの名無しさん
NGNGIsLeapYear()で閏年かどうか分かる
>指定した月が何日まであって
閏年かどうかわかればこれは簡単
>何曜日から始まるのか
EncodeDate() で TDateTime に変換し、DayOfWeek() で曜日を取得
すこしはヘルプをみたらいいのに
0631Delphi好き ◆0YAPhEjk
NGNG何か適当な回答で悪いとは思うけれども、
ttp://www.kyoto-su.ac.jp/~yamadaka/data/yscp-calendar.htm
参考にしては如何でしょー?ぐぐったんですけど。
0632デフォルトの名無しさん
NGNGおっさるとおりで
えーと記述いただいた件は理解しているのですが
既コンポーネントから情報を取得するという手段があったら
やってみたいなぁと思ったのであります
不愉快にさせてしまったのでしたら ごめんなさい
>>631
ありがとうございます
閏年の計算の仕方も一応理解はしているのですが
カレンダーコンポーネントを使ってみたかったんです。。。
表示はしてあげられませんが
お世話になりました
0633デフォルトの名無しさん
NGNGTMonthCalender はユーザ入力のためのコントロール
これをつかってもできるかもしれないが、630 の方法より
めんどくさそう
0634デフォルトの名無しさん
NGNG例えば、旧文化オリエント社のオレクトラチャートとか、VsFlexGlidとか。
あと、VC++で作ったDLLなんかもDelphiから使用することは可能ですか?
出来ればVBからDelphiに乗り換えたいんですけど、今使っているライブラリや
ツールが使えなくなるとちょっとつらいので...
0635デフォルトの名無しさん
NGNGOCXは使えます。
コンポーネント(C)→ActiveXコントロールの取り込み(X)です。
DLLもVBで使える範囲なら問題なく使えます。
0636ななし
NGNGしょーもない質問です。
VBでは、予約語、メソッド、プロパティ、オブジェクト名等すべて、コードエディタ
での入力時に勝手に大文字・小文字を変換してくれるので、誤字、脱字があるかない
か、一発でわかるのですが、Delphiではこのような機能はないのでしょうか?
(大文字、小文字を区別しないでも正常動作するようですが、なんとなく気持ちが悪い)
※ 煽りではありません。(W
0637でもどり初心者
NGNG昔(Delphi4)、TrueDBGridを試しに取り込んで見たけど、
見た目は大丈夫そうだったが、挙動が不審で全然ダメだった。
pdf.ocxとか、レイアウトソフトのocxは普通に使えてます。
0639634
NGNGTHXです。
んじゃ、ちょっくらObjectPascalと戯れてみます。
0642デフォルトの名無しさん
NGNGわからないことがひとつある、
動的にTLabelを作成したほうがよくないかと...
0643Delphi好き ◆0YAPhEjk
NGNG左様ですな。
例えば、定型のフォームを作成して、Labelをデザイナ上で配置して・・・という時に
動的にラベルを生成してそれらのプロパティを指定しようとするのはいかにも面倒
ですし。
そういう意味では、こういった手法というのが必要なのではないかナァ・・・と。
もちろん、動的に作成しても問題無いような処理だったらそれでいいとは思います
がね。
ま、その辺りは状況に応じて使いわけましょうってことでス。
0644本当の492
NGNG>キーデバイスは、スクロールとは本来無関係ですから、
言われてみると、なりほど!という感じです。
でも、せめて、PageUp、Downキーとかで動いて欲しいな…
0645Delphi好き ◆0YAPhEjk
NGNGTNMUDPコンポーネントを使ったことのある方なら誰でも良いのですけど、TNMUDP
コンポーネントのSendBufferメソッドを使用してフォルダ内のディレクトリリスト
を送信するプログラムを作りました。で、受け側のプログラムを使って受信データを
表示させたところ、「D:\*.*」などのフォルダ情報は表示できるのに、「D:\WinNT\
*.*」フォルダは送信できませんでした。考えられるのは、サイズがでかくて送れな
かったとかの原因だな・・・と。(空メッセージが届く)
誰か、この辺りの情報をご存知の方いらっしゃいませんか?
0646デフォルトの名無しさん
NGNG配列をつかっていちいち代入するのではなく、
Label1.Tag ← 1
Label2.Tag ← 2
..........
のようにオブジェクトインスペクタで設定すると、配列なしで
function TForm1.GetLabelByIndex(index :integer):TLabel;
var
i:integer;
begin
result:=nil; i := 0;
while (not Assigned(result)) and (i < ComponentCount) do
begin
if Components[i] is TLabel then
if Components[i].Tag = index then
result := TLabel(Components[i]);
Inc(i);
end;
end;
のようにできると思います。
0647デフォルトの名無しさん
NGNG市販のレポートツール買おうと思っているのだが、
お前のお薦めがあったら教えれ。
0649でもどり初心者
NGNG用途によると思うんだけど…。
自分は今、印刷関係の仕事してるから、
レイアウトソフト用のタグを書き出して印
刷するのが言いように思えてしまうし(w
ポストスクリプトを書いてしまうのも手だよ。
自分はかけないが。
0650デフォルトの名無しさん
NGNG0652567
NGNGΣ( ̄□ ̄;)
>if Components[i] is TLabel then
Components[i]
がわかりませんっっっ
配列ではないTLabelコンポーネントのお話ですよね?
0654デフォルトの名無しさん
NGNG0655Delphi好き ◆0YAPhEjk
NGNGComponentsプロパティはTFormをヘルプで検索して、そのプロパティを見れば分かって
いただけるかと思います。
TFormの継承元にTComponentクラスがあり、そのクラス内のプロパティです。
0656デフォルトの名無しさん
NGNGヘルプのTComponentのプロパティを参照。
別の方法でTWinControlのプロパティも参照(Controls と ControlCount)。
0657567
NGNGおおおおおお
そうでしたか
>>655
なるほど
ご丁寧にありがとうございます
ということは これはこのフォーム内でのタグ設定されたラベルは
配列にしたいものにだけしているということが前提になると解釈したのですが。。。
0658Delphi好き ◆0YAPhEjk
NGNG左様ですね。
この方法でアクセスするためには、配列に含めたくなければtagに-1をいれておく
とか、あるいはIndexに0は使わないとか約束事を決めておいてやるべきでしょうね。
0660デフォルトの名無しさん
NGNGヘルプには、
function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
と書いてあるにも関わらず、
function BoolToStr(B: Boolean): string;
のようにしか受け付けてくれません、なぜでしょうか?
因みに、
Bが、self.checkbox1.checked なら ヘルプ通りに使える
var B:Boolean;
で定義してあるもので使おうとすると UseBoolStrs が余分だ!って怒られる。
0661Delフサギコ ◆zE1iiRdQ
NGNG> で定義してあるもので使おうとすると UseBoolStrs が余分だ!って怒られる。
_______________
,,,,,,,,,,,,,∧,,∧ /
〜′,,,,,,,ミ,,゚Д゚彡< うちのは怒りません。
UU""" U U \日ごろの行いがいいからか?
0662660
NGNGなんか壊れたんだろうか・・・・。
0663デフォルトの名無しさん
NGNG0664Delフサギコ ◆zE1iiRdQ
NGNG自作しるとか思うですが....
列挙型のすべてをこういう変換できれば
意味があるんだが...
RadioGroupに対して列挙型を関連づけたりとか
いまだにできんのかしら?
コードが面倒っす。
\_ ____________
|/
∧,,∧
ミ,,゚Д゚ミy━~~
U ミ
〜ミ ミ
U''U
0665もしかしなくても何も解っていない男
NGNGARow: Integer; var CanSelect: Boolean);
を、他から呼び出す時ってどうしたらいいのでしょう?Clickとかじゃないし。
StringGrid1.SelectCell?????
0666デフォルトの名無しさん
NGNGインスタンス名.StringGrid1SelectCell
0667デフォルトの名無しさん
NGNG0668もしかしなくても何も解っていない男
NGNG???
0669デフォルトの名無しさん
NGNGその謎のスペースは何だ?
0670もしかしなくても何も解っていない男
NGNG実パラメータが云々とか言われます。
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
で書いた処理を、他の、例えばButton1をClickした場合にCallしたいのです。
0671デフォルトの名無しさん
NGNGSelectCellの中身を別の関数に移して、
両方で同じ関数を呼ぶようにするのが簡単確実。
procedure TForm1.StringGrid1SelectCell(……);
begin
hoge;
end;
procedure TForm1.Button1Click(……);
begin
hoge;
end;
procedure TForm1.hoge;
begin
実際にやりたい処理
end;
0672デフォルトの名無しさん
NGNGパブリッシュなプロパティにした列挙型は 実行時型情報で相互変換出きると思うけど?
0673Delphi好き ◆0YAPhEjk
NGNG呼び出し元がTForm1のスコープ内だったら、メソッド呼び出し自体は
StringGrid1SelectCell(...);
で良いはずですよね。違えば、(例えば、var Form1 : TForm1; の宣言がinterface
部にある場合には
Form1.StringGrid1SelectCell(...);
ですよね。
パラメータに関しては、
Sender ... メッセージを通知するオブジェクト
なので。例えばButton1Clickの中から呼び出したいならば、SenderをButton1にすれ
ば良いかな。場合によっては、Senderの値が何かによってStringGridに与える影響
を変更したい場合もあるはずなので、その辺りは多少考えるとして。
で、あとのパラメータは知っての通り。ただし、var宣言している項目に関しては変数
を与えないといけないので、var dummy : boolean; で宣言した変数を与えましょう。
例
procedure TForm1.Button1Click( Sender : TObject );
var CanSelect : boolean;
begin
CanSelect:=true;
StringGrid1SelectCell( Sender, 0, 0, CanSelect);
end;
こんな感じかな?
0674デフォルトの名無しさん
NGNGいいえ、StringGrid1.SelectCell(...);ですが何か?
0677デフォルトの名無しさん
NGNGメソッド呼び出しは、
インスタンス名.メソッド名()
じゃないの?Del3厨だから仕様変更は知らないけど。
0678Delphi好き ◆0YAPhEjk
NGNGきっと、フォーム名がStringGrid1…いやいや。フォーム名をStringGrid1にしたら
クラス名はTStringGrid1になてしまう。
どうやったんだろう。
…まさか、新しいフォームをコード入力で生成ッ!?面倒なことをするなぁ…などと
逝ってみるテスト。
0679Delphi好き ◆0YAPhEjk
NGNGいやいや。これは通常のSelectCellメソッド呼び出しではなく、どうやらOnSelectCell
イベントの呼び出しのようですな。
引数がそんな並びになってマス。
0680デフォルトの名無しさん
NGNG↑
揚げ足は良いがコンパイルエラーが起こるようなコードでけんけん言わんでくれるかw
0682Delphi好き ◆0YAPhEjk
NGNG因みに…
674は、最初メソッドとは思わずに「そんな宣言の仕方あんのかよー。知らないぞー」
と思い悔し紛れに書いたレスです。もし、「せっかくレスしてんのに揚げ足とんなよ
逝ってよし!」と気を悪くされてたのなら誤りますんで。
0683Delフサギコ ◆zE1iiRdQ
NGNG|,,∧
|Д゚彡 言ってよし
⊂ミ
| ,;゙
|´
>>672
"出来る"んだけど、逝ってヨ仕様って感じるです。
procedure TForm1.Button1Click(Sender: TObject);
begin
//列挙型から文字列へ
Label1.Caption := GetEnumName(TypeInfo(TAlignment), Ord(Label1.Alignment));
//文字列から列挙型へ
Label1.Alignment := TAlignment(
GetEnumValue(TypeInfo(TAlignment), 'taRightJustify') );
end;
こんなの使えない(役立たない)っすわ。
BoolToStrなんて関数作っている場合なの?>>某
0684TeamB/2ch ◆SE69s0c2
NGNGとは?
型が強い言語、かつパラメタイズ機構(C++ テンプレート相当)が存在しない
ので強制キャストが頻繁に出てくるのは仕方が無いでしょう。
しかし、テンプレート相当が無くても自分で定義すればすむ話ですよね?
function TAlignmentToString( const a : TAlignment ) : string;
begin
result := GetEnumName(TypeInfo(TAlignment), Ord(a));
end;
こういった変換関数群を自動生成するツールがあると面白いですね。
使わない関数はスマートリンクで削除されるから、結果として必要なものだけが
リンクされますし。
... アイデアいただきます。> Delフサギコさん
0685デフォルトの名無しさん
NGNGビジュアルパスカルが分からずに苦労しております
昔開発をやったことがあるのでプログラム感はあるのですが
関数が分りません
試しにバージョン情報(サイトへのリンクボタン付き)のウィンドウから作り始めたのですが
・Bitbtnへの画像の貼りつけ(バナーボタンをつけたい)
・ブラウザ起動−引数としてURLを渡す
ができずに早速詰まっています
そこで
上記2点のプログラム
デルファイでのビジュアルパスカル関数一覧が出ているサイト
アフォな漏れにでも分かるデルファイでの開発で役に立つサイト
等ありましたら教えて下さい
0686デフォルトの名無しさん
NGNGブラウザ起動ならShellExcuteを使うがよろし。
ShellExcute(Application.Handle,'open' 'ブラウザ名','URL','ブラウザのDir');
だったきがする...間違ってたら指摘してください。
0687デフォルトの名無しさん
NGNGスレタイトルを思い出してハッとする俺がいる。
・ネタでない場合はこちらをお読みください
> ビジュアルパスカル
ObjectPascalのことですね
> デルファイでのビジュアルパスカル関数一覧が出ているサイト
付属のヘルプ、「ObjectPascal言語ガイド」、「VCLリファレンス」を見るのが手っ取り早いです
> アフォな漏れにでも分かるデルファイでの開発で役に立つサイト
このスレッドの>>2-10を参照してください。
特に、Delphi-ML検索 http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi
大概のことは上記サイトで解決するのでブックマーク必須です。
> ・Bitbtnへの画像の貼りつけ(バナーボタンをつけたい)
> ・ブラウザ起動−引数としてURLを渡す
これらの質問も、ヘルプとDelphiML検索で容易に解決しますが、一応。
前者は、プロパティエディタの「Glyph」から設定できます。
詳しくは、ヘルプの「TBitBtn」→「TBitBtn の使い方」を調べてください。
後者は、uses に ShellAPI を追加して、
ShellExecute(Handle, 'OPEN', 'http://hogehoge/','', '', SW_SHOWNORMAL);
とすればよいです。
これは、googleで「Delphi ブラウザ URL 起動する」を検索して最初のサイトで出てきました。
・ネタの場合こちらをお読みください
> ビジュアルパスカル
プププ
0688Delフサギコ ◆zE1iiRdQ
NGNGかなり手間だと思うです..
function TRecordToString( const a: TRecord; Value: TRecord) : string;
こんな関数テンプレがないから作れないんですよね。
悲すぃです〜
∧,,∧ また,includeで作らなきゃいけないのかしら...
ミ,,゚Д゚彡 それも浦和座みたいで、美しい言語Pascalの
ミ つ旦)~~ 理想からは程遠い...
〜と,,,~),,~)
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNGIDEに"notepad Delphi6\bin\delphi32.dci"
って登録して開いて(IDEからの登録は論外)
[code_EnumToString | enumを文字列に変換]
// |REPLACEMEを文字列に変換
function REPLACEMEToString( const a : REPLACEME ) : string;
begin
result := GetEnumName(TypeInfo(REPLACEME), Ord(a));
end;
って貼り付ければ良し。
0691デフォルトの名無しさん
NGNGコーディング時のテンプレートか。。。
確かにテンプレートという言葉だけ捉えれば間違ってはいない?
0692685
NGNGうーん。まだ分からないことが続々と…
とりあえずヘルプ内のサンプル作ってから考えることにする
>> ビジュアルパスカル
>ObjectPascalのことですね
VBと混同してしまったYO…
当方以前にパワービルダーしかやったことないんで…
0693デフォルトの名無しさん
NGNGエディタコンポーネントってありますよね?
0694デフォルトの名無しさん
NGNGTWebBrowser
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGどうすればいいのでしょうか?
0697デフォルトの名無しさん
NGNGラジオグループに列挙型を関連付けるってのは、今現在でいえば
TagとOrd関数で比較して結びつけるような操作のことじゃないの?
0698デフォルトの名無しさん
NGNG集合型がこんな感じで作れるんだから列挙型もいけるだろ
//使用例 SetToString(TypeInfo(TFontStyle), Byte(Font.Style))
function SetToString(Info: PTypeInfo; Value: Integer): string;
type
TIntegerSet = set of 0..SizeOf(Integer) * 8 - 1;
var
S: TIntegerSet;
I: Integer;
begin
S := TIntegerSet(Value);
Result := '[';
for I := 0 to SizeOf(Integer) * 8 - 1 do
if I in S then
begin
if Length(Result) <> 1 then Result := Result + ',';
Result := Result + GetEnumName(Info, I);
end;
Result := Result + ']';
end;
0699デフォルトの名無しさん
NGNGTCustomRichEditを継承したクラスで
Createを
begin
inherited;
Self.Color := clBlue;
end;
とすると
EInvalidOperation
コントロール''は親ウィンドウを持っていません
となるのですが。
Self.Color := clWindow;
だとうまく行くのですが。
0700Delphi好き ◆0YAPhEjk
NGNGOnCreateのイベントは、クラスのコンストラクタであるCreateとはちょっと違うの
です。
すでに、OnCreateの時、コンストラクタ呼び出し後なのです。しかも、上位クラスの
Createはしっかりと自動呼出しなのです。
inheritedは要らないのです。
0701Delphi好き ◆0YAPhEjk
NGNGぐあ。スマソ。
激しく嘘こきました。TCustomRichEditにはOnCreateなんてイベントありもさんな。
激しくスマソ。
えと。多分、そのエラーはParentプロパティが指定されていないせいかと。
self.Colorに値指定する前にParentを指定しましょう。
0702デルファイの名無しさん
NGNGclWindowの時は何も起きないというだけでは…
コンストラクタでColorを変える時は、経験上何故かParentColor := Falseを事前に行っておかないと
うまくいかないケースもちょくちょくありました。(理由は不明)
0703Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧∩ /
頒゚Д゚;彡< 1行かよ!
,;゙⊃,ジ \_____
〜ミ ,,○
∪
function RecToString(Info: PTypeInfo; Value: Integer): String;
begin
Result := GetEnumName(Info, Value);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button2.Caption := RecToString(TypeInfo(TAlign), Byte(Form1.Align));
end;
ちょっとキャストが気になるけど、なかなかよさげ
次は文字列から列挙型変換ですが...
0704699
NGNGでうまく行きました。ありがとうございました。
0705Delphi好き ◆0YAPhEjk
NGNGームのコンポーネントにアクセスできるんです。なぜでしょうか。
(以下の例で、)
�@Form1のButton1をクリック > Form2が表示される
�AForm2のButton1をクリック > Closeされる
�BForm1のButton2をクリック > 何故か例外が発生しない!
この方法では正常にForm2のインスタンスを開放できていないんでしょうか。
ただし、�Bの前にForm2:=nil;を実行すると例外が発生しました。むぅ〜。
--------Unit1.pas
procedure TForm1.Button1Click(Sender : TObject);
begin
Form2:=TForm2.Create(nil);
Form2.Show;
end;
procedure TForm1.Button2Click(Sender : TObject);
begin
Label1.Caption:=Form2.Edit1.Text;
end;
--------Unit2.pas
procedure TForm2.Button1Click(Sender : TObject);
begin
Close;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
0706デフォルトの名無しさん
NGNGShow/Closeは表示の切替だからインスタンスの解放とは無関係。
解放したいんだったらForm2.Releaseすればいいんでない?
0707デルファイの名無しさん
NGNGちょっと待って下さい。OwnerとParentは別の概念です。
パネルの上に貼る時でもOwnerはフォームが渡されてくるのですが…。
設定するタイミングを送らせた方がよさげ。(AfterConstruction, Loaded, CreateWndなど)
それと、調べてみましたが、色を変えた時に、
問答無用でメッセージを送っているのが元々の原因みたいです。
継承したコントロールを作っているのですから、CM_COLORCHANGEDを自前で処理して、
ウィンドウハンドルが無い時はメッセージを送らないようにするなど、
望む動作に置き換える方法もあります。
0708Delphi好き ◆0YAPhEjk
NGNGんー。TCustomFormのOnCloseは、Actionの値をcaFreeにすると開放されるってヘルプ
には書いてあったんですが、ダメなんですかねぇ。
この例で言えば、Form2側でボタンを押したときに開放したいんです。できれば、元ウィ
ンドウからは作りッぱなで抜けたい処理があるんですけど…。ダメですか…。
0709デフォルトの名無しさん
NGNG705を読まずに書くけど、showに対してはhideでなかったっけ?
visibleをtrue/falseにする…
あー手元にDelphiがない
0710デルファイの名無しさん
NGNGOnCloseでcaFreeにすると、内部でReleaseが呼ばれるので、一緒のはずですけど。
…まさかと思いつつ、Form2がVisible = Falseのまま自動作成の対象なんてことはないですよね?(w
0711Delphi好き ◆0YAPhEjk
NGNG…まさか。いや、大丈夫ですとも。
じゃあ、開放されて無効な空間をアクセスしにいってるのに例外が出ないんでしょう
か?それも不気味な気が…。
でも、見に行ったForm2.Edit1.Textに値を入れた状態でCloseしても、値無しで返っ
てくるので、やっぱり開放されてるのかナァ…。
中規模システムの一部に使いたい処理なので、メモリリーク起こされると怖い…(-_-;)
0712デルファイの名無しさん
NGNG調査完了〜♪
コンポーネントは、解放される時Ownerの自分の名前と同じpublishedフィールドをnilに設定します。
この場合、Form2は解放済みメモリを指しているので、その後メモリが他の用途に使われていなければ
Form2.Editに相当するアドレスにはnilが入っています。
TextプロパティはTWinControl.Perform経由で取得されますが、このPerformが、Self = nil の
無効な呼び出しのときは何もしないようになってました。
従って、nilが入っているコントロールのTextプロパティは常に空です。
0713Delphi好き ◆0YAPhEjk
NGNGうぉう!
ありがとうございます。助かりました!
っつーか、どこでそんな情報を調べたんですか。Del付属のオンラインヘルプですか?
…ここまで調べたということは、VCLのソースも持っているんでしょうね。(私も持っ
てるんですけどね)
本当にありがとう御座います。これでメモリリークの不安もなくコーディング続けら
れます!
0715698
NGNGhttp://hp.vector.co.jp/authors/VA015850/twaddle/note.html
の 2000/03/29 を参照。
0716デフォルトの名無しさん
NGNG某ランドのQAページにあるサンプルコードどおりに作ってもうまく動作しません。
これらは、TMemoでは動作しないのでしょうか?
0717デフォルトの名無しさん
NGNGファイルにある文字列を貼り付けて、その後、カーソルを上に移動する、というような処理をするときは、Memo1.Perform...の手順ではダメなのですか?
実際、どうすればいいのですか? ヒントを頂ければ幸いです。
0718デフォルトの名無しさん
NGNGあれはただダイアログ出すだけなので、実際の検索・置換は自分でやってください。
コモンファイルダイアログがファイル選ぶだけで、実際にファイル開くところまでは
面倒みてくれないのと同じ。
>>717
よくわからんがSelStartいじるんじゃ駄目なの?
0719デルファイの名無しさん
NGNGDelphi好き ◆0YAPhEjk さんは仕事で使っておられるようなので、当然Professional以上ですよね。
プロジェクトオプションの「デバッグ版dcuを使う」をチェックして再ビルドすると、
デバッガのステップ実行でVCLソースまで入れるようになるので、
あとはひたすら追いかけていくだけです。
0721デフォルトの名無しさん
NGNGhttp://www.jabber.jp/
で紹介されているExodusというメッセンジャークライアント
を使ってみたんですけど、メッセージを入力するウィンドウ
ではIME変換中、確定後とも文字化けしてしまって困っています。
具体的には、全角文字は全て白抜きの四角で表示されます。
ちなみにメッセージ自体は文字化けせずに送信されて、
メッセージ表示ウィンドウ(入力ウィンドウの上にあります)
にも文字化けされずに表示されます。
ExodusのソースをCVSから取得し自分でビルドもしてみたのですが
文字化け現象は変わりませんでした。詳細はJabber.JPメーリング
リストに書きましたのでそちらをご覧いただけたらと思います。
(ウェブサイトのアーカイブにはまだ載っていないのですが、
Jabber.JPのメーリングリストに参加後、
[email protected] という宛先にメールを送れば
記事が添付されたメールが返信されてきます。)
どうすれば、文字化けを解消できるのか、何かヒントを頂ければ
幸いです。よろしくお願いします。
0722721
NGNG・ソースが公開されている
・自分でサーバを立てられる
・SSLで暗号化できる
だと思っています。
MS Messengerなどではチャットのメッセージが平文でネットワークを
流れるのがいやだなあと思っていたので、Jabberでメッセンジャー
環境を構築したいと思っているのです。
入力時の文字化けさえ解消すれば結構使えそうですので、ぜひとも
何か解決の糸口を頂ければと思います。情報お待ちしています。
0723685
NGNGメニューからの別ウィンドウの作成と開放もできるようになった…
チュートリアルのテキストエディタの作成で
"[Additional]ページにある ActionManager"が無いのは
1パーソナル版だから.
2.以前のバージョンにはあったが無くなった。ヘルプが直ってない
とかなんでしょうか?
それとも漏れが猛烈な勘違いしてるだけ?
先に進めませんので教えて下さい
07241パーソナル版だから.
NGNG0725デフォルトの名無しさん
NGNGパソナル無料版のインストール時に、でっかいダイアログ出して「アクソンマネージャーは
付いてないよーん!」ってやるとか…)
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG受け入れる文字列のサイズに制限はないのかな。
実際にはこのtextプロパティに大きな文字列を入れることはまずないと思うけど。
TTreeNodeのソースの以下のところをみたら問題になるような気がするが。
procedure TTreeNode.WriteData(Stream: TStream; Info: PNodeInfo);
var
I, Size, L, ItemCount: Integer;
begin
L := Length(Text);
if L > 255 then L := 255;
Size := SizeOf(TNodeInfo) + L - 255;
Info^.Text := Text;
Info^.ImageIndex := ImageIndex;
Info^.SelectedIndex := SelectedIndex;
Info^.OverlayIndex := OverlayIndex;
Info^.StateIndex := StateIndex;
Info^.Data := Data;
ItemCount := Count;
Info^.Count := ItemCount;
Stream.WriteBuffer(Size, SizeOf(Size));
Stream.WriteBuffer(Info^, Size);
for I := 0 to ItemCount - 1 do Item[I].WriteData(Stream, Info);
end;
0728デフォルトの名無しさん
NGNG自分で、でかいサイズを入れて見れば分かると思うがどうか?
0729デフォルトの名無しさん
NGNGソースを無断で公表してはいけません
Borland に許諾を得ましたか?
(宣言部はタダだけど、実装部は....)
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG0732Delフサギコ ◆zE1iiRdQ
NGNG/
| バグ議論しようとしているのに
| 「ソース晒しダメ。人間失格」
| ってな応答は、ちょっとカワうそうでは?
\_ ____________
|/
∧,,∧
ミ,,゚Д゚ミy━~~
U ミ
〜ミ ミ
U''U
多めに見ない?
それにしても、なんで
Size := SizeOf(TNodeInfo) + L - 255;
こんな事してるんでしょうか?
-255
って記述は必要ないような機がするんですが
違うのかしら。
0733721
NGNG設定して再ビルドすることで文字化け問題は解決しました。
これで日本語も普通に入力できるようになって嬉しいです。やったー!
0734デフォルトの名無しさん
NGNGで捕らえる事が出来ません。どのようにすれば可能でしょうか?
uses
Classes;
type
TKusoThread = class(TThread)
public
constructor Create(CreateSuspend: Boolean);
destructor Destroy; override;
procedure Execute; override;
procedure Hoge;
end;
implementation
uses
SysUtils, Dialogs;
constructor TKusoThread.Create(CreateSuspend: Boolean);
begin
inherited Create(CreateSuspend);
end;
destructor TKusoThread.Destroy;
begin
inherited Destroy;
end;
procedure TKusoThread.Execute;
begin
Exception.Create('Aborn');
end;
procedure TKusoThread.Hoge;
begin
try
Resume;
WaitFor;
ShowMessage('mazu-');
except
ShowMessage('uma-');
end;
end;
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNGそれはHogeとは別のプロセスでExecuteは実行されているのでExecuteで
生じた例外をHogeで捕らえる事はできないという事ですか?
0738デフォルトの名無しさん
NGNG734のHogeでは、どこにも"別プロセスで実行している"
他のインスタンスを参照してないので無理。
スレッドの管理をスレッドで行う事は可能だが、
同一クラスにその両者を押し込める設計は関心しない。
別のThreadクラスなりメインスレッドで処理したほうが良い。
0739738
NGNGprocedure TKusoThread.Execute;
begin
try
ReturnValue:= 0;
raise Exception.Create('Aborn');
except
ReturnValue:= 1;
end;
end;
procedure TKusoThread.Hoge;
begin
Resume;
if WaitFor = 0 then
ShowMessage('mazu-')
else
ShowMessage('uma-');
end;
--- 呼出元
procedure TForm1.Button1Click(Sender: TObject);
begin
with TKusoThread.Create(True) do begin
Hoge;
Free;
end;
end;
0740734
NGNG分かりにくい質問ですいません。
type
TKusoThread = class(TThread)
public
constructor Create(CreateSuspend: Boolean);
destructor Destroy; override;
procedure Execute; override;
end;
TKuso = class(TObject)
public
constructor Create;
destructor Destroy; override;
procedure Hoge;
end;
0741734
NGNGuses
SysUtils, Dialogs;
constructor TKusoThread.Create(CreateSuspend: Boolean);
begin
inherited Create(CreateSuspend);
end;
destructor TKusoThread.Destroy;
begin
inherited Destroy;
end;
procedure TKusoThread.Execute;
begin
Exception.Create('Aborn');
end;
constructor TKuso.Create;
begin
inherited Create;
end;
destructor TKuso.Destroy;
begin
inherited Destroy;
end;
procedure TKuso.Hoge;
var
Thread1: TKusoThread;
begin
Thread1 := TKusoThread.Create(True);
try
Thread1.Resume;
Thread1.WaitFor;
ShowMessage('mazu-');
except
ShowMessage('uma-');
end;
Thread1.Free;
end;
メインスレッドからTKusoのHogeを呼び出したとします。TKusoThreadが生成して
実行され、WaitForの地点で別プロセスで実行されてるTKusoThreadのExecuteが
呼び出されます。'aborn'の例外がメインスレッドとは違うTKusoThreadのスレッ
ドで生じるのですが、この例外はメインスレッドには伝達されないのでHoge内の
tryで捕らえられず、ShowMessage('mazu-')が実行されてしまいます。そのため
どうにかしてこの例外をHoge内で捕らえ、ShowMessage('uma-')を実行する事が
できないかという事なのです。
以上で分かりましたでしょうか。スレッドを用いたprogrammingは初めてなので
とんでもない間違いをしてるかも知れません。
0742738
NGNGなってるが質問の意図がわからなくちゃ答えようもないわな
0743738
NGNGで。妙に例外に拘けど、739のようにReturnValue使っちゃ駄目なの?
0744734
NGNGそうですか。それでは、
並列に実行されているスレッドがあり、そのうちの1つのスレッドで例外が
生じた。この例外を他のスレッドへ伝達したいがどうすればよいか。
でどうでしょうか?
0745734
NGNG指摘されている様に、関数の返し値を使用して解決する事はできます。しか
し、例外処理を途中で関数での処理に変えてしまうのは好ましくないと思う
のです。ですので、例外を直接別のスレッドへ伝える方法はないかと聞いて
みたのですが。まあ、無ければ無いで諦めるのですけど。
0746デフォルトの名無しさん
NGNG発生した例外をスレッドAで検知したいってこと?
0748デフォルトの名無しさん
NGNG作り方を教えてください。
0749デフォルトの名無しさん
NGNG0750738
NGNGで、期待したのとは違うだろうが、こんなのはどうか。
type
TKusoThread = class(TThread)
public
FThreadException: Exception; //ホントはprivateとかに
FOnException: TExceptionEvent; //ホントはproperty化
procedure Execute; override;
procedure OnException;
end;
implementation
procedure TKusoThread.Execute;
begin
try
FThreadException:= nil;
raise Exception.Create('Aborn');
except
on e: Exception do
begin
FThreadException:= e;
Synchronize(OnException);
end;
end;
end;
procedure TKusoThread.OnException;
begin
if Assigned(FOnException) then
FOnException(Self, FThreadException);
end;
--- 呼出し側(手抜きでFormに記述したがThreadでも可能な筈)
procedure TForm1.Button1Click(Sender: TObject);
begin
with TKusoThread.Create(True) do
begin
FOnException:= ThreadException;
FreeOnTerminate:= True; // WaitForは使えない
Resume;
end;
end;
procedure TForm1.ThreadException(Sender: TObject; E: Exception);
begin
ShowMessage('uma-');
end;
0751デフォルトの名無しさん
NGNG1.シリアルジェネレーターを作成する
2.Del CDを複製コピーする
3.アキバの裏通りで売る。
なお、当方は一切関知しない。
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNGRTLってランタイムライブラリィ?なんじゃらほい。
0754デフォルトの名無しさん
NGNG| デッドロックが発生するという Delphi 6 での問題が解決されます。
って事らしいです。
\lib\SysUtils.dcu
\lib\Xmlxform.dcu
\lib\debug\SysUtils.dcu
\lib\debug\Xmlxform.dcu
\MergeModules\BaseRTL.Msm
\source\Rtl\Sys\SysUtils.pas
\Windows\System32\rtl60.bpl
\Windows\System32\rtl60.map
が中身みたいなんで、当てといた方がよさげ。
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNGアップデートパック#2入れてあるのに、RTLインストールしようとしたら
英語で「アップデートパック#2が見つかりません。先にインストールして
下さい。」と出やがった。
でも無理矢理強行インストールしたら、うまくいったみたい。バグなのか?
0758素人
NGNG0759デフォルトの名無しさん
NGNGヘルプ漁ってみたがサパーリ解らん。
0760759
NGNG254.68というWideString型文字列があったとして、ここから254という数値型を取りたいのですが。
0762デフォルトの名無しさん
NGNGそれよりUP3はでるのかな?Delphi7になるのかな?
0763デフォルトの名無しさん
NGNGStrToFloatとかStrToInt使うべし。
0765ド素人
NGNG「一般保護違反」っていうエラーが出て印刷できません。
なぜこうなったのか自分ではわからないので
わかる方、教えてください。
ホント厨房でスマソ
0766デフォルトの名無しさん
NGNG1.作ったプログラムの実行画面キャプ印刷
2.〃 ソース印刷
3.〃 ダンプ印刷
4.電波
さて、どれでせう?
0767ド素人
NGNGレスありがとうございます。
2のことです。
0768デフォルトの名無しさん
NGNG2だと、ちょっと回答は無理です。どんなスーパープログラマーでも。
100%正しい答えは出せる人はいないでしょう。なんつったって、
あなたのPCの問題だから。
常駐してるアプリケーションを外してみるとか、再起動するとか…。
がんがれ。つーか、delphi関係無い♥
0769追加
NGNGどんな物を印刷しようとしてもそーなるのかチェックするとか…
メモリ周りのチェックとか…
0770759
NGNGしかし、なんで小数点付いて返ってくるんだか‥‥>FlashのW/Hサイズ
0771734
NGNGレスが遅れてすいません。
スレッド自身に例外を伝達する別スレッドのmethodへのポインタを保持
させるのですね。TForm.ThreadExceptionでraise eと記述して例外を
再生成できれば望んでる事ができます。が、実際に実行してみると
runtime errorがでてうまくいきませんね。簡単には行きそうに無いの
で>>743で指摘されている様にReturnValueで処理する事にします。
レス有り難うございました。
0772デフォルトの名無しさん
NGNG発生してしまうんだけど。
1回でいいのよ。
情報きぼんぬ
Win2k + Del6.0Up2
0773デフォルトの名無しさん
NGNGというのも、Application.MessageBox関数で、
Application.MessageBox('…' + Integer型のデータをPCharにしたもの + '…' , …);
という風に使いたいのです。
よろしくお願いします。
0774デルファイの名無しさん
NGNGPChar(IntToStr(100))
でいけます。
0775デフォルトの名無しさん
NGNGTagプロパティに1回目は1を代入し、
2回目が来たらTagを調べてifではじき、
0を代入しておく。
0776デフォルトの名無しさん
NGNG( どうやって誘拐しようかなぁ〜。。
O ( 最近溜まってるからナぁ。
ο 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
。 そんな犯罪をしないで、http://fun.to/muke
___∧_∧__
( ・∀・)
――( )―┘、 マツデチ! キャッキャッ!!
‐――┐ ) )――┐ ≡≡∧,,∧ ≡≡∧ ∧
(__ノ__ノ . | ≡≡ミ,,>∀<ミ ≡≡(,,・∀・)
≡≡ミ_u,,uノ ≡≡ミ_u,,uノ
"~" """ ::: "~""~"
""" :::
0777名無しさん
NGNGどうすればいいか教えて欲しいっす。お願いしまっす。
0778デフォルトの名無しさん
NGNG0780名無しさん
NGNG0781デフォルトの名無しさん
NGNGDelphiに乗り換えを検討してます。
結論が云えば、JavaよりC#よりDelphiが私には一番マッチしています!
なぜこんなに素晴らしい言語が広まっていないのかイマイチ理解できませんが、
VCLって凄いですね、マジで関心しました。
早速Pro版を購入しようかと思っていますが、Delphi7まで待ってから購入した方が
得なのでしょうか?それとも、今の時期にDelphi6を購入して例えば6ヶ月以内に
Delphi7が発売されたら無償アップグレードとか特別割引とかあるのでしょうか?
今まで買った事がないのでアップグレードに関してイマイチ仕組みが分りません
教えてください。
0782デフォルトの名無しさん
NGNG>VCLって凄いですね、マジで関心しました。
これがわかってて.NetFrameworkが使いこなせない理由がさっぱりわからない。
お前は言語覚える努力したくなだけちゃうんかと問いたい。問いつめたい。
0783デフォルトの名無しさん
NGNG帰れ!
C#をDelスレに持ち込むな!
=============以後、C#話は他のスレでどうぞ=============
0784デフォルトの名無しさん
NGNGところで、Delphi7っていつでるのかな。
0785デフォルトの名無しさん
NGNG暗号化した「WindowsのプロダクトID」を埋め込んで
他のパソコンにコピーしても起動できないようにしようとしています。
データの結合には成功したようなのですが(EXEファイルのサイズが大きくなったので)
そのEXEファイルに埋め込んだデータが何度読み出しても
'ZP'としか出てきません。
読み出し側のプログラムが間違っているのでしょうか?
わかる方がいましたら是非ご教授お願いします。
procedure TForm1.Write1Click(Sender: TObject);
var
Password: shortstring;
FromFile,
OutFile: TFileStream;
AddData: TMemoryStream;
begin
//出力先EXEファイルを作成
OutFile := TFileStream.Create('C:\Test\New.exe',fmCreate);
//結合元EXEファイルを開く
FromFile := TFileStream.Create('C:\Test\Test.exe',fmOpenRead or fmShareDenyWrite);
//〜レジストリ関係省略〜
//結合用データ作成
AddData := TMemoryStream.Create;
PassWord := 'テスト';
AddData.Write(Password, Sizeof(Password));
//結合
OutFile.CopyFrom(FromFile, 0);
OutFile.CopyFrom(AddData, 0);
FromFile.Free;
OutFile.Free;
AddData.Free;
end;
procedure TForm1.Read1Click(Sender: TObject);
var
Password: shortstring;
Exe:TFileStream;
begin
Exe:=TFileStream.Create(Application.ExeName, fmOpenRead or fmShareDenyWrite);
Exe.Seek(Sizeof(Exe)-sizeof(shortstring), 0);
Exe.ReadBuffer(Password, Sizeof(shortstring));
Exe.Free;
end;
0786デフォルトの名無しさん
NGNGナニシテルンダロ コレ
0787デフォルトの名無しさん
NGNGテユーカ カキコメテルカカクニンシロヨ
0788Delphi好き ◆0YAPhEjk
NGNGううむ。あなた、重大なミスをおかしております。
ためしに、Read1Clickイベントの中で、
MessageBox(0,pchar('Exeのサイズ:'+inttostr(SizeOf(Exe))),'確認',mb_ok);
を実行してみましょう。
実験してわかると思いますが、Sizeof(Exe)はファイルのサイズではなく、Exeオブ
ジェクトへのポインタのサイズを返します。(32bit環境では常に4)
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGどうもありがとうございました!
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG一致しなかった場合には処理をさせたいのですが、
・何もしない
もしくは
・何もしないで処理を継続する
というような命令はあるのでしょうか?
フォームのボタンが押下された場合の動作です
0793Delphi好き ◆0YAPhEjk
NGNGif not(今までの条件) then begin
...
end;
ではダメなのでしょうか。
あるいは、
if (条件) then begin end else begin
処理
end;
のようにbegin endの間に何もかかないのもありですけど…。
0794デフォルトの名無しさん
NGNGご返答ありがとうございます
not を使用したくなかったのですが
begin end の間に何も書かないのもアレですよね(w
そのような命令があるのであれば この機会に知りたいと思うのですが。。。
ループ文の場合だと continue があるようですが
これに匹敵するような命令は ないのでしょうか?
単なる興味ではありますが ちょっと疑問を解き明かしたい。。。
0795デフォルトの名無しさん
NGNG0796Delphi好き ◆0YAPhEjk
NGNG私もちょっと聞いたことがないですねぇ。お役に立てずに申し訳ないです。
でも、notを使いたくないっていう理由を知りたいですなぁ。差し支えなければ…?
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNGないですか
ありがとうございます
理由としては んー。。。
なんか言い訳してるみたいなコードな気がして(w
go文のような
好みの問題なだけです
お付き合いいただいてありがとうございます
0799Delphi好き ◆0YAPhEjk
NGNG今気づいたんですが、お勧めしませんけど、もしどーしてもやりたければ、
repeat
if (条件文) then
break
else
実行したい命令
until true;
でどうでしょう。動くかなぁ。
ま、面倒なので私なら多分おそらく思うに絶対notを使いますけど。
他にいい方法があれば…ナァ。
0800デフォルトの名無しさん
NGNGこれ おもしろいですね
でも やはり素直にnotを使うのがセオリーでしょうか
いくら好みでも やはり(w
0801Delphi好き ◆0YAPhEjk
NGNGそうですねぇ。
個人的には、continueやbreakみたいなのは好きではないですね。
うまく使えばすっきりするんですけど、多用するとソースを追いにくくなったりしま
せん?
私、使ったことないんですけど…。みなさん、結構使ってるのかなぁ。
0802でもどり初心者
NGNGあらかじめいっておきます。ネタです(w
if (条件) then
Flag:=False
else
Flag:=True;
if Flag then
begin
処理
end;
0804Delphi好き ◆0YAPhEjk
NGNGif true then else 処理;
はコンパイラを通りますね。(then,else間のbegin endは要らない)
でも、さすがに
if true else 処理;
とすると、怒られますた。
0807デフォルトの名無しさん
NGNGむ。
これわかんないです(w
0808Delphi好き ◆0YAPhEjk
NGNGordは順序型のインデックスを返します。
条件式の結果が論理型(Boolean)であればTrueが1、Falseが0に対応します。ので、
1-ord(True)が1-1で0。1-ord(False)が1-0で1になって、True、Falseのインデック
スが逆転しますので、それをBoolean型にキャストすると、「not 条件式」と同じ結果
になります。(なら、そう書けよ・・・と。)
0809781
NGNG>>783 うるさいよオマエ、C#の質問なんてしてねーんだよ、氏ね
結局誰もアドバイスくれないので、VCLのソース欲しさに今日Delphi6proを注文した。
Delphiは素晴らしいけど、Delphi使いはこんな奴等ばっかりなのか?
なんかガッカリしたよ、もーいいです、さような。
0810面白くないネ>>809
NGNG0811デフォルトの名無しさん
NGNGでも、嘘だよばーかDel厨死ねといわれるのが怖いんだ・・・・・・。
0812StringGridを共有イベントで
NGNGW := StringGrid1.Canvas.TextWidth(StringGrid1.Cells[ACol, ARow]);
というコードが途中にあるんですが、これをStringGrid1とStringGrid2の共有
イベントとして利用するのに、
with TComponent(sender)
begin
〜
W := Canvas.TextWidth(Cells[ACol, ARow]);
〜
end;
とすると、[エラー]未定義の識別子 : 'cells'と怒られます。
W := TComponent(sender).Canvas.TextWidth(TComponent(sender).Cells[ACol, ARow]);
としても、うまくいきまっしぇん。
誰か、HELP!お願いします。
0813デフォルトの名無しさん
NGNGTComponent(sender) → Sender as TStringGrid
0814StringGridを共有イベントで
NGNG動作確認しました。
ところでwith文を利用しない、後半の書き方では、「無理」という事でよろしい
でしょうか?
P.S. Delphi歴まだ1か月です。VBは長かったんですが…
0815デフォルトの名無しさん
NGNGW := TStringGrid(sender).Canvas.TextWidth(TStringGrid(sender).Cells[ACol, ARow]);
0816StringGridを共有イベントで
NGNGwith TStringGrid(sender) do
でOKですね。(あっ!今812みたら、doが抜けてた!!)
汎用的にはTComponentを使うって書いてあったから、これを使えば全てOKと
思ってました。(Buttonは、TComponentを使ってOKだったので…)
TComponentが使えないものもあるんですね…(しらんかった)
m(_ _)m
0817 ◆tare/k3c
NGNGそうかい?continueは便利だよ。
仕事でVBA使ってるけど、continueが無いので泣いてるよ…
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG同じジャンプ命令になりそうな気がするんだが、、、
自分はnot使う方が自然だと思う。
0822Delphi好き ◆0YAPhEjk
NGNGできるだけ使わないようにしてますねぇ。
この辺も好みの問題になっちゃうのかな?
さすがに、数百行の手続き・関数になると上部で処理を行うかどうか判断するときに
exitを使わないとインデントばっか多くなって見難くなりますので、そういう時は
使用しますねー。…もしかして少数派?
0823Delphi好き ◆0YAPhEjk
NGNGところで、どーしても気になるんですけど、go文ってなんです?Del5なんですけど
Help見てもでてこないし…。MSDNでも、Goはあったけれど、なんか違うよーな感じ
ですし…。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826Delphi好き ◆0YAPhEjk
NGNG同意します。
まぁ、>794さんみたいな方もいらっしゃるんじゃないですかね〜。
notを使うのは論理演算上普通のことなんで、if (条件) then 〜 else 〜;が条
件演算後の論理値を元に分岐する処理っていう風に覚えていればいいですけど、そ
うじゃなく、「もし〜ならば」の覚え方をしている人にとっては、notをつけると言
い訳コードに見えてしまうのかもなぁ。…私は、そうは思いませんケド。
ま、not使ったほうがイイよってことで。
0827デフォルトの名無しさん
NGNGdosコマンドを実行して、そのコマンドが吐き出すメッセージを受け取るには、リダイレクション以外になんか方法はないでしょうか?
0830TeamB/2ch ◆SE69s0c2
NGNGcommand.com のリダイレクトがやっていることを行えばよいでしょう。
http://www.nifty.ne.jp/forum/fdelphi/samples/01397.html
を参考に。
0831デフォルトの名無しさん
NGNGよく使うようになったな。
try
if foo then
exit
...
finally
... <- 常に実行される
end;
continueはインデントが低くなる=ブロックが減るようなケースで良く使う
while foo do
begin
if bar then
...
end
end;
↓
while foo do
begin
if not bar then
continue;
...
end;
0832デフォルトの名無しさん
NGNGメニュー以外のところがクリックされてメニューが消える
ことを関知するにはどうすればいいでしょうか?
クリックされて消えるのは OnClick にイベントを設置すればいいようなのですが
0834827=833
NGNGdosコマンドはCreateProcessの第1引数(アプリ名)ではなく第2引数(コマンドライソ)に渡さなきゃいかんようです。
0836827
NGNG>>830の方法で、dosコマンド終了後に吐き出された文字列を取れますが、
実行途中に出ている文字列は取れないでしょうか。
たとえば、pingコマンドだと4回実行する際に間がありますが、それをその間に1行づつ取り出す…とか、
あとはformatコマンドなどでは進行状況が%でリアルタイムに出力されますが、それを同時に取り出せないか…
というかんじです。
コマンドの終了待ち中にlabelのcaption等に常に書き込むようにしても、うまくいきませんでした。
(コマンドが終了するまで何も表示されない)
0837デフォルトの名無しさん
NGNG質問です
コントロール上にマウスカーソルが入ってきたときと
出て行ったときをイベントで拾えるでしょうか?
OnMouseMove
ではなんだか違う気がしますし。。。
ImageコントロールをWebで見かけるボタンのような感じで
押下できる場合にはコントロール上にマウスカーソルがきた場合に
画像を変えて、コントロール上から離れた場合にまた画像を変える。。。
ということがやりたいのですが。。。
0838デフォルトの名無しさん
NGNGCM_MOUSELEAVEメッセージハンドラで処理する。
0839デフォルトの名無しさん
NGNGAPIですね?
ありがとうございます
初歩的な質問ですれよごし、申し訳ないです
助かりました
調べてみます
0840デフォルトの名無しさん
NGNG(゚o゚)<APIじゃないよー。メッセージ。調べるうちにわかるだろうけど一応。
(ー)ー
))
0841デフォルトの名無しさん
NGNGあら 違うんでふか。。。
なんでしょお
調べてきまぷ〜〜〜
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG動きが変わってくるんだよね、このメッセージ・・・
0844デフォルトの名無しさん
NGNGはげしく遅レスだが、IniFileにBool型を書き込む/読み込むのは
ReadBool、WriteBoolを使うと思うのだが・・・
0845837
NGNGこれにCM_MOUSELEAVEを追加する方法がわからないのです
privateにあるFMouseEnter:TNotifyEventの記述は何のためでしょうか?
unit UMyImage;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, ExtCtrls, Controls;
type
TMyImage = Class(TImage)
private
FMouseEnter: TNotifyEvent;
procedure CMMouseEnter(var Message: TMessage);message CM_MOUSEENTER;
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
published
property OnMouseEnter: TNotifyEvent Read FMouseEnter Write FMouseEnter;
end;
procedure Register;
implementation
constructor TMyImage.Create;
begin
inherited Create(AOwner);
end;
destructor TMyImage.Destroy;
begin
inherited;
end;
procedure TMyImage.CMMouseEnter;
begin
Inherited;
if Assigned(FMouseEnter) then FMouseEnter(Self);
end;
procedure Register;
begin
RegisterComponents('Gen',[TMyImage]);
end;
End.
0846デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG> これにCM_MOUSELEAVEを追加する方法がわからないのです
MouseEnterとまったく同じようにMouseLeave追加すればいい。
> privateにあるFMouseEnter:TNotifyEventの記述は何のためでしょうか?
OnMouseEnterイベントを追加するため。これもEnterをLeaveに変えて同じようにすればいい。
0849デフォルトの名無しさん
NGNG0850837
NGNG>>849
自分もそう思ったのですが、
type
TMyImage = Class(TImage)
private
FMouseEnter: TNotifyEvent;
FMouseLeave:TNotfyEvent;
procedure CMMouseEnter(var Message: TMessage);message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage);message CM_MOUSELEAVE;
と記述すると、FMおうせLeave:TNotfyEventで、
未定義の識別子のエラーがでてしまって。。。
0851デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGそのフォームが表示されたらメインフォームは背面に下がり、
すべてのイベントを受け取らないようにしたいのです
別のフォームの表示(TForm.Caption := True)とともに
メインフォームのEnabledをFalseにしたら、
ウィンドウのアクティブ化も防げると思っていました。。
しかも メインフォームに配置してあるコントロールが、
イベントを受け取る始末
お助けください
0854デフォルトの名無しさん
NGNGTForm.Caption := True;
は
TForm.Visible := True;
の間違いだとして....
メインフォームとサブフォームの間に親子関係を指定しないと、二つのフォームは
独立して動いてしまいます。VCL のオブジェクトをどこで作成するかということと
Windows のウィンドウの所有者、および親子関係はそれぞれ独立して定義できます。
0855デフォルトの名無しさん
NGNGこんな時間にありがとうございます
フォームの親子関係の設定の仕方がわかっていないのですね>自分
親子関係の設定(もしくは定義)はどのようにするのが定石なのでしょうか?
オブジェクトインスペクタのみでおこなうものなのでしょうか?
0856デフォルトの名無しさん
NGNGいちばん簡単なのは,
メインフォーム Form1 で サブフォーム Form2 を
Form2.ShowModal;
と呼び出す方法。
0857デフォルトの名無しさん
NGNGそうですか
ちょっと調べてみます
ありがとうございます(^^)
0858デフォルトの名無しさん
NGNGundoをさせたいのですがどうしたらいいでしょう?
メッセージ??とか使うみたいですが、そうゆうのは
専門書とか買わないとだめですかね。
0859Delphi好き ◆0YAPhEjk
NGNGPro以上ならWin32プログラマーズリファレンス等のヘルプを見れば如何でしょう。
Del6Personalにはついてませんね。
あるいはMSDNとか。
0860Delphi好き ◆0YAPhEjk
NGNGWin32Referenceを持ってないなら、どうやら以下のページから
「Windows API documentation」
がダウンロードできるようです。英語版でしょうけど。
ttp://www.cs.virginia.edu/~lcc-win32/
0861デルファイの名無しさん
NGNG0862デフォルトの名無しさん
NGNGオフラインインストール用(ただし、340MB)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdownload/platformsdk/sdkupdate/psdk-full.htm
オンラインインストール用(CoreSDKのみの場合、200MB)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/update.htm
0863デフォルトの名無しさん
NGNGPersonalにもついてるぞ。適当なこと書くな。
0864デフォルトの名無しさん
NGNGフリーのコンポーネントを使う場合に、コンポーネントのインストールで
パッケージにコンポーネントをインストールしますよね。
この場合、「既存のパッケージへの追加」と「新規パッケージへの追加」って
選べるじゃないですか。
この選択の基準てどういう風に考えればいいのでしょう。
自分はすべてデフォルトのパッケージに追加してしまうぞ!
って言う人は、いつも「既存のパッケージへの追加」を選べばいいんでしょうか。
ある人は、追加するコンポーネントは新規パッケージを作ってそこにすべて入れるとか
人によって、やり方が違うんでしょうか。
それと、パッケージに追加した場合に、コンポーネントのパスが
追加されますよね。
コンポーネントを几帳面にフォルダー毎に分けておくと、コンポーネントを
追加するたびにこのパスが長くなってしまいますが、Delphi3あたりには
バグが有って256文字以上のパスになると正しくコンポーネントを
検索できないような話も聞きました。
これを防ぐためには、追加コンポーネントはすべて一つのフォルダーに
ぶち込んでしまえばいいのかも知れませんが、後でどのファイルが
どのコンポーネントの物か判らなくなりますよね。
皆さんはこの辺はどうしているんでしょうか?
0865デフォルトの名無しさん
NGNG>自分はすべてデフォルトのパッケージに追加してしまうぞ!
>って言う人は、いつも「既存のパッケージへの追加」を選べばいいんでしょうか。
>ある人は、追加するコンポーネントは新規パッケージを作ってそこにすべて入れるとか
>人によって、やり方が違うんでしょうか。
そうです。
>これを防ぐためには、追加コンポーネントはすべて一つのフォルダーに
>ぶち込んでしまえばいいのかも知れませんが、
そうです。
>後でどのファイルがどのコンポーネントの物か判らなくなりますよね。
そんなことありません。コードエディタから開けるし、uses に追加された
名前からすぐ分かるでしょ。
0866デフォルトの名無しさん
NGNGコンポーネントをコンパイルした結果できるのが .dcu ファイルだったかな。
これだけを特定のフォルダへまとめてパスを通しておけばいいのじゃない?
0867858
NGNG皆さん、サンクスっ!
私お絵描きしてるんですが、頻繁にundoするので
ショートカットキーすらめんどくさい状態です。(w
>>863
そうだったんですか。text検索したけどダメなんで、
てっきり無いと思ってしました。でも、859さんの
意見は私にとって適当なことではなかったですよー。
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG普通にインストールすれば、
C:\Program Files\Common Files\Borland Shared\MSHelp
に入ってるはず。
0870デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/bookinfo/delphi.html
0871デフォルトの名無しさん
NGNG多いほうが安心?
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG>無料のPersonalで作ったアプリってシェアウェアにしてもいいの?
僕にも、これ教えて下さい
0874デフォルトの名無しさん
NGNGそりは、ダメっしょ。
0875デフォルトの名無しさん
NGNGそもそもシェアウェアというのはだな、
作者のソフトウェア開発に置ける経済的(略
0876デフォルトの名無しさん
NGNG公開できるのはGPLライクなライセンス
ソース付きで無料で公開するソフトのみなんじゃなかったっけ?
まぁ、PersonalでDelphiが使えるようになったら、
お金貯めてpro買ってください、VCLのソースも付いてますし、
コンポーネントとか作るようになればpro以上じゃないと辛いでしょ。
0877デフォルトの名無しさん
NGNG0878Delphi好き ◆0YAPhEjk
NGNGぐぉ。すんません。気づきませんでした。
Del5Proをメインで使っているんですが、こっちにはプログラムメニューからたどって
いくと見つかるでしょう?Del6Personalは無かったから無いと思ってたのです。
失礼。
0879TeamB/2ch ◆SE69s0c2
NGNGGPL 縛りは Kylix Open ですね。
Delphi Personal で作成されたアプリに対する GPL の適用は
要求されません。
もちろんプログラマが GPL にしたければそのように宣言できます。
GPL とは独立して、Borland が要求している条件があって、それは
お客様は、直接的にも、間接的にも、お客様のアプリケーションプログラムの配布
または使用についていかなる報酬も受け取ってはなりません。
(ttp://www.borland.co.jp/delphi/del6/license.txt)
というものです。立場によっては GPL より厳しい。
0880デフォルトの名無しさん
NGNG強制フリーソフトってことっすか。
まぁ、無料開発環境なんだからねぇ。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGつぅか仕事に使うなと。まぁ、日曜プログラマ捨てたんだからそっちから金取るしかないわな。
0883デフォルトの名無しさん
NGNG速攻でPro版買って、リリースする。
そして、寄付をもらう。
0884デフォルトの名無しさん
NGNG出来上がるバイナリが微妙に違うのかねぇ?
0886TeamB/2ch ◆SE69s0c2
NGNG最適化等のコード生成は同一です。生成されるユニットも同一。
リンカーが .EXE を作るときに印をつけるようです。
結果として出来上がるバイナリは異なります。
0887デフォルトの名無しさん
NGNGCtrl+クリック とか Shift+クリックっていうのの区別はどうかくのが正解ですか?
OnClickで分けようとして悩んでしまいました。FAQだろうと思って調べてみても
よくわかりません。
0888無責任だが
NGNG普通はボタンを CtrlやShiftで区別したりはしないものです
GetKeyState を使えば、シフト状態はわかりますが、
OnClickは実際には離された時に呼ばれますから、注意が必要です
0889デフォルトの名無しさん
NGNG教えてください。
adoq.Parameters.ParamByName('hoge').value := '%' + txthoge + '%';
としても、%をワイルドカードとして認識してもらえず、文字列扱いされてしまいます。
よろしくお願いします。
0890デフォルトの名無しさん
NGNGたとえばlistboxのadditemメソッドとかで、
第2引数にオブジェクトを指定するようになってますが、
何のオブジェクトを指定したらいいんでしょうか?
ヘルプを見ても、いまいち要領を得ません・・・
0891Delphi好き ◆0YAPhEjk
NGNG単に文字列リストとして使用するだけならnilを指定すれば良いのでは。
あるいは、additemのかわりにItems.Add(...)を使うと良いかと。
0893Delphi好き ◆0YAPhEjk
NGNGリストボックスと関連付けて特定のオブジェクト、コンポーネントを動作させたいときに
使ったり、場合によってはTObject型に整数型、ポインタ型を格納できますので、様様な
データを関連付けできますよ。
私も現在、色を保存させてカラー選択リストなんかに使ったりしてます。
変な使い方ですけどね。
ま、人それぞれでなんでもアリってことで。
0894890
NGNG…っと、疑問はきりがなく出てきますが、おいおい調べていくことにします。
ありがとうございました。
0895Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ /クラスを自作って
ミ,,゚Д゚彡 < それを格納しておくのが便利なんだな。
U つ \
@ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪''∪
0896出る厨
NGNGインストールされているか調べてもしインストールされてなければ、
表示しない、ロードされないようには出来ますでしょうか?
おながいします。
0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNGフォームに貼り付けずに動的に生成させれば初期化でエラーが返るだろうから、それで判断すれば?
0899デフォルトの名無しさん
NGNG0900出る厨
NGNGありがとうございました。先生、こんな感じで
だいぞうぶでしょうか?
try
Ctl := TCtl.CreateParented(Form1.Handle);
except
HandleErr;
end;
0901Delフサギコ ◆zE1iiRdQ
NGNG∧ ∧ /
(*゚Д゚) < Nineです>>899
( つ⊂) \_______
@| ,.|,.,
(ヾ''"_, _,."彡.
彡,,,,,o,...o,,..ヾ 脱ぎ脱ぎしますた
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGハンガリアンは使われてないにしても。
0904デフォルトの名無しさん
NGNGDelphiモナーもどこか行ってしまったし、相談室と区別するために
「Delphi *初心者* 相談室」に改名する案を出したいのですが。
タイトルを残すなら、1に初心者用と分かるメッセージを入れるとか。
0905デフォルトの名無しさん
NGNG初心者→「Delphi *初心者* 相談室」
通常→「Delphi相談室」
雑談→「フサギコのフサフサDelphi談話室」
に明確に分かれると思います。
煽り結構。ご意見求めます。
0906デフォルトの名無しさん
NGNG1本に絞れ。
0907デフォルトの名無しさん
NGNG着てたのかYO!
0908デフォルトの名無しさん
NGNGフサフサの毛がサラサラの毛になるんだ。
で、毛を刈っておくと生え替わりがスムーズに行われるってわけ。
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG初心者、通常&雑談で2つに一票。
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG相談室を破棄して2つにするのが良いかと
0914デフォルトの名無しさん
NGNG確かに3つは必要なさげ。
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGオブジェクトが見つかりませんとか、メモリーが足りませんとかのエラーになってしまいます。
この、テキスト→DBへのインポート作業を行ってくれる、もしくは、テキストを分析してスキーマファイルを作成してくれるヘルパーアプリはありませんか?
0921デフォルトの名無しさん
NGNGしーっ
0922デフォルトの名無しさん
NGNG% じゃなしと * じゃないのけ
0923デフォルトの名無しさん
NGNGでも立てちゃう人がいそうだが…
どうしても立てたい人は、自らがDelphiモナーを引き受けてくださいね。
0924デフォルトの名無しさん
NGNGOnMouseDown で Shift 状態を保存しておいて、OnClick で参照するとよいでしょう。
var
SS:TShiftState;
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
SS := Shift;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
case (Byte(SS) and $7) of
0: s := 'None';
1: s := 'Shift';
4: s := 'Ctrl';
5: s := 'Shift+Ctrl';
end;
ShowMessage(s);
end;
0925デフォルトの名無しさん
NGNGで、書籍を探しています。 プログラミング自体、全くの初心者なんで「変数」「関数」とかの
概念から書いてるような本で何かオススメなのはないでしょうか?
0926デフォルトの名無しさん
NGNG公式サイトで紹介してる関連書籍(最新順)
http://www.borland.co.jp/bookinfo/delphi.html
0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG悪いことは言わんから、最初はC#かJavaからはじめた方が良いよ。
言語的にも比較的近いし、参考資料(特に入門書)の充実度がまるで違う。
Delphiは、ビジュアル化されすぎていたり、「よくわかんないけど動く」
部分がかなりあってプログラミングを基礎から学ぶにはやや不適な部分も
あるからね。
0929887
NGNGあ、ありがとうございます。そっかーMouseDownってこう使えばいいんですね。
勉強になりました。
0930デフォルトの名無しさん
NGNG今年の冬にDelphi7だけ出て、Delphi.NETは別製品で来年冬のリリース予定・・・。
0931デフォルトの名無しさん
NGNG日経BPから出てる「カンタン!Delphiプログラミング」なんかいいかもしれませんね。
http://software.nikkeibp.co.jp/software/backno/02delmook2.html
3月か4月くらいに出て、かつムックなので、本屋さんでは売り切れてるかもしれないけど。。。
0932デフォルトの名無しさん
NGNGいや、逆に今となってはどれでやっても同じだと思われる、
Delphiだと無償で環境が手に入るのでその意味ではお薦めでいいんじゃないの?
僕もDelphiで勉強したおかげで、C#も苦も無く理解できたし今でもDelphi使って
ますよ、ソフトを作って配布しようとしたら Delphiの方が楽みたいだから。
0933デフォルトの名無しさん
NGNGってのは C# も Java も同じだな。
「動かない理由がよくわかんない」
ってなりがちなのも同じ。
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGC# 仲良し Delphi Round 2
http://pc.2ch.net/test/read.cgi/tech/1022662451/
に
0936デフォルトの名無しさん
NGNG荒された時とか双方が退避場所になってたりして良かったのだがね
0937デフォルトの名無しさん
NGNG新しいコンポーネントの情報とか。
0939デフォルトの名無しさん
NGNG変数って何?レベルなら、コンソールアプリケーションから入るのがいいかもねー
Pascal・Delphi入門:オンライン学習ページ
http://or-lab.asahi-u.ac.jp/intro_to_delphi/default.htm
flow of water プログラミング講座
http://isweb21.infoseek.co.jp/computer/wblue/prog/chair_top.htm
クジラ飛行机 ゼロから始めるDelphi講座
http://www.text2music.com/mine/delphi/index.html
0940デフォルトの名無しさん
NGNG> クジラ飛行机 ゼロから始めるDelphi講座
お前は中国人か?w
0941デフォルトの名無しさん
NGNGKylixでプログラミングしているのですが、
何を使えばいいのか分からないです
0942デフォルトの名無しさん
NGNGfopen
fread
fwrite
fclose
0943デフォルトの名無しさん
NGNGこれはどのようにつかうのですか?
C言語のようですけど(ちょっと調べてみました)
0944デフォルトの名無しさん
NGNGTFileStream
0945デフォルトの名無しさん
NGNGaviのファイル形式を知らないでも読みとれるのですか?
0946デフォルトの名無しさん
NGNGUNIXではAVIのファイル形式を知らないとどうがんばっても無理。
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNGぴゅう太とか、ファミリーベーシックとか…)
0949デフォルトの名無しさん
NGNG俺はKylixでWinAPIを使ってaviをbmpに変える方が地獄だと思われ。
0951919
NGNGこんな簡単なことにどうして気付かなかったんだろう。
ありがとうございますた。
0952デフォルトの名無しさん
NGNGJavaそのものがウンコというのは常識
最近、webはウンコを練り上げて作るのが流行ってるらしいですね
0953デフォルトの名無しさん
NGNGつぅか洒落を解して下さい。
0954Excelを起動
NGNGExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Add(F_Pass +'aaa.xls',0));
とすると、なぜかファイル名に「1」がついたものが開かれます。(aaa1.xlsになる)
なぜ1がつくのでしょうか??? aaa.xlsとして、Connectしたいのですが…
0955デフォルトの名無しさん
NGNGあっちでウンコウンコ言ってたのお前か。
Javaできないからってひがむなよ。
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNGひとくちにAVIといっても、それはRIFF形式のファイルです。
RIFFは拡張性が高く、それを利用して(DivXやMPEG4V3やら)複数の
動画フォーマットがAVIという拡張子で保存されています。
Windowsではその ”複数の動画フォーマット”を管理するために
各フォーマット毎のCODECを持っており、実質はこのCODECが
動画のデータをBMPに変換しています
Kylixにはそれがない(?)ため、自前で変換しなければならず、
MPEG等の公開されたフォーマットでない場合は、内部構造を
解析するところから着手する必要があります。
皆が"茨の道"といってるのはそういうことです。おわかり?
0958デフォルトの名無しさん
NGNG0959957
NGNGおぉ、avifile というのがあるのか(恥
ということで、WindowsのCODEC をラップするavifileがあるので
このライブラリを叩けば内部構造の解析からは逃れられる、らしい。
0960デフォルトの名無しさん
NGNGDebianでしょうか
0961デフォルトの名無しさん
NGNG中国では
幾→几
機→机
となります。だから
「テレビは電視机だ〜!ツクエなんだ〜!!」
と言ってる香具師はアフォです。くじら飛行机も当然アフォです。
だって、ひまわり・・・
0963デフォルトの名無しさん
NGNG中国ではってより簡体字ではでしょ、本来の書き方は中国でも機ですが、
略して机としているだけです、台湾では簡体字は使いませんので機ですね。
0964デフォルトの名無しさん
NGNGお前ら全員スレ違い
可以逝去!
0965デフォルトの名無しさん
NGNGスレ違い続きでスマソ
0966デフォルトの名無しさん
NGNG( ´∀`)イ尓 也 是!
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG本のとおりDeleteMenuなるWinAPIをprocedureに書きました。
usesに宣言する方法がわかりません。
Delphi6のコードエディタでDeleteMenuをクリックしたら
{ Externals from user32.dll }
---snip---
function DeleteMenu; external user32 name 'DeleteMenu';
というのが出たのですがこれをどうにかするのでしょうか?
0969デフォルトの名無しさん
NGNGなんだろう。聞きたいことがよくわかりません。
procedureに書きましたって、
procedure DeleteMenu;
とかってしたってことでしょうか。
procedure TForm1.Button1Click( Sender : TObject );
begin
DeleteMenu;
end;
とかしたってことでしょうか。???
0970デフォルトの名無しさん
NGNG自分で書かないといけないなどと悩んでいるなら
その必要は無くって単にuses Windows;するだけ。
0971968
NGNG構文はわかるんですが(たぶん)
var
MenusI:HMENU;
begin
Menus := GetSystemMenu(Handle,false);
DeleteMenu(Menus,SC_CLOSE,MF_BYCOMMAND);
DrawMenuBar(Handle);
end;
0973デフォルトの名無しさん
NGNGひょっとして、「DeleteMenu」という関数をソースに書いたりしたか?
0974デフォルトの名無しさん
NGNG0975Delphi好き ◆0YAPhEjk
NGNG(人任せ…無責任かのぅ…)
0976デフォルトの名無しさん
NGNG>>904-923じゃないのか?
0977Delphi好き ◆0YAPhEjk
NGNGなるほど。そうケリがついたのでしたね。
というわけで、相談室の方に引っ越します。皆さん、有難う御座いました。よろしけれ
ばまた、「相談室」でも会いましょう!
0978神日本磐余彦
NGNG0979デフォルトの名無しさん
NGNGHTML エンジンも Delphi 製?
うむ、聞いたこと無いなぁ。
0980デフォルトの名無しさん
NGNG好き勝手にカスタマイズできるので便利。
Delphi製のHTMLエンジンとしては
http://www.pbear.com/
があるけど、二バイト文字非対応なんだよなー。
css等にも対応してるので惜しい。
0981デフォルトの名無しさん
NGNG自作のコンポーネントなのかもともとのコンポーネントなのか区別がつけられず
困っています。どうやって見分けたらいいのですか?
ちなみにdelphi5です。
全然初心者なのでくだらないとは思うのですがお願いします。
0982デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/vclscanner/index.html
たしか、これ使えば分かる。
0983デフォルトの名無しさん
NGNGコンポーネント名(例えばTButton)にカーソル合わせて
F1押してヘルプがでたらBorland製。
またはマウスで右クリックして定義の検索して
どのソース=ユニットに所属しているかどうかで判断する。
0984982
NGNG0985デフォルトの名無しさん
NGNG違うんですか?
>984
0986デフォルトの名無しさん
NGNG製品に含まれているコンポーネントなのか自作したものなのか判別できないのよ。
0987デフォルトの名無しさん
NGNGIDEのエディタでコンポーネント名(例:TSomething)にカーソルを置いて
右クリックで「定義の検索」とやってごらんよ
0988デフォルトの名無しさん
NGNGスマソ、途中までしか四度欄買った
0989デフォルトの名無しさん
NGNGGUID?何じゃそりゃ?って感じです。
どなたか教えてください・・・。
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992こちらに合流してください
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1022921598/l50
0993デフォルトの名無しさん
NGNG● ● ● ⇒ http://pc.2ch.net/test/read.cgi/tech/1022921598/
ε=ε= □へ □へ □へ
ノ ノ ノ
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNGヽ( ゚д゚)ノヽ( ゚д゚)ノヽ( ゚д゚)ノ イドー
-=≡ ( )へ ( )へ ( )へ ⇒ http://pc.2ch.net/test/read.cgi/tech/1022921598/l50
> > >
0996デフォルトの名無しさん
NGNGよかった。
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG埋める
0999デフォルトの名無しさん
NGNG10001000取り阻止
NGNG\ \=======/ ゝ=======/ /==
=\ \====| 〇 〇 |====/ /====
===\ \==| ) ̄ ̄ | |==/ /======
=====\ \| | | |/ /========
=======\ ゝ | | / /==========
=========\ \ ./⌒⌒ .| / /============
===========\ ――┤ /=============
==============\;;;;;;; /================
===============|;;;;;; ヽ .===================
===============|;;;;;; ・ ・ ヽ ==================
===============|;;;;;;; ・ ::::・ ヽ====
===============|;;;;;;;; ::●::: `、 / ヽ┌─┐ノ \ |
===============|;;;;;;;; ・:::::・・ | `、 l | | l |
===============|;;;;;;;; ・ ・ :・ | `、 l | | l /
===============|;;;;;;;; ・ | `、 \ トー─| / /
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。