Delphi相談室その6

このエントリーをはてなブックマークに追加
1Delphi1から使ってます
Borland Delphiに関する質問・相談などを扱っています。

ボーランド
http://www.borland.co.jp/

<関連スレッド>
・雑談はこちら
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室C
http://pc3.2ch.net/test/read.cgi/tech/1027343132/l50
・DelphiとC#の話はこちら
C# 仲良し Delphi Round 2
http://pc3.2ch.net/test/read.cgi/tech/1022662451/l50
・ネタスレはこちら
※注:相談スレではありません!
モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/test/read.cgi/tech/1027873869/l50

その他いろいろ
>>2-10
2Delphi1から使ってます:02/08/04 13:52
3Delphi1から使ってます:02/08/04 13:55
あと適当に貼っておいてください。
投げやりでええね。おつ。
Delphi一から使ってます!って、初心に返るってことか・・・
素晴らしい!
6デフォルトの名無しさん:02/08/04 17:58
Sleepを使って、Label1を書き換えたあと、
3秒後にLabel2を書き換えるという事をやりたいのですが、
どうしたら良いでしょうか?

Label1.Caption := 'あいうえお';
Sleep(3000);
Label2.Caption :='かきくけこ';

というような形でやると、3秒たった後、Label1とLabel2が同時に変わってしまいました。
新すれ乙ー
Label1.caption := 'うんこ';
Label1.update;
Sleep(3000);
Label2.Caption := 'ちんこ';
>>8
例が下品だ。
106:02/08/04 19:15
>8
助かりました!
(´-`).。oO(TTimer使えよ‥‥‥)
12デルファイ:02/08/04 21:33
フォームを振動させることは出来るのでしょうか?
できるなら、やり方を教えてください。
>>12
タイマーで勝手に座標変えな。

常識というかそれくらい思いつかないとイベントドリブン+クラスライブラリなんぞ使えんが。
>>13
つーか、普通のプログラムも無理だろ
そもそも、イベントドリブンなんて今時常識なんで態々書いてるあんたもダサイ
15デルファイ:02/08/04 23:21
すみません。つい先日プログラムというものを始めたばかりなんで。
精進します。
悪いとは言わないが、最初はもっと簡単なのから…。
とか段階ふんだほうがいいと思う<言語
>>16は、「簡単なプログラムから」と言いたいのか、「簡単な言語から」と言いたいのか...
後者なら、Delphiより簡単な言語ってあまりないように思うぞ。
1816:02/08/05 00:20
>>17
「簡単な言語から」。

あまり無い?そお?そーかなぁ?いや、Delphiうんぬんはこの際置いといて。
全くの「プログラミング経験無し」から始める言語としては厳しくない?
そーでもないのかな?まぁ、15の問題だから別にいいけど。

それにしてもいい時代になりましたねぇ、RADが無料で手に入るなんて、ねぇおじいさん。
夏休みで暇な学生がDelphiでゲーム作ろうとしてんか。
自分もリアル厨房のころ思い出すなぁ。

ベーマガしこしこ打ち込んでたよ。
2016:02/08/05 00:42
>>19
そそ。基本はベーシックから(本当かよッ!?)。
まさにベーシック。
パソコンショップにベーマガ持参で、店員の目を気にしつつ、
シコシコ打ち込んで悦に浸ることから始めよう!

おじいさんはオレでした(藁
VBScriptあたりから始めたら?
アイコンって作らない人もけっこういるやねぇ。面倒なのはよっく分かるけど。
delphiじゃなくて、「ホットなスープがカップから湯気出してるヤツ」が
紙面の大半を占めてるのを見ると愕然とするな。なんとなく。
「アイコンくらい作ってくれよ!」と思わなくもなくも…。
「緑丸の上に柱と黄色い稲妻」も増えてるとこを見ると、けっこう
delphiも浸透してるかなぁとか思うが…。アイコン作る時って、どーしてる?
>>22
Javaは確かアイコン変えられんだろ。できたっけ?
2422:02/08/05 01:51
>>23
Java?Javaのアイコンってどんなだっけ?
「ホットな〜」は「H○P」だよ。
>>22
リリース前に頭に浮かんだイメージを30分ぐらいで作る
アイコンが変わったらリリース版てことで
2617:02/08/05 10:35
>>18
強いて言やCOBOLかな(w
そもそも「Javaのアイコンを変える」ことの意味がわからん。
exeなら変えられるだろうが、jarとか、classファイルだったら関連付けられたアイコンになるだろ?
>>23
java.awt.Frame#setIconImage(Image image)
のこと?
デザイン系の学生使ってアプリにあわせて
アイコンデザインやってくれるような会社でもあればいいのに。
個人で500円、法人3000円くらいなら払うかも。
30デフォルトの名無しさん:02/08/05 17:32
あのー例えば、以下のようなXMLライクな文字列

<住所録>
<個人>
<名前>山田太郎</名前>
<ふりがな>やまだたろう</ふりがな>
<住所>東京</住所>
</個人>
</住所録>

から

名前:山田太郎
ふりがな:やまだたろう
住所:東京

というように抜き出したいのですが、一番簡単な方法を教えてください。
DOMやら、正規表現やら方法があると思うのですが。。。。

>>30
スタイルシート使うとか
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xml:lang="ja">
<xsl:template match="/">
<xsl:value-of select="住所録/個人/名前" />
<xsl:value-of select="住所録/個人/ふりがな" />
<xsl:value-of select="住所録/個人/住所" />
</xsl:template>
</xsl:stylesheet>
こんなやつ
>>30
派^差作るしか。
>>30
TXMLDocumentを使う・・・ただしEnt版(鬱
MSXMLパーサーやOpen XMLならタダ。
ttp://homepages.borland.com/ccalvert/Pascal/index.html

ただし上の文章は少々内容が古くなってる。
ボタンを押すと新しいウインドウを開くように
するにはどうすればいいのでしょうか?
ご教授願いします。
3630:02/08/05 19:29
>>31
ありがとうございます。スタイルシート使って凌いでます。

>>32
パーサか。。。。作るかな。。。。

>>33
エンプラ買う金ないし。。。打田

>>34
OpenXML使おうと思ったんですけど、大げさな感じがして、
どなたかもっと簡単な方法をご存知かと思いまして投げたんです。

ハァ
37デフォルトの名無しさん:02/08/05 20:36
>>35
procedure TForm1.Button1Click(Sender: TObject);
var New:TForm1;
begin
Application.CreateForm(TForm1, New);
New.Left:=Left+10;
New.Show;
end;
初心者は高級言語

超高級:COBOL
かなり高級:VisualBasic
ふつうに高級:C++ ObjectPascal
ちょっと高級:C
低級:アセンブラ
超低級:機械語
memoコンポーネントのlinesにテキストを書き込んで保存すると
必ず最後に改行が1つ自動挿入されてしまいます。 これが
邪魔で邪魔で死にそうです。 どなたかこの改行を付かない
ようにする方法をご存知ないでしょうか?

memoコンポーネントにこうゆうプロパティがあれば良かった
んですが・・
>>39
>memoコンポーネントにこうゆうプロパティがあれば良かった
>んですが・・

Tmemo継承してそういうプロパティーもったコンポつくる。
>>39 自分で保存すればいいでしょう。

Delphiで小さな実行ファイルを作ろう
http://pc3.2ch.net/test/read.cgi/tech/1009080085/22

の writeFileStrを使って writeFileStr( ファイル名 , Copy(Memo1.Lines.Text ,1 , Length(Memo1.Lines.Text)-2));
4230:02/08/05 22:31
結局、スタイルシートじゃ使い勝手が悪いので、
今しこしこ正規表現ライブラリつかって抜き出し中
>>30
別に正規表現ってまで行かなくても、
posで地道に抜き出してループさせたら駄目なのけ?
サクっと書けると思うけど。

</ を posで探して、そこからさかのぼって <●●>を
見つけに行って > と < の間の文字を合体させたらいいだけでしょ。
4443:02/08/05 23:20
ありゃ、解決済みでしたか、スンマソ
4539:02/08/05 23:24
>>40、41

貴重なヒントをありがとうございましたm(__)m
特に41さんのソースは参考になりました。
これで邪魔な改行からもおさらばです、助かりました!(^^
46デフォルトの名無しさん:02/08/05 23:28
>>39
うちでやっても最後に改行はいらないけど。
D6 UP2/Win2000
47デフォルトの名無しさん:02/08/06 08:29
>>37
ありがとうございました。試してみます。
48デフォルトの名無しさん:02/08/06 09:18
WindowsXP機にDelphi3をインストールしたら、DatabaseDesktopが
おかしくなっちゃいました。
テーブルを構築するときの、「流用」とか「保存」とかのボタンが
消えていて押せなくなってます。×で閉じることは出来るんですが
当然保存が出来ません。
互換ウィザードで起動しようとすると「BDEを初期化できませんでした」
というエラーが出ます。
何か方法はないでしょうか。
無料の6使わずにそんな時代遅れなもん入れるか・・・。
6ってDBTextとかDBEditとか使えないんじゃないですか?
3で作ったのを6で開こうとしたらエラー出たんで使うのやめたんですが。
6自体XPで動作が安定しない場合があるのに、3って、、、、
Win2000にして、6のエンプラ買ったほうがいいかも。。。。。
上司に相談したら、「Delphiはもうやめるか」って言われた。
新しい言語覚えなきゃならなくなった…。(;´Д`)
>>52 よく判らんけど、 自分を鍛錬するには2つ3つを順に使って色んな見方身に付けた方が絶対いいよ
>>53
同意、違う言語を使えば違うスタイルが見えてくる。
>上司に相談したら、「Delphiはもうやめるか」って言われた。
この脅し文句つきでMLに投げれば手厚いサポートを受けられるよ(藁
>>48 DatabaseDesktopなんて使った事ない。
 SQLの CREATE 文で作るもんだと思ってた。
57デフォルトの名無しさん:02/08/06 12:08
XPに準拠した枯れた環境って現状あるの?
Win2KさえまだSPが出てる状況だから開発環境としては
まだ待ちだと思うのだが。
最初から枯れた環境なんてどこにも無い。
みんなで無理やり使って枯れさせるのだよ。

今複数の開発環境使ってXP上で開発してるけど
目立った不具合には遭遇していない。
ただ開発とは直接関係ないシェル=Explorer周りの挙動が
落ちたり固まったりでかなり厳しい・・・
59 ◆xDd9P2XM :02/08/06 12:24
>>48
互換モードで何を選びましたか?
60 ◆xDd9P2XM :02/08/06 12:26
>>51
こないだの大野タン直々のサポートで解決しましたが、なにか。
つまりBinフォルダにあるプログラムは全部互換モードで、
IMEの怪しい辞書は削除で、ってことだな。
62 ◆xDd9P2XM :02/08/06 12:40
IMEの怪しい辞書を削除すれば互換モードの必要は無いよ。
BCB6 も VisualStudio も快調。
つまり、ATOKに乗り換えれば
いいわけだ
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧
 ( ・∀・)
 (. 阿波.)  イチタロウ バンドルエディション モ
 |徳島|  ヨロシク
 (__)_)
過去のソフトのメンテナンスで
旧バージョンを使わなければならないケースも
あるのではないでしょうか.
うちの開発マシンにはDelphiと3と5が入っています.
最近さらに2.0も(QuickReport初代を使っているソフトのメンテ用).

>>56
アクセスみたいなデータベースソフトやDelphiからデータベースを使い始めた人間だと
逆の立場の人間だとコマンド文でテーブルを作成することの方が驚きかも知れません.
(というかすごく新鮮でした)
>>53
2つ3つてのは言語のことですか?
自分はBASIC→Progress2→Delphiときました。どれも極めず半端なまま
のヘタレなんで、新しいのに挑戦しても駄目なヨカン。

>>56
SQLなんて
create * from Table.db
しか書いたことないです。(自分に藁

>>59
互換モードはWin95とWin98/Me、ディスプレイ設定は全部チェックオフです。
NTと2000を今から試してみます。
>>65
2000 はだめよん。
NT4 SP5 とかそこらへんを。
>>59
おぉぅ、DatabaseDesktopはNT4.0モードで正常起動しました!
でもQuickReportで「アドレスに対する読み込み違反」が
出るのは回避できませんでした。
98SE時代には出なかったのにな〜。
>>67
環境変数TEMP,TMPに短いパスを指定。
>>68
ありがとうございます、動きました!感動した!
両方ともC:\Windows\Tempで問題ないですよね。
Set Problem = Nothing
>>50
そりゃ、無料のD6パソで開いたからでは?
7230:02/08/06 17:05
自己レス
結局、MSXMLで落ち着きしますた。最初からやっとけばよかったよ。
なかなかMSXML使える
ただMSXMLってIEやMDACの導入状況でバージョン変わるから
注意して書かないと。
74デフォルトの名無しさん:02/08/06 19:36
ついにプロ版でもXMLが標準で!!!
・Delphi compiler warnings and hints for .NET compatibility
・Import any .NET assembly as a COM object
・Export COM objects in Delphi to .NET managed applications
・.NET preview CIL compiler for the Delphi. language to create managed applications
・NET migration documentation

procedure TForm1.FormCreate(Sender: TObject);
が動いてないようなんですけど、エラーも出ないし、起こりえますか?
やりたいことは、システムメニューに項目を追加したいという単純なものなんですけど。。。。
78デフォルトの名無しさん:02/08/07 01:08
タクオタンも最近はここ見てたのかなあ?
「CIL Compilerプレヴュー(D7はまだIDE上からの連携無し)」
http://community.borland.com/article/0,1410,28972,00.html
79デフォルトの名無しさん:02/08/07 01:09
ハァ?
J#のようにTObjectがSystem.Objectから継承されるのか、単なるエイリアスかは気になります。
>>78を読む限り、Mappingだけで詳細が…。継承だったら激しくマイナス点。

ポインタも例えunsafe扱いであっても無くなるわけでは無いので一安心。(prevew版ではまだサポートされて無いようですが)
implementsも残るみたいなので、とりあえずC#に1ポイント差。
81後輩:02/08/07 02:58
>>78
タクオタンが英語記事のつまみ食いが得意なのは社内でも有名。
けど、出典隠してさも自分が見つけたように言うのはよしてくださいよ > 先輩

ついでに一言。
>Kylix と統合しちゃうなんて...
誤訳だよう。冷静に読めばそんなことは書かれていないのに。
>>81
NEC の人?...

それはそうと、誤訳じゃなくて誤解/曲解ではないかな?
>>77
Form1 のイベントの OnCreateの部分に
FormCreateって書いてある?
>>78のリンク先の後半に書いてある文法拡張はdcc32でもサポートされるのか…?
>72だけ読んで、MSXのメーリングリストかと思った私って馬鹿ですか。
Readlnで6行目だけを読み込むにはどうすればいいんですか?
>>85 6回 先頭から ReadLn実行すれば? 6行目だけの結果が残るよ
>>84
Delphi7 には入りません。
この文章書いた John Kaster が日本に来ているから、笹塚に行けば質問できるぞ。
>>86
>87氏の方法でやるときは、ループ前にでもSetTextBufをやるといいよ。
90デフォルトの名無しさん:02/08/07 16:54
無知ですまんのだが、データベースデスクトップで作ったDBって
アプリケーションと一緒に配布できるの?
問題ない。
92デフォルトの名無しさん :02/08/07 19:01
Delphi6 Personalでデータベース(できればMDBに)にアクセスできるフリーのコンポーネントを探しています。

Delphian WorldのサイトでODBC Access for Delphi(ODBCCall)という
目的と一致する良さげなコンポーネントがあったんですが、
シェアなので配布できません。

良いコンポーネントをご存知でしたら教えてください。よろしくお願いします。
9385:02/08/07 19:11
わかりますた。どうもー
>>92
MDBならole?ActiveX?でつなげばいいんじゃないでしょうか?
バージョンに気をつけてDAOつかったらただ
>>88
ttp://homepages.borland.com/aohlsson/BorCon2002/RAD1115.html
BorConでの発表見るとDCC32でも言語拡張はされてるような感じだが、
今回の発表ではなんも書いてないな。キャンセルされたか?
直接質問したいけど笹塚行く暇ねぇし。
9692:02/08/07 20:05
>>94
ヒントありがとうございます。
ActiveXやOLEをどのように使えばよいか、
ちょっとすぐにはわからなかったので、google検索してみますね。

PersonalでDAOを扱うことってできるんですか?
あと、DAOだとユーザー側にDAO関係のインストールをする必要ありますよね?
作成したアプリは、できればEXE+MDBだけの簡単な構成で配布したいと思っています。

他に良い情報をお持ちの方がいましたら、よろしくお願いします。
>>90
BDEを含めて配布するなら Install Shield を使うのが吉
98デフォルトの名無しさん:02/08/07 22:21
>>96
Personalの場合はちょっと面倒ですよ。
Access(MDB)ならばADOで接続することになります。

1.まず、メニューのプロジェクト→タイプライブラリの取り込みを選びます。
2.一覧から、Microsoft ActiveX Data Objects 2.5 Libraryを選びます。
3.インストールボタンを押します。
4.パッケージ dclusr.bplは再構築されますと表示されるので、はいを押します。
5.これでADOがコンポーネントに登録されます。
9998:02/08/07 22:22
つづき
6.ActiveXタブからConnectionコンポーネントをフォームへ乗せます。
7.ボタンを乗せて、下記のように書いてみてください。

procedure TForm1.Button1Click(Sender: TObject);
var
Aff: OleVariant;
Rst: Recordset;
begin
Connection1.Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\db1.mdb;Persist Security Info=False', '', '', adConnectUnspecified);
try
Rst := Connection1.Execute('SELECT * FROM テーブル1;', Aff, 0);
ShowMessage(Rst.Fields['フィールド1'].Value)
finally
Rst.Close;
Connection1.Close;
end;
end;
10098:02/08/07 22:26
つづき

上のソースは、db1.mdbのテーブル1のフィールド1のデータを表示します。
1.Connection1.Openで、データベースに接続します。
2.Connection1.ExecuteでSQLを発行して必要なレコードセットを取得します。
3.取得したレコードセットはRstに代入されます。
4.Rst.Fields[].Valueで、フィールドにアクセスし、データを取得します。
5.最後にCloseを忘れずに。
10198:02/08/07 22:29
つづき

DelphiよりもADOの知識が必須です。MSのリファレンスを参照してください。
http://www.microsoft.com/japan/msdn/library/default.asp
また、AccessのヘルプにもADOのことが載っています。

基本的にデータの取得、検索、挿入、削除などの操作はRecordsetで行います。
10298:02/08/07 22:32
Personal持ってないんですが、タイプライブラリの取り込み機能って
ありますよね…?なかったらごめんなさい。

いきなりDelphiでやるよりも、Accessで少し練習してからの方がいいかもしれません。
>>98
あんたええ人や・・・(;´д⊂)
104ミヤコ蝶々:02/08/07 23:28
>>98
ちゃっかりしてるけど、エエ子やな。
10598:02/08/07 23:29
ははは…
Delphi+ADOってあんまし文献ないんで、つい書いてしまいます。
VBAやWSHあたりで検索すると、使いこなしとか少しは見つかります。
10692:02/08/08 01:39
>>98さん、詳しい説明ありがとでした!ばっちりMDBを読み込めました。
めっちゃ感謝してます。上記の方法、永久保存させていただきます〜。

質問ばかりで申し訳ないですが、
ADOを使ったアプリケーションの配布で気をつける点や、
再配布に関する問題とかありましたら教えてくださいです。
107デフォルトの名無しさん:02/08/08 02:03
Delphiってランタイムいるんですか?
>>107
いるようにもできるよ。
ADOのランタイムってDelphiで配布していいのか?
110デフォルトの名無しさん:02/08/08 02:05
>>108
ありがとう。検討します。
>>109
ADO は MS が自由にダウンロード/インストールを許可しております。
112デフォルトの名無しさん:02/08/08 14:21
ListViewの上でマウスの右クリックをするとポップアップメニューを表示させて
各行で出来る処理内容をOnPopup中にてEnabledを変更させているプログラムが
あります。

この時に、[Ctrl]キーや[Shift]キーを押しつつポップアップさせた場合は
特別なメニュー項目を追加させたいのですが、
OnPopupイベント中にキーボードの状態を知る事は可能なのでしょうか?
可能であればその方法を教えて下さい。よろしくお願いします。
114112:02/08/08 15:16
>>113

調べが全くもって甘かったようです、ごめんなさい。

if (GHetKyState(VK_CONTROL)>=0) then 〜;

で出来ましたありがとう御座いました。
115デフォルトの名無しさん:02/08/08 16:55
開発者向けのパッケージ作成方法を知ってる方いましたら教えてください。
delphi全くの初心者なのですが、仕事で急遽必要になりました。お願いします。
>>115
弊社サポートまでご相談下さい
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  1インシデントデ\30,000ナ
 | 某|  
 (__)_)
初心者が開発者向けにパッケージ?なんだかなあ。
命令した上司疑うなあ。それとも入社前に大風呂敷
言ったのか?
>>117
単に人手が無いか、逃げたり辞めたりした奴の仕事を押しつけられたものと思われ。
生暖かく見守ってやれれ。
ラベルのテキストを左から順に表示していくヤツ、
メッセージ表示スピードっていうんですか?
そういうことをするにはどうすれば良いのでしょうか?
120デフォルトの名無しさん:02/08/08 18:38
質問です。
サブフォームの最小化ボタンが押下されたことを知るには
どのような方法があるのでしょうか?
イベントを探したのですが、フォームサイズの変更というのはあっても、
最小化ボタンの押下を受け取れる方法とは違うみたいで。。。
Application.OnMinimize
122120:02/08/08 19:01
procedure TForm_sub.FormCreate(Sender: TObject);

begin
Application.OnMinimize := TEST_min;

end;

procedure TEST_min(Sender: TObject);

begin
Application.Minimize;

end;

これでは駄目みたい。。。
123120:02/08/08 19:05
>>121
あ。
これって アプリケーションの最小化イベント受け取り?
サブフォームの最小化ボタン押下って 知ることはできないのでしょうか?
WM_SYSCOMMAND
125デフォルトの名無しさん :02/08/08 20:22
ADO(+Jet4.0)を使ったDelphiアプリの配布について調べています。
ユーザ側にMDAC_typ.exeのインストールは必須なのでしょうか?

MSのサイトより、集めてきた情報
・Win98,ME・・・不明
・Win2k MDAC2.5がデフォルトで入っているのでインストール不要。
・WinXP MDAC2.6がデフォルトで入っているが、Jet4.0が含まれていない。
・IE5.0をインストールするとMDAC関係のファイルがインストールされる。
・MS OfficeやVSがインストールされている環境

○○がインストールされている環境なら、MDACをインストールしなくても
動くというような、ノウハウがありましたら教えてくださいです。
126デフォルトの名無しさん:02/08/08 20:25
>>119
こんな感じ?
procedure TForm1.Timer1Timer(Sender: TObject);
const
Letter = '2ちゃんねる';
begin
Label1.Tag := Label1.Tag + 1;
Label1.Caption := LeftStr(Letter, Label1.Tag);
end;
>>123 ボタンの押し下げを知りたいなら 最小化ボタンを使わずに 自分で最小化ボタンもどきを作ったらどう?
んな馬鹿な
(´-`).。oO(サブクラス化してメッセージ捕まえれば?)
130デフォルトの名無しさん:02/08/08 20:59
StringGridのグリッドの色を変えたいのですが、
どうやればいいんでしょうか?
>>129 どんなメッセージが押し下げ状態の変化でやってくると?
132デフォルトの名無しさん:02/08/08 21:37
TLabelでWordwrap=True時、
文字列が複数行にまたがって表示される場合、
行間の指定ってできるのでせうか?
133120:02/08/08 21:38
>>131
押し下げ状態でなくても良いのでげす。
ただサブフォームの最小化ボタン押下時に、
アプリケーションをタスクバーに入れたいのでげす。
アプリをタスクバーに入れるのは
Application.Minimize
だというのは教えてもりゃいまひゃた。(涙
134130:02/08/08 21:41
StringGridの「グリッドの線」の色を変えたいのですが、
どうやればいいんでしょうか?
お願いします。
>>131
WM_NCLBUTTONDOWN 違う?
まあ、>>133用途ならWM_SYSCOMMANDで充分ですが
WM_NCLBUTTONDOWN は”カーソルの下にあるウィンドウに対してポストされます”だから
ボタンそのものは マウスDOWNだね・・・というのはおいといて

なら サブクラス(ってメッセージフックの事だよね?)しなくても取れるし
これを取って0で処理してしまえば  子供は反応出来ないからそれでいいのでは?

ただ子のマウスキャプチャの範囲かどうか調べる処理が必要になるから
結局 ボタンを貼り付けた方が簡単では? というのが >>127の趣旨だけどね

アフォばっか
>>134
 これも、グリッドを全部自分で描くか、描画後に線だけ描画しなおすしかない

とだけ書くと、また変なレスが付くから説明すると
TCustomGrid.Paint; で 枠線は決めうちで描いているからだ

これをそのままコピペして、修正するという手法が一番簡単
>>137
答えられないと文句バッカ
>>133
WM_SIZEを調べてみれ。
141デフォルトの名無しさん:02/08/09 01:11
RichEditでFontのCharsetをARABIC_CHARSETとかにしても
日本語が表示できるのはなんでなの?
142テツ&トモ:02/08/09 02:33
何でだろうー 何でだろうー なぜだ 何でだろうー♪
143デフォルトの名無しさん:02/08/09 13:03
Canvas.TextOutで、アンチエイリアスをかけた文字描画と、
かけない文字描画の方法はありますか?
つまり、コントロールパネルの画面の設定で、スクリーンフォントの縁を滑らかにする
を、設定してから文字描画をしたいのですが・・・
>>143
それは Delphi というより Windows API の問題だな。
Win98 系では OS のリスタートが必要なので動的にはできないはず
146143:02/08/09 16:38
>>144>>145
GetGlyphOutlineですか。以前やってみたんだけど意味わからず-終了-してしまいました・・・
APIは難しいですね。でもやってみます。
147デフォルトの名無しさん:02/08/09 17:04
モナースレでも書いたんですが、シンプルなやつでいいんでチャットソフトのサンプルないでしょうか?
ここの人なら知ってると聞いたんで。。。ほんとよろしこです!
>>147
バカは死んでも治らないか。嫌な運命だな。
でも、現世でこれ以上迷惑をかけることもあるまいて。
149shige:02/08/09 18:30
>>147
来世は、せめて人間の役に立つ牛か馬に生まれかわれよ...。
来世なんてねえよハゲ
151shige:02/08/09 18:46
必死だな(w
152デフォルトの名無しさん:02/08/09 19:06
Rubyyyyyyyyybbbbbbbbbbbbbbbb >>>>>>>>>>>>>>>>>>>>>>>>>>>> Delphiiiiii
153147:02/08/09 19:07
150は俺じゃないぽ  (´Д`;)
お前ら教えてください。
Delphi使えるようになりたいんだけど、お薦めの参考書ないですか?
一応C,Javaは使えます。C++はチョイアヤシイなという程度。
>>154
それだけできたら本いらん。サンプルとヘルプで十二分だ。
>>155
参考書というか、リファレンスみたいなのがホシーんですがね。
あと、WinAPIがほぼ全く分からないので、そこをうまく補ってくれるものとか。
おながいします。
>>156
だからリファレンスなら立派なのが付いていると
>>157
あ、そなの?
パーソナル版買おうと思ってるんだけど、安いんでリファがついてないのかと思ってたよ。
それでも本屋にいって適当なの一冊買っておいた方がとっつきはいいかも
ていうか、そろそろDel7が出るの?
161デフォルトの名無しさん:02/08/09 22:13
質問させてください〜。・゚・(ノД`)・゚・。

マウスカーソル下にあるコントロールを取得し、
それがとあるコントロールであるかどうか(たとえばTImage)を知りたいのですが

var
p_cursorpos : TPoint;
cnt : TControl;
begin

GetCursorPos(p_cursorpos);
cnt := FindDragTarget(p_cursorpos,True);
if cnt =image1 then
begin
    。
    。
    。


だと cnt にnillがはいってきてしまいます
ご指導お願いしまする
>>161
mouseoverで。
163161:02/08/09 22:22
>>162
すんません
OnMouseOverのことでしょうか?
イベントで取得したいのではないのですが。。。
アフォでスマソ。。。
>>163
入るたびに変数に自分を
165無責任だが:02/08/09 22:41
>>161
 やり方はあっています。 マウスを押しながら操作してみても状態は同じですか?

もしかしてフォームのOnMouseMoveに書いていませんか?
だとすると、上にコントロールがあると そのイベントが呼ばれません。
166161:02/08/09 23:08
>>164
ステータス管理ということになるのでしょうか?

>>165
ご指摘ありがとうございます。
どうやら ブレークポイントでいちいちチェックしていたのが原因だったようです。
結局>>161のコードで大丈夫でした。
167161:02/08/09 23:11
調子にのったわけではないのですが、
>>161が解決したら、今度は別の対応をしなくちゃいけなくなりますぃた(涙


マウスカーソルをフォームのどこからか不明な場所でダウンした状態で、
コントロール上に移動してきたとき、
OnMouseEnterをひろわないようです。
どぎゃんしたら よかとですか!?

。。。もお帰りたいですよ。・゚・(ノД`)・゚・。
169デフォルトの名無しさん:02/08/09 23:43
shigeって誰?
>>167
フォームのOnMouseMoveでFindDragTargetして監視するか、
キャプチャが外れていいならOnMouseDownでReleaseCaptureしれ
171デフォルトの名無しさん:02/08/10 15:01
フォームの形状を円形とかに変えるコンポーネントでいいやつないでしょうか?
イメージを透過するやつじゃないのを探してマス
172デフォルトの名無しさん:02/08/10 15:13
質問です。
コンストラクタが仮想メソッド(抽象ではない)となっている場合があるのですが、
クラス参照型を使った多態以外にはメリットがないような気がするのですが、
どんな形で使われるのですか?
>>171
Region関係のAPIくらい自分で使ったら
174デフォルトの名無しさん:02/08/10 19:00
>>171 えーっとな・・・何かあったはずだよ
マジで忘れたけど(笑)  スマソ
175Delフサギコ ◆VzDeLphI :02/08/10 19:20
|,,∧   某マニアクスにあったような、なかったような
|Д゚彡
| U    多聞アっタ
| ミ    
| U
176デフォルトの名無しさん:02/08/11 03:36
棒マニアクスって何ですか?
>>フォームの形状を円形とかに変える

コード2行でできます
2行ぐらい書こうよ。ソウダンシツダシ...
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowRgn(Handle,CreateEllipticRgn(0,0,Width,Height),false);
end;
>>179
リージョンハンドルの開放どこ?
>>180
違う手続きに書いてあることは確かだろうな。
特に、このリージョンハンドルを削除しないでください。
必要がなくなると、システムはこのリージョンハンドルを自動的に削除します
>>182
間違い。
184182:02/08/12 11:27
>>183 間違ってましたゴメンナサイって事? 変な省略するなよ

もし MSDNが間違ってるってんなら
http://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_setwindowrgn.htm

ちゃんと通報してやれ いつまでも直らないぞ
>ちゃんと通報してやれ いつまでも直らないぞ
そんな義務、だれも持っていないだろ?
相手は巨大私企業だぞ。
186Delフサギコ ◆VzDeLphI :02/08/12 13:27
質問っす

  ∧,,∧ たりらりらー♪
 ミ,,゚Д゚彡
  ミつ[|lllll]) 
〜ミ  ミ     
  U U.  

ひとーつ、
実行時パッケージを使うとファイルサイズは小さくなるですが
Delphiプログラムを複数起動した時、
メモリ常駐の大きさは小さくなるもんなのでしょうか?

DLLなら動的リンクとか静的リンクとかありますが
パッケージにはそういう仕組みはあるですか?


>>176
http://www.ba.wakwak.com/~h-kova/
187Delフサギコ ◆VzDeLphI :02/08/12 13:28
  _____________

| また、Windowsの仕組みもしらねーバカとか
| 厨房・夏厨って呼ばれるんだろうけど
| とりあえず、聞いてみるか。

   ̄ ̄ ̄ ̄ Ο  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ο
♪   ∧,,∧゚ ♪
    ミ,,゚Д゚彡  ♪
    ミつ[|lllll]). るらりるる〜♪
   〜ミ  ミ
    U''U

もひとーつ。
とあるDLL(つか、EmEditroPlugin)で
TStringListとかTListを浸かってしまうと
Classesを含んでしまう必要があるので、
ファイルサイズがでかくなって困ってます。

そういう時、Classesだけを含んだパッケージ
というかDLLを共通化したいのですが
そんなことは可能ですか?

Pluginを配布するときに、Delphiランタイムを
インストールしてもらうという方式ではなくて
こんな構成にしたいのです。

EmEditorのPlugInフォルダ
 └自作プラグイン@.dll
 └自作プラグインA.dll
 └ClassesのDLL

やり方があるとしたら
どうやるのでしょう?

また、この場合、ClassesのDLLは
プラグイン@とかAの数だけメモリに呼び出されるのでしょうか?
>>186
1、 パッケージは DLL そのものです
2、 ですからレイトバインデング( LoadLibrary )をパッケージに対して行う事も可能ですが
  それはMFCxx.DLLをレイトバインデングするのと同じで意味はないでしょう

メモリ常駐サイズですが、実行モジュールは ReadOnlyのメモリマップドファイル
と同じです。ですから サイズは節約されるでしょう。
 が、それは全体から見れば微々たるものです。
パッケージとは,Delphi アプリケーションや Delphi IDE,またはその両方が使う特殊なコンパイル済みダイナミックリンクライブラリのことです。
実行時パッケージは,ユーザーがアプリケーションを実行する際に機能を提供します。
設計時パッケージは,Delphi IDE にコンポーネントをインストールしたり,カスタムコンポーネント用に特別なプロパティエディタを作成するときに使われます。
1 つのパッケージが設計時と実行時の両方に機能することが可能で,設計時パッケージはその requires 節で実行時パッケージを参照して動作することがよくあります。

ほかの DLL と区別するために,パッケージライブラリは拡張子 .BPL(Boarland パッケージライブラリ)の付いたファイルに格納されます。

通常,パッケージはアプリケーションの起動時に静的にロードされます。
ただし,SysUtils ユニットの LoadPackage ルーチンと UnloadPackage ルーチンを使えば,動的にパッケージをロードできます。

メモ アプリケーションがパッケージを利用する場合,各パッケージユニットの名前はそれを参照しているソースファイルの uses 節にも含まれている必要があります。
190189:02/08/12 13:51
つまり ヘルプで 『パッケージ』のところから読めば知りたい事は全てのっていますよ >>189
191Delフサギコ ◆VzDeLphI :02/08/12 13:52
ヤヤウツダ
  ∧,,∧   いまひとつ
  ミ,,  彡  意味がわかんない…
 ミ   ∪
 ミ〜,, ミ
  ∪ ∪ と。。。とりあえずレス産休

>1、 パッケージは DLL そのものです
わかりますた。

>2、 ですからレイトバインデング( LoadLibrary )をパッケージに対して行う事も可能ですが
>  それはMFCxx.DLLをレイトバインデングするのと同じで意味はないでしょう
レイトバインヂングってなんですか?VBのならやったことあるのですが,,,
DLLの動的呼び出しの事ですか?
なぜ、MFCxx.DLLをそれするのと同じで意味がないのですか??

>メモリ常駐サイズですが、実行モジュールは ReadOnlyのメモリマップドファイル
>と同じです。ですから サイズは節約されるでしょう。
つまり、ファイルサイズ=メモリ展開サイズって事ですか?

> が、それは全体から見れば微々たるものです。
…そうですか?

Plugin一つに100KBかかるか10KBですむかは
ちょぴり気になるサイズなんですが,,,
特にPluginの数が増えると。
意味がないというのは
 必須のものを後からロードしても意味ないでしょ? という意味です

 LoadPackage  するなら、例えば言語依存のユニットを切り替えるとか
 そういう時に使えば便利でしょう パッケージの動的ロード関係は
http://www.borland.co.jp/tips/delphi/dh002/dh_09.html
http://www.nifty.ne.jp/forum/fdelphi/samples/00904.html

後半については断定はしかねます
193Delフサギコ ◆VzDeLphI :02/08/12 14:21
  ∧,,∧   HELPを見て
  ミ,,  彡 わかりました。
 ミ   ∪
 ミ〜,, ミ   って事にしておいた方がイイのかなー
  ∪ ∪




 鳥頭?猫?犬?
   ∧,,∧     サパーリ全くわかりません!
  ,ミ ゚Д゚彡
  ミ  ∪  Classes.pasをcontainsしようとしても
 ミ〜,, ミ   rtlに含まれてるからダメって言われるんです…
  ∪ ∪

自作のパッケージなら
生成された.bplを同一フォルダに
入れておけば、それを使う
ExeやDLLは静的リンクするのですか?

>>192
このレスはちょっとわかりました。
contains Classes ; だけでは駄目です Classes.pasを覗いて uses 節を全て 列挙しないといけません
当然その uses 先も調べて列挙します。

なお requiresを含めて VCLxx の行を全て消してコンパイルさせれば
containsの必要なのを教えてくれると思いますよ
>自作のパッケージなら 生成された.bplを同一フォルダに

これは、コンポーネントをインストールしてる時と同じですよ
勝手にはDLLとしてリンクされません。

実行時パッケージを使うにチェックをして
どのパッケージを使うかを指定する必要があります
D5 で 試してみました
contains
Classes ,
TypInfo , Consts , SysUtils , SysConst , ActiveX; ;

これだけ必要です
197デフォルトの名無しさん:02/08/12 16:01
いまさらだけど、Delphi7は.Net対応!?
何のことでしょう?
さぁーしりません。
分からないヤシは気にしなくていい。
600kを超えるrtl60.dllがロードされるぐらいなら、
僕ならClasses.pasの使用を諦めますけどね。
特にEmEditorみたいな軽さが身上のソフトのプラグインでは。

パッケージではスマートリンクが働かないので、
パッケージに含まれている機能のほんの一部しか使わないような場合、
メモリー消費量は増えてしまうのでは無いでしょうか。

…そう言えば、EmEditorはUnicodeアプリだったのでは?
プラグインについてはよく知りませんが、TStringsを使ってしまうと、
AnsiStringを経由してしまうので、SJISに無い文字が化けてしまいませんか?
(JEDIのTWideStringsを使ってみるとか)
もし DLLがホントにメモリマップドファイルのように処理されているのなら
パッケージDLLの大きさが即座に実メモリを要求するわけでもないだろう
もちろん実際の機能が不連続に存在すれば意味がないけど、必要にな
ったブロックだけが実メモリにロードされるのだろう

でも、いっそ 必要な TListとかだけを取り出して
不要な部分を外してunitに入れてしまった方がいいかもね
202Delフサギコ ◆VzDeLphI :02/08/12 23:31

     Classesに依存しないTListキボン...
カチャ        ∧,,∧   
( ゚д゚)   ;y=ーミ,,゚Д゚ミ・∵. ターン
.| y |.\/   .ミ y ミ
203172:02/08/13 00:01
別の話題で恐縮なんですが、誰か教えてください。
質問自体がデムパだったらその旨してください。厨なもんで。

コンストラクタが仮想メソッドである必要があまり感じられません。
クラス参照型の変数からコンストラクタを呼び出した際に多態する必要がある場合、
コンストラクタを仮想メソッドにしなくてはいけないことが分かりました。
他にも必要性がある場合というのは、どんな場合なのでしょうか?
上記の場合のみ必要ということであれば、その旨教えてくれるとうれしいです。
204172:02/08/13 00:03
その旨してください。→その旨教えてください。
すいません…
ヘルプで「仮想メソッド」を検索すれ
日本語で書いてあるから
>>203
>必要性がある場合というのは、どんな場合なのでしょうか?
文字通り火葬メソッドにする必要があるとき。
TThreadのように事実上コンストラクタを火葬メソッドにしなければ使い物にならない場合とか。
実装次第ではその必要すらもないかもしれない。

オブジェクトをもう継承する予定がないなら性的メソッドのままでも何ら問題ない。
206より172の方が良く理解しているな。
208172:02/08/13 00:30
>>205 
一応ヘルプは見ています。見た感じ、通常の手続き・関数の説明しかありませんでした(Delphi5)。
通常の手続きや関数は仮想メソッドを使った多態を行いますので、一応意味は理解しているつもりです。
ただ、実行時型情報のもととなるインスタンスの生成をするのに、仮想である必要があるのかと疑問に感じ、
質問させてもらいました。
>>206
オブジェクトを静的に継承しても、inherited Createと、差分の追加で特に事足りるような気がします。
一応、TThreadを継承したマルチ処理のPG経験もあるんですが、そのときは必要性を感じませんでした。
ヘルプなどを調べてみます。

おふたりさま、レスありがとうございました。
209172:02/08/13 00:50
HelpでTThreadを調べてみたのですが、いまいちピンときませんでした…
誰か分かりやすく教えていただければ嬉しいです。
>>207
良かったら教えてください。m(__)m
>>202
Classes.pasからソースコードコピペすれば済む話では

>>209
>>172で自身が書かれているように、クラス参照型を用いたインスタンス生成が主な用途です。
また、ややアクロバットで、スレッドとも無関係ですが、
メモリアロケートとコンストラクタの実行を別に行なうような用途もありますね。
インスタンスに対しCreateを呼ぶと、単なるメソッドのように働くので、仮想関数でなければ変になります。
211172:02/08/13 01:37
>>210
ありがとうございます。
今までコンストラクタは絶対に静的で問題ないと思っていたのですが、クラス参照型を知り、
他にも必要性があるんじゃないかと気になっていたため質問した次第です。
別途の説明はコードの実装まではイメージ出来ませんが、大まかな流れは分かりました。
メモリアロケートとコンストラクタの実行を別に行なうようなら、Delphiにこだわる必要は
無いと思いますので、通常の使い方においては、基本的には静的で問題ない。と理解します。
>>202
自作するか、ソース拾ってくるかすれば。
TListの中身は動的配列だしリンクドリストよりも簡単でしょ。
>>202 どうして TListが必要なの? 
 どんな感じで使ってるかによっては 動的配列で代替した方がいいんじゃない?

あと TStringListも array of string; で代替した方がいいんじゃない?
214デフォルトの名無しさん:02/08/13 11:19
>>212
>TListの中身は動的配列

違いますよ。静的配列です。
TPointerList = array[0..MaxListSize - 1] of Pointer;
>>214 それはまあ あの 今の動的配列がDelphiに無い頃に
サイズ可変の配列を取る手法として使っていたわけで・・・・
216デフォルトの名無しさん:02/08/13 12:43
>>215
んじゃ、動的配列な証拠をVCLソースで見せておくれ。
217おくれ:02/08/13 12:46
見せておくれよ!
... Personal ユーザーがソースをほしがっていると見た。
やるなよ!おまえら!
1,2行見せてもPersonalなやつには役立たないと思うが…
220デフォルトの名無しさん:02/08/13 12:58
んだよ、口だけか。別にVCLソースじゃなくてもいいぞ。
動的配列だという証拠見せてみろ。ほれほれ。
困ったなあ SetCapacity じゃ納得してくれないの? ReallocMemしてるでしょ?
222デフォルトの名無しさん:02/08/13 13:57
コンボボックスでクリックイベントを使うには
どうすればいいのでしょうか?

223222:02/08/13 14:37
コンボボックス(ドロップダウンリスト形式)でクリックイベントを使う方法はわかりましたが、
ドロップダウンボタンを押した瞬間にリスト項目を設定するにはどうすればよいのでしょうか?
>>223 とりあえず、オブジェクトインスペクタでイベント毎にヘルプ順に出してみておゆき
225デフォルトの名無しさん :02/08/13 15:48
VBのコントロール配列をDelphiで実現するには配列を使えばいいみたいですが、
イベントが呼び出された時に、どのボタンが押されて呼び出されたのかを認識する方法はありますか?

VBだとPrivate Sub Button1_Click(Index as ボタンIndex)で、
IndexにボタンのIndex番号が格納されます。これと同等のことをDelphiでやりたいんです。
>>225 イベントの最初の引数に Sender というのが大抵あるでしょ?

たとえば
Caption := (Sender as TButton).name;
とやってみて
227Delフサギコ ◆VzDeLphI :02/08/13 19:17
           _____________
  ∧,,∧    /StringListはその大きさと改行コードの手癖の悪さが
  ミ,,゚Д゚彡 < 俺的にいやなのでTListで代替しようかと
  ,;゙  ミ     \_思ったのだすが,,,
 ミ.  ミ
/゛゛゛゛
ソースはここのを流用して
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1020833969
TRecord = String
と書き直すだけでOKだったんだけど、

どうやらWideString周りにバグがあるみたいで、
ばっちり落ちちゃうみたいなのです。


…だれか、EmEditorのPluginとか
作ってあそんで面白がる人いないっすか?
>>214-221
ネタに本気で釣られるな(w
>>202
私も >>212 さん同様,自前でリストを作ればよろしいかと思います.
動的配列を使えば楽勝でしょう.

※ちなみにDelphi5のClasses.pasを見たら
 TListは動的配列ではなくpointer型の配列へのポインターを使っていました.
>>227

言語が管理している型をGetMemなんかで取って来る時は、Initialize/Finalizeが必要っと。
無関係のときは呼び出しても何も起きないので、一応入れておけば。

> どうやらWideString周りにバグがあるみたいで、
> ばっちり落ちちゃうみたいなのです。
つまり、WideStringのバグじゃなくてリンク先のコードが不十分なわけですね。
何かあると自分の手の届かないところを疑う癖、やめません?見ててヤ。
231Delフサギコ ◆VzDeLphI :02/08/13 19:57
   ∧,,∧
  ミ,,゚Д゚彡  リンク先の俺のコードの中にWideString系の
  ( ̄ ̄~)   ところにバグがあるって言ってんですが...
 /`  ̄´\
 |〜〜〜〜| 
 |〜〜〜〜|
 \___/
ありゃ、誤読か。すみません。
でも、Initialize/Finalizeで動くようになると思いますよ。

{ array of WideStringで充分な気もしますが }
233207:02/08/13 20:07
>>209
すまんが漏れも君と同レベルだ(笑)

あ、因みにTThreadのコンストラクタは仮想じゃないぞ。惑わされるな。
234Delフサギコ ◆VzDeLphI :02/08/13 20:16
サンクスコ。>>232さん
バグてるとわかったら
誰かに修正されることをキボンしてUPしているです。
(それがオプソってことなのかな?

そういえば、わけわかな所に原因をなすりつける
ってのは、誰しもあるのでは?俺だけかな(VBの癖か?)

だって、わけわかっている所にバグがあったら
バグとわかった瞬間直しますもの。

 ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ∧,,∧    
   ミ,,゚Д゚彡
   ミ つ日 
 .@ミ,,,,,, ,,ミ
235Delフサギコ ◆VzDeLphI :02/08/13 20:23
             ___________
    ∧,,∧     /とりあえず、報告っておきます。
   ミ,,゚Д゚彡 <  原因追求はどなたか詳しい方に…
   ミ つ日   \___________
 .@ミ,,,,,, ,,ミ

この間、EmEditorのプラグインがWinXPで
Delphiで作ったら動かない!
#例外がキャッチできないの?か?
とか言ってたの。問題部分はわかりますた。原因はわかりません。

フサはまねっこでEmEditorPluginを作っているんすが
こちらの方の
http://www2u.biglobe.ne.jp/~y-takami/emeditor.htm
>InsertSpace(Delphi版)

のソースの最後の所。

function DLLMain(Reason: Integer):Bool;stdcall;
begin
Result := TRUE;
end;

{ Here is exports section. }

exports
OnCommand index 1,
QueryStatus index 2,
OnEvents index 3,
GetMenuTextID index 4,
GetStatusMessageID index 5,
GetBitmapID index 6,
PlugInProc index 7;

begin
g_nCmdID := 0;
DLLProc:=@DLLMain;
DLLMain(DLL_PROCESS_ATTACH);
end.

なぜか、この最後の2行をコメントアウトしないと
// DLLProc:=@DLLMain;
// DLLMain(DLL_PROCESS_ATTACH);
Win2000じゃ落ちないけど、XPじゃ確実落ちですた。
しかも、落ちるタイミングがサパーリわかりません。
俺のPCだけかもしれません、

こんなバグの原因、どうやっても俺には追求むりだわさ。

DLLMainがなくてもPluginとしてOKだったから
おかしいなとは思ったんだが。。。

#作者さんには報告します太
236デフォルトの名無しさん:02/08/13 21:13
君は白痴のの分際でこの私を煽ったね。
厨房の嫉妬私怨と分かっていても非常に不愉快だ。
分かった。そのような態度ならこちらも厨房的態度でそれに答えよう。
まあ、このスレッドは数時間以内に機能しなくなるだろう。

 言っておくが2ちゃんねるのシステムは一方的に荒らし側に有利だ。
おまえらに成す術などない。リアルタイムでスレッドが破壊されていくのを眺めているがよい。
そしてこの私に逆らったことを後悔するがよい。
まあ、おまえらには削除依頼を出すという手段もあるが、
どうせ削除人など最初からやる気など無い。IP晒すだけで無駄死にが関の山だ。
楽しみに待っていろ。
237デフォルトの名無しさん:02/08/13 21:30
>>236
もうちょっと機械翻訳で崩してからうpすると面白いよ。
238デフォルトの名無しさん:02/08/13 21:37
↓これぐらいに崩せ。

内部の中で、その、私、そしてこれを誘惑した愚かな社会的地位、
それは、嫉妬およびアマチュアの悪意の個人のであることを証明
しても、非常に不愉快です。私は理解します。それがそのような
姿勢である場合、私はアマチュアの姿勢でそれにさらにここに?嘯ヲ
る必要があります。この糸は数時間内に機能し、よく止まるでしょう。
それは、言いましたが、目標上で破損されます。また、2chのシステム
は側に他方では有利です。私ができる予防はありません。リアル・タイム
上で現在破壊された糸は見られますが、それはよい。さらに、それ、私を
後悔した、よいものに、それ[もの]だった、これに反対だった、私は削除
リクエストを進める手段がしばしばありますが、それは更に現われました
が、だけ、ものによるIPの公のプレゼンテーション(無駄足)を実行する[そ
の削除人々など、衰弱する]大部分、どれ、とにかくスタートします。
楽しみに待ってください。
>>229
ん?動的配列は広義の意味で言ったんだが。
ネタだったらスマソ
というか、アレが静的配列に見えたとか?
って、前のネタをしつこく引きずってるだけか?
>ここに?嘯ヲ る必要があります
どこで翻訳したんだよ(藁
>>236
板違いですよー

てゆーか、あんた誰?
              (回答不要)
243デフォルトの名無しさん:02/08/13 23:59
フォームで最大化ボタンだけを無効にするにはどうすればいいのでしょうか?
>>243
FAQ
245デフォルトの名無しさん:02/08/14 00:25
>>226
ありがとうございました。ところで下記のような処理をやると順序型が必要ですという
エラーがでてうまく動きません。アドバイスをお願いします。

strCmbName := (Sender as TComboBox).Name;

case strcmbname of
  'combobox1': Count:=1;
  'combobox2': Count:=2;
end;
246デフォルトの名無しさん:02/08/14 00:30
>>245
'combobox1' < 'combobox2' が成り立たないからじゃない?
247デフォルトの名無しさん:02/08/14 00:36
>>245
case文のセレクタに書ける式は整数、論理型、文字型、列挙型に
限られる。文字列型は書けない。
248デフォルトの名無しさん:02/08/14 00:38
>>247
わりィ、セレクタでなくてケースリストね。
>>245
あらかじめコンボボックスのTagに値を入れといて
(Sender as TComboBox).Tag
または
TComboBox(Sender).Tag
を使うという手もある

これならcaseにも使えるしね
>>245
そのメッセージの通り、順序型が必要です。
文字列は順序型ではないのでCaseでは使えません。
そのコードみたいな使い方だったら、Tagとか利用するのが良いのでは。
251245:02/08/14 00:55
>>246-249
教えてくれてありがとうございました。
Tagを使うことでコードがずいぶんすっきりしました。
>>235
>なぜか、この最後の2行をコメントアウトしないと
>// DLLProc:=@DLLMain;
>// DLLMain(DLL_PROCESS_ATTACH);
>Win2000じゃ落ちないけど、XPじゃ確実落ちですた。

こないだの大野タンの対応策、試してみません?
MSIME2002 を切るか、変な辞書を抜くか。
VCLのTListがいやならコレを使ってみてはどうか

The Delphi Container and Algorithm Library (DeCAL)
https://sourceforge.net/projects/decal/


いや、俺まだ試してないけどね
254デフォルトの名無しさん:02/08/14 10:07
RadioGroupのItemsプロパティに10のアイテムを設定し、
Columnsプロパティに5を設定して、2行に渡ってアイテム(ラジオボタン)が
表示されるように設定しました。

この時、RadioGroupの幅を変更しても、ラジオボタンの位置が左寄せになってしまうのですが、
RadioGroup内のボタンを左右均等に配置するにはどうすればいいのでしょうか?
255デフォルトの名無しさん:02/08/14 13:26
ラベルにハイパーリンクを貼るにはどうすればいいのでしょうか?
バージョン情報にサイトへのリンクを貼りたいんです。
フォントの色を青色、下線アリでフォームにおいて、
クリックイベントで、HlinkNavigateStringなどを実行すればオーケー。
257デフォルトの名無しさん:02/08/14 13:52
仕事で必要になったので急いでます。既出だったらごめんなさい。
Delphiで作ったActiveXにHTMLのparamタグを使って値を渡したいんですが、
値を受け取るDelphi側をどういうふうに作っていいかわかりません。
どうすればいいのか、もしくは使えそうなサイトを知ってる方、
助けてください。お願いします。
>HTMLのparamタグを使って
てとこ、もうちょっと詳しく書いてくれる?
259257:02/08/14 14:17
>>258
ええと、<param name="xxx" value="100">みたいな感じで
値をActiveXの方に投げようと思っています。
そして、ActiveXでその値を使いたいんですけど、
そういう時、その値を使うための処理は
どういうふうに追加すればいいんでしょう。
260デフォルトの名無しさん:02/08/14 14:24
タイプライブラリに xxx という名前のプロパティを追加すれば
いいんじゃないかな? で、[ソースコードの更新]を押せば
getメソッドとsetメソッドのスケルトンが作られると思うよ。
261257:02/08/14 14:56
>>260
ううーん、そうやったつもりなんですがうまく動きません。
もうちょっと詳しく教えていただけますか?ゴメンナサイ…。
>>261 ガンバレば巧く動くからガンバレ
 というか巧く動きませんどうしたらいいですか? と自分なら聞かれて答えられるのか?
263デフォルトの名無しさん:02/08/14 15:21
Delphi Personalに登録してから外国から意味不明のメールが届くのですが、
どういうことでしょう?
>>263
別に見たエロサイトが問題だと思われ。
265263:02/08/14 15:25
このメアドでMLに入ってるわけでもないし、思い当たるのはDelphiとJBuilderの登録だけです。
267デフォルトの名無しさん:02/08/14 15:33
>>263を見て怖くなりました。
なるべく登録しないでPersonalを使いたいんですけどどこかにシリアル落ちてませんか?
>>267 フリーメールでも使ったら?
ただの言いがかりか・・・。
エンプラ版のシリアル落ちてるとこあったけどURL忘れた。
(・∀・)カエレ!
つーか、みんな登録してるの?
使い回せばいいじゃん。
あのさ、有名どころのフリーメールのアドレスなんて、すぐに勝手に広告メールが送られてくるよ
犯罪者が集まるスレはここですか?
でもさ、登録しないと使えないなんて変だよな。
そういうのはフリーとは言わないと思うんだけどどうよ?
>>273
hotmailとかすごいよな。あれ。
>>275
無料としか書いてないが何か?
登録しないで使ってるけど、なんか期限きたら動かなくなるとかあるの?
>>278
そもそも起動できない。調べろや。
>>278
warezer発見!
>>279
え?じゃあ、雑誌の付録とかについてるやつは動かないということ?
それって詐欺じゃん。
アメリカの企業が出す無料ソフトは登録が必要なのが多いね。

RealPlayerしかりQuickTimeしかり。
283278:02/08/14 15:52
あ、ごめん。インストールした後の使用許諾なんとかと勘違いした。
通常、チャットソフトのサーバーとクライアントはどのポートを指定したらいいんでしょうか?
21、23、80、443とか以外の他の迷惑にならないポート
286284:02/08/14 16:51
>>285 あ、そんなもんですか? 例えば4006とかでもいいんですね 
でもなぜかRemote Closeになるんですよね ローカルではうまくいってるのに
火壁では?
パピウォール
日下部では?
はつみみです
ということにしたいのですね?
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
297284:02/08/14 17:17
(≧▽≦) ぶわっはっはっはっ
FWなんて当然切ってますよー
じゃあわかんねーや
(≧▽≦) ぶわっはっはっはっ
(≧▽≦) ぶわっはっはっはっ
listen側がINADDR_ANYじゃなくてlocalhostでbindしてるとかー
アドレス間違ってるとかー
ソケット使いたいならJAVAとか.NETやれよ。
(≧▽≦) ぶわっはっはっはっ
302260:02/08/14 17:52
>>261
ActiveXって、コンポとフォームとあるけどどっち?
コンポならActiveX化する前のコンポの段階でプロパティをつくっとく。
フォームなら……とりあえず「うまく動かない」を具体的に書いてくれ。
あと、どうやったのかも具体的に。
>>301
>ソケット使いたいならJAVAとか.NETやれよ。
MFCまたはAPI直叩きが死ぬほど難しいものと思ってらっしゃいます。アホです。多分VB厨です。
304デフォルトの名無しさん:02/08/14 18:20
Del厨に言われたかないよ。
(≧▽≦) ぶわっはっはっはっ
305デフォルトの名無しさん:02/08/14 19:53
すみません、DelphiのTcolorオブジェクト($00FFFFFF等)から、
HTMLで使う #FFFFFF等の色表記に変換するためにはどのようなコードを書けばよいでしょうか?
Delphi 6です。
意味不明でしたら無視して結構です。
>>305
TColorの値を16進に。適当にビットシフトいるかも。
307Delフサギコ ◆VzDeLphI :02/08/14 19:59
           _____________
   ∧,,∧    /
  ミ,,゚Д゚彡 < どぞ
   U  つ   \
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ 

//TColorを'#RRBBGG'形式に変換
function ColorToHtmlHex(Color: TColor): String;
begin
Result := '#'+
IntToHex(GetRValue(ColorToRGB(Color)),2) +
IntToHex(GetGValue(ColorToRGB(Color)),2) +
IntToHex(GetBValue(ColorToRGB(Color)),2);
end;

//'#RRBBGG'形式をTColorに変換
function HtmlHexToColor(HtmlHex: String): TColor;
begin
if HtmlHex[1]='#' then
Delete(HtmlHex, 1, 1);
Result := StringToColor(
'$'+ Copy(HtmlHex, 5, 2)+
Copy(HtmlHex, 3, 2)+
Copy(HtmlHex, 1, 2) );
end;
308デフォルトの名無しさん:02/08/14 20:38
>>306>>307
THANKS!!!!
ColorToRGBを通すのが味噌ですな
310デフォルトの名無しさん:02/08/14 21:12
スマソ。
全然関係ないのだが、
#FFFFFFをShowMessageさせると#00FFFになるのは仕様ですか?
311Delフサギコ ◆VzDeLphI :02/08/14 21:42
          _______________
   ∧.,,∧   /
  ミ.,,゚Д゚彡< なんか、わかりますた...
  ミ つ目(ミ . \
〜ミ,,O,,,,,,つ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

>>227のところの問題。

>>230さんの>Initialize/Finalizeが必要っと。

というお話でしたが
どうやらそういう問題ではなく
(Init/Fina有り無しでもアクセス違反してるです)

ここのコードの
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1020833969

function TRecordList.Add(Item:TRecord): Integer;
var
 p:PRecord;
begin
 GetMem(p,SizeOf(Item));
 p^ := Item;
 result := FList.Add(p);
end;

この部分で
 TRecord = String
としてしまったら、さすがに
コンパイラはどれだけのメモリを取ればいいのか
わからなくなってしまうのではないかと思われです.

これが原因でアクセス違反をおこしてたみたい。


リンク先の[4]のクラスリストのコードに対して

 TStringClass = class(TObject)
 private
  FItem: String;
 public
  property Item: String read FItem write FItem;
 end;

 TMyClassListItem = TStringClass;

このように定義してやると、きれいに動作しますた。
メンバーのFItemの中身がいつ破棄されるのかは
俺にはわかりませんが、Stringが
構造体のメンバよりクラスのメンバの方がメモリ関係が
何かと安心っぽかったので、こっちでやろうと思います。
>>311
試しに、リンク先のコードを切り貼りしてやってみましたが、手元じゃ上手くいってますけどねぇ。
(TRecord = WideString)

SizeOf(WideString) = 4 なので、
> コンパイラはどれだけのメモリを取ればいいのか
> わからなくなってしまうのではないかと思われです.
は有り得ないし、
Initialize/Finalizeしてやれば実体も解放されるし。
(Initialize/Finalizeの引数はvarなので、pでは無くp^を渡す…と一応書いておいてみるテスト)

よければ、どんな操作をしているのか、教えていただけません?
どうでもいいが'#RRGGBB'じゃないのか。
314Delフサギコ ◆VzDeLphI :02/08/15 17:37
    ,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  〜′,,,,,,,,,,ミ,,゚Д゚彡<  調べてくれてサンクスコ
   UU"""" U  ⊃  \
                 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>(Initialize/Finalizeの引数はvarなので、pでは無くp^を渡す…と一応書いておいてみるテスト)
Initialize/Finalizeには何を書けばいいのかとか全然わからんですが

からんでいるファイルが大きすぎるので
抜粋しますです。
今晩にでも、どこかにUPしますです。

 TStringRecordList = class(TRecordList)
 private
  procedure SetText(const Value: String);
  function GetText: String;
 public
  property Text: String read GetText write SetText;
 end;
//ここではStringListのTextと同じような処理を入れているが
//今回の目的には関係なし

//StringResource1は単に文字列を保持するだけのコンポーネント
//Memo2とかで代用するとよい。
procedure TForm1.Button1Click(Sender: TObject);
var
 StrRecList: TStringRecordList;
 i: Integer;
begin
 StringRecordList.testGetSetText;
//テストコード今回はこれまた関係なし。

 StrRecList := TStringRecordList.Create; try

 for i := 0 to StringResource1.Lines.Count-1 do
 begin
  StrRecList.Add(StringResource1.Lines.Strings[i]);
//環境によって、ここで落ちる
 end;

 for i := StrRecList.Count-1 downto 0 do
 begin
  if StrRecList.Items[i] = EmptyStr then
   StrRecList.Delete(i);
 end;

 for i := 0 to StrRecList.Count-1 do
 begin
  Memo1.Lines.Add(StrRecList.Items[i]);
 end;

 finally StrRecList.Free; end;
end;
で、このソース、複数マシン環境で試すと
動くときと動かないときあるようです。(動かない方が多いみたい)
315Delフサギコ ◆VzDeLphI :02/08/15 17:40
    ,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  〜′,,,,,,,,,,ミ,,゚Д゚彡<  文字列周りの処理もまた難しすぃ
   UU"""" U  ⊃  \
                 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
function TRecordList.Add(Item:TMyRecord): Integer;
var
 p:PMyRecord;
begin
 GetMem(p,SizeOf(Item));
 p^ := Item;
 result := FList.Add(p);
end;
//やはりここで、Itemに文字列が入ってくるのに
GetMemで4バイト確保するのに
p^ := Itemで
文字列1行分を代入してはいけないのでは?
4バイト確保しているだけの所に文字列代入しちゃっていいのかな?

文字列のメモリはどこか別管理になってるですか?

>>313
考慮してるつもりです
>>315
Initialize入れてないじゃないですか…

GetMem(p,SizeOf(Item)); に続けて Initialize(p^);
またはをまとめて New(p); だけでもおっけーです。

AnsiString/WideStringは文字列(の中身、長さ、参照カウンタなどをまとめたメモリブロック)へのポインタ。
管理は自動。インターフェース型が自動で_AddRef、_Releaseされるようなものです。
PCharにキャストできるのもそういう理由。詳しくはヘルプを見てみてください。
317Delフサギコ ◆VzDeLphI :02/08/15 18:18
       ウワーン
  .∧,,∧  HELPみろって言われたよー
 ミ゚Д⊂ミ ママン

>Initialize入れてないじゃないですか…
Unitの最後にInitializationとFinalizationを
入れて何が変わるのかしら
、思ってマスタ

  .∧,,∧  ウワーンウワーン
 ミ゚Д⊂ミ 菊は逝っときの恥じだけど、
       恥かしい.....
        ママン,,,,,

function TRecordList.Add(Item:TMyRecord): Integer;
var
 p:PMyRecord;
begin
 GetMem(p,SizeOf(Item));
Initialize(p^);
 p^ := Item;
 result := FList.Add(p);
end;

function TRecordList.Add(Item:TMyRecord): Integer;
var
 p:PMyRecord;
begin
 New(p);
 p^ := Item;
 result := FList.Add(p);
end;

  .∧,,∧  ウワーンウワーン
 ミ゚Д⊂ミ こうすればいいのかなー??
318デフォルトの名無しさん:02/08/16 01:30
PageControlの上で右クリックしたら「新規作成」ってのがでるらしいんですけど
うんともすんとも言いません 何が原因でしょう?
>>318
実装してない・
320ねこま:02/08/16 06:22
Initialize, Finalize を理解していなかったのですか……
TList の派生なら,Deleting を Override して Finalize をコールさせればすっきりします.
321 :02/08/16 17:00
<td nowrap align="right" align="right"><font color="00aa00">-7.44</font></td>
<td align="center">-</td>
<td align="center">-</td>
------------------------------------------------------------------

上の文字列から、>****< の中の****だけ取り出すにはどうすればイイでしょうか。

上の例だと、-7.4と-を取り出したいのです。

宜しくお願いいたします。
>>321 パーソナルかPro? それとも Entですか?
323321:02/08/16 17:51
>322

パーソナルです
>>323 単に取り出せればよいのなら
  IEコンポを貼り付けて、全部選択してCopyしてクリップボードからテキストとして取り出したら?
lynx http://www.hoge.domain > out.txt
とかやって整形テキスト取得するとか。
326デフォルトの名無しさん:02/08/16 18:28
ちなみにLynxのWin32版は
http://www.fdisk.com/doslynx/lynxport.htm
このあたりで。
327321:02/08/16 18:34
アドバイス有り難うございます。
328デフォルトの名無しさん:02/08/16 22:01
Delphi6をインストールしてみました。
勉強に最適なページをおしえてつかーさい
>>328
さぁ、アンインストールしようか。
>>329
そんなー
教えてくださいよー
一応VC++(Win32、MFC)はやってます。
>>331
さぁ、VC++なんて忘れようか。
今日会社でエンプラ版初めて見たけどすげぇ起動遅いね
あわよくば割れてもらおうと思ったけどそんな使う機能なさげだからやめといた
しかし・・・あの重さはすごかったな  プロ版はどうですか?
>>332
正直、VCは仕事だけにしたいっす

>>333
よさげです。お勉強します。
うーん。ぱっとみだけど、Delphiってすごくねー?
正直、わくわくしてきますた。
>>334
犯罪を目的とする者に提供する情報はありません。
>>336
そうでもないよ。普通。
必要な機能をそつなく搭載してる感じ。
339デフォルトの名無しさん:02/08/16 22:59
>>98で紹介されている方法(Delphi6 Personal + ADO)でMDBにアクセスしているのですが、
MDBにパスワードを設定したところ、DBのOpen処理で下記のエラーがでてしまい、うまく接続が出来ません。

「アプリケーションを起動できません。システム データベースが存在しないか、
またはほかのユーザーが排他的にシステム データベースを開いています。」

Open処理
元:Connection1.Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./db1.mdb;Persist Security Info=False', '', '', adConnectUnspecified);
パス有:Connection1.Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\db1.mdb;Persist Security Info=False', 'Admin', 'hoge', adConnectUnspecified);

引数の設定が間違っているのでしょうか?Googleで調べているのですが解決策がみつかりません。
また、MDBファイルにパスワードを設定することはできますが、
ユーザーIDは特に設定しない場合、何と言う文字列が割り当てられるのですか?

以上、ご教授お願いします。
コンパイルの速さは凄いと思いますた。
あとDB関係の充実度も。
ユーザーの閉鎖的ぶりもすごいと重いますた。
Delphiのサンプルとか使ってて、外国のやつを日本語表記できるようにするにはどうしたらいいですか?
「Encoding」とか書いてるとこないんですよね。。。(´・ω・‘)
フォントの設定。
>>341
どこてもいっしょ
じゃない?

>>342
どのサンプルか知らんけど、
探し方が悪いとか。
pasファイルにあるとは限らないし。
342はまず質問の仕方を勉強するべし。
>>342
海外のアプリを日本語化したいってこと?
ラベルの文字を変えるのは分かるよね?
あとは、フォントの設定すればいいんじゃないの?
MS Pゴシックとかに変更して、charsetをshift_jisにする。
フォントダイアログで変えるなら、書体の種類を日本語にする。
んだから、外国で拾ったソースは大抵フォントが「Arial」とかだから
「MSP ゴシック」など適当に変えてみそ。
348347:02/08/16 23:26
カブりますた。>>346でいいっす。
>>227
頼むから餓鬼を無闇に煽るのはやめれ。
全く効果ないばかりか逆恨みされてスレ荒らされるのが関の山。
徹底放置しる。できないなら自作自演か煽動工作と見なして荒らし報告だな
>>349
お前が出てこなければ普通に流れたものを。
どうでもいい俺の荒らし魂に火を付けたよ。君は。
351342:02/08/16 23:51
ヽ(´ー`)ノ 直りますた! みんなありがとうございます 助かりました
352デフォルトの名無しさん:02/08/17 00:20
>>339
これでどうですか?
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\db1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=aiueo
353デフォルトの名無しさん:02/08/17 00:33
>>352
339じゃないけど俺もそれで接続出来ました。
xxx.udlってファイル作って(空のテキストファイル改名するだけでOK)
接続テストするのが近道かと。
354デフォルトの名無しさん:02/08/17 00:49
delphiのサンプルソースが落ちてるとこないでしょうか? 海外でもいいんでおながいします
355デフォルトの名無しさん:02/08/17 01:07
C:\Program Files\Borland\Delphi6\Demos
じゃ駄目?
356Delフサギコ ◆VzDeLphI :02/08/17 01:32
たくさん、ありすぎかも,,,
http://www.nifty.ne.jp/forum/fdelphi/samples/index.htm

    ∧,,∧
    ミ ゚Д゚ミ    これおでんアイスだから
    (ミ   ミつ-□●△
    ミ   ミ
    し''`J 
357デフォルトの名無しさん:02/08/17 02:06
delphiの検索ってなんであんなに使いにくいの?
358357:02/08/17 02:11
ちょっと質問の仕方が悪すぎました スマソ
コードの表示画面でCtrl+Fを押して検索するときに普通エンター押したらそのキーワードのとこに移動するじゃないですか?
あれできないんでしょうか?  できると思うんだけどなー 
359Delフサギコ ◆VzDeLphI :02/08/17 02:20

     ∧,,∧  F3キーを押してホスイ....
    ミ,,゚Д゚彡  
     ミ つ⊂ミ   
     ミ   ミ
     ∪ ∪        
IDEのエディタ、まともなのにすげ替えたいんですが、無理ですね。
361357:02/08/17 02:23
>>359 フサギコタソ・・・・回線切って首つって・・・(以下略)


            thx!
362339:02/08/17 02:42
>>352
できました!感謝!

>>353
udlファイルは知らないです。調べてみますね。

363デフォルトの名無しさん:02/08/17 03:48
ちょっと相談に乗って欲しいことがあるんですが、音声チャットを作ろうと思ってます
で、同期通信にしたいのです やっぱりその方がリアルタイム制はでるんですよね?
それとネットゲームとか(動きの速いフライトシュミ系など)は同期通信ってことになるんでしょうか?
>>357-358
何がやりたいの?
358で言っていることはできますが。
正規表現もできるし、インクリメンタルサーチもできるし、
不満点は何?
(´-`).oO(解決してるんじゃないの
ClientSocketを使ってみたんですけど
ヘルプがなくて困っています。
コネクトはできたのですが、センドするメソッドがわかりません。
どなたかお助け
>>366
send()
368素人:02/08/17 23:51
>>366
ClientSocketで検索すればちゃんと出てくるよ。
昔探したことあるし。
>>368
仕様が嫌いだったのでAPI直叩きました。
370デフォルトの名無しさん:02/08/19 23:36
c:\a.jpgのファイルを実行時に表示するにはどうしたらいいのですか?
>>370
usesに jpeg を書き加えて
TImage.LoadFromFile(ファイル名)でOK
あの〜、
Cのstrtokみたいなのってありませんか?
>>372
CopyとPosとwhile駆使(ってほどじゃないけど)
>>373
ってどうやるんですか?
>>374
s :string;
temp :string;

while(s <> '')
begin
temp := Copy(s,0,Pos(s,':'));

s := Copy(s,Pos(s,':'),Length(s));

end;

半分適当だから微調整はお願いね。
>>375
あんがと。
リファみて微調整します。
(´-`)。o ○ (どうして質問は敬語で、お礼はフランクかなぁ…)
>>377
大変申し訳ございませんでした。
ありがとうございますりますた。
379377:02/08/20 00:56
(´-`)。o ○ (オレは疑問に思っただけで、答えた人じゃないけどさ。
つーか、関係無いけどマルチポストも疑問だなぁ…。
悪質なのはHN変えてやがるからな…。人間的にどーかと思うよ…)
>>379
マルチじゃねぇよぉぉ・・・

               ヽ(`Д´)ノ ウワァァン
381377:02/08/20 01:03
(´-`)。o ○ (一般的なマルチの話ぞなもし…)
382デフォルトの名無しさん:02/08/20 10:42
LinuxサーバーのMySQLにSQLConnectionを使って接続してるのですが、テーブルの内容を
読み書きできるようにするにはどうすればいいのでしょうか?
現在、readonlyになってまして、データの追加や書き換えができないのです。
>>382
サーバー側に変更の権限が設定されてないのとちゃうけ
384382:02/08/20 13:17
>>383
レス、どうもありがとうございました。
いろいろ調べた結果、dsExpressではできない事がわかりました。
BDEを使って、再構築しようと考えています。
とあるソースに

Query1.SQL.Add('Order by 項目1,項目2,項目3 ASC');

と書いても何ともなかったのに、別のソースで同じように記述したら
「キーワードの使用が無効です キーワード:項目2,項目3」
というエラーメッセージが出るのですが、何が悪いんでしょうか。
>>384
MySQLってそうなのかなぁ
dbExpressでOracleなら普通に読み書きできてますけど
>>385
項目2,項目3がSELECTされてないとか
388385:02/08/20 13:49
>>387
select * from テーブル名.DB

↑でやってますので、それはないかと…。
上手くいった方も同様にやってます。
>>388
一度 Memoコンポーネントに SQLを書き出すようにしてみたらどうですか?
勘違いで変な文ができてるということも(自分の場合)よくあるので
390385:02/08/20 14:03
>>389
そう思って、TQueryのSQLに直接

select * from テーブル.DB
as テーブル
ORDER BY 項目1,項目2,項目3 ASC

と書いてActiveをTrueに変更したら、やっぱりエラーメッセージがでます。
テーブル自体が何か変なんですかね?
↑のSQL自体が変かも知れませんが、これしか書いたことが無いもので。(汗
>>390
そこまで単純なら「 as テーブル 」は不要(っつーか as を書かないDBもあると思った)
あと ASCはデフォルトだから不要だし その文では 項目3 にしか作用しない
さもなければテーブルに 項目2,項目3 がないとか(2、3が全角か半角か要チェック)

こんなところですか
392385:02/08/20 14:54
お騒がせしましたが、解決しました。
「項目2」と書きましたが、実際は「DAY」という項目名だったんですが、
それがマズかったようです。3つそれぞれ単独ではどうかと試した
ところ、項目2=DAYだけエラーだったので判明しました。項目名を
変えたらできました。予約語ですかね、基礎中の基礎、逝ってきます…。(欝氏
質問です。
エクスプローラと同じ動作をするフリーのフォルダツリービューコンポーネントってない
でしょうか?
BCB用のコンポーネントを見つけたのですが Delphi 用のコンポーネントを見つける
ことが出来ませんでした。

ないのなら自作するのですが、レジストリ検索してアイテムの名前(例えば、ごみ箱)
やら使用するアイコンを調べなきゃいけいないし、Windows のバージョンによる違いが
あったりで、レジストリに疎い私が調査して実装するのはかなり面倒で泣いてしまい
そうです。

一応BCB用のコンポーネントのアドレスを張っておきます。
ttp://home1.infonia.ne.jp/~delphian/delphi/compo/listgrid.html

よろしくお願いします。
>>393
Sampleタブに付いてるShellTreeViewとShellListViewを組み合わせるのではだめ?
395393:02/08/20 15:44
>394
ありがとうございます!!
ばっちりです!

そして、申し訳ありませんでした。
ってきりないと早とちりして、ActiveX をあさってみたりWebを検索したり
レジストリを調べてみたりしておりました。
2度とこんな質問をしてしまわないよう、標準のコンポーネントを全て
試しまくった後、人知れず吊ってきます。

解答してください、本当にありがとうございました。
Windowsの iniファイル形式の代わりに、そろそろXMLでやったら カコイイ! かなと思って調べているのだけど、よくわからなかった。。
Ent試用版を手に入れてやってみたら、XMLに便利なコンポーネントはあったけどiniファイルのように簡単に扱うにはまだまだ遠い。。

DelphiでXML扱うのって、時期早尚ですか?
>>396
え〜?
DOMもSAXもXPathもあるのに。

単にTListタイプかTTreeタイプかの違いでしょう。
398デフォルトの名無しさん:02/08/20 18:41
>>396は XMLで、TInifile の ReadString(Section, Key, Default)みたいに
扱いたいんじゃないかな。 漏れも答えは氏欄が。スマソ

399370:02/08/20 19:42
>>371
やってみたのですが、だめでした。
usesというところにjpegと加えて、TImage.LoadFromFile(a.jpg)の一文を足せばいいんですよね?

「[致命的エラー] Unit1.pas(7): ファイル 'jpg.dcu' が見つかりません」と言われて怒られます。
jpg->jpegだろ。書きながら気づけよ
>>399
>TImage.LoadFromFile(a.jpg)
そのままじゃだめだよ
TImageのLoadFromFileという意味だから
例えば
Image1.LoadFromFile(a.jpg)
というようにTImageのインスタンスからLoadFromFileを呼ぶ
>>401
文字列囲もうよ・・・。
>>402
いけね、399のをそのまま書いちゃった
404370:02/08/20 20:09
これだとエラーが出ます。
どうしたらいいのでしょうか?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

Image1.LoadFromFile(a.jpeg)
>>404
DelphiをPerl火難かと勘違いしていませんかと。
>>404
間のコードを省いたとしてもセミコロン。

頼むからjこんぱいるエラーごときで質問しにこんでくれるか。
>>404
エラーの行を全部消してから
 ボタンをダブルクリックして
Image1.LoadFromFile('a.jpeg');

って感じの質問?

モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/test/read.cgi/tech/1027873869/

ならもっとやさしく教えてくれる可能性はあるよ

>>404
カエレッッ━━━━━━(゚∀゚)━━━━━━ !!
ネタといってくれ
410370:02/08/20 20:41
やはり聞く場所が違いましたか。
今インストールしたばかりなので何もわからないのですよ。
検索してもjpgファイルを表示するようなコードはみあたらないのできいてみたのですが 
帰りますね。

>>407
やっぱりだめでした。 [エラー] Unit1.pas(41): 未定義の識別子 : 'LoadFromFile'となります。
まずは一息ついて
おもむろに入門書を買って来い。
今インストールしたばかりの超初心者というのが本当なら、まずはヘルプの
「Object Pascal 言語ガイド」を一通り嫁。
次に初心者向けサイトでも見れ。
質問はそれからだ。
>「Object Pascal 言語ガイド」を一通り嫁。
無茶言うな
>>413
俺読んで覚えたけど。
>>410
とりあえず、ここの
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
「○入門」ってあるサイト全部回ってからもう一度来てくださいな。
>>413
無茶じゃないぞ、あのぐらい読めなくてどうする。
417413:02/08/20 21:10
俺だって読んだけど
370が今読んで理解できるわけないだろ
つかスレ違い
418370:02/08/20 21:15
おおぅ、ありがとうございます。

ゼロからDELPHI講座ってのがわかりやすそうでいいです。

それでは。
たしかに酷かもしれんが、時間を見つけて言語ガイドを通読するのは
初期のレベルアップに有効だと思う。
420Delフサギコ ◆VzDeLphI :02/08/20 23:51
                _____
      ∧,,∧___   /言語ガイド読むと
    /ミ,,゚Д゚ミ/\<  日本語が意味不明で
  /| ̄∪∪ ̄|\/ \眠くなると思うですが?
    |____|/
   市販の参考書の方がよっぽど面白くて役に立つと
   思うんだけどな。
>>420
それなら、オライリーから出てる「DELPHI クイックリファレンス」を
通読してくれ。
Delphiの何ぞやがよく分かる。

ボーランドがやっている Delphi の検定試験ってどうよ?
>>420
学問に王道なし。
楽して人より先に行けると思うな。
>>432
文法の丸暗記程度なら王道はあるよ
低脳は回り道
それ以外は直線的に進めばいいのよ
だれも文法の丸暗記の話などしていないんだけど...
>>レス番号間違える程度の低脳さん
不要な煽りはヤメイ。スレが汚れる。
一言多いために敵をふやしていることをわかってくれや
>>420
日本語が意味不明だったら手を動かせばいいだけではないですか?
>>428
ああ、同意。

文法わからなくなったら呼んでたなぁ。
あのときなぜかBNC(構文表記する奴ね。名前忘れた。)読めてたなぁ・・・。
すげえな・・・昔の俺・・・・。
TShellComboBoxで選択しているディレクトリのパス情報の取得をするには
どうすればいいの?
>>430
プロパティ一通りみた?
フォームやフレームなどの継承って,
別にリポジトリに登録しなくてもできるのですね.
今更気がついて鬱.

最近はコンポを作る代わりにフレームを使うことが多いのですが
早速,インターフェイスだけ実装した抽象フレームクラスという怪しいものを作っています.

>>410
Image1.Picture.LoadFromFile('c:\a.jpg');
が正しいはずのでこれでやってみてください.
(こちらのDelphi5環境で確認しましたが…)

>>420
言語ガイドは言語仕様書として
たまにぼーっと読んで ( ´_ゝ`)フーン という感じです.

それ以外に言語の細かい仕様を知るために読むこともあります.
丸暗記と通読とは別のことなのですよ。
リファレンス本だけでは基礎力は身につかないの。
>>430
Path
>>433
確かになぁ。俺その前にCやってたからなぁ。
うん。しょうもない本で良いから一冊読むべしと。
>>435
いや、良書をきちんと。


..けど、近頃の若者は我慢できないからねぇ。すぐ Web で検索/過去ログ検索で
終わらせてしまう。それやっている間は web や過去に質問に答えた人の知識以上の
位置には到達できないのに。

納期が迫っている時ならともかく、勉強の時間を用意してあげていても ML に
たずねて終わってしまうんだから。... おまえが持ってきた過去ログの記事書いたの俺だぞ!!
ハァハァ
437デフォルトの名無しさん:02/08/21 14:50
>>436
そんな事、俺達に言われても…(w;
中間管理職?
その最近の若者ですが、
俺から見てさらに最近の若者はプログラミングすらやらねーよ。
つまんねー。
440デフォルトの名無しさん:02/08/23 19:47
Delphi7 age
Delphi8でもKylixバンドルされるかな?それとも、Kylix打ち止め記念に
KylixユーザーをDelphi,BCBに引き込む為にバンドルしてみただけ?
折れ的には嬉しい限りなんだが、Kylix1,2と間隔の短いバージョンアップ
にも付き合ったしDelphiは毎回買ってるんで、格安でアップグレードさせて
欲しいと願うばかり。

アップグレード価格は過去の購入実績から値引ポイントを計算するように
して欲しいよ。(笑
Delphi7のPersonalは再び有料化みたいだけど、6のPersonal無償配布
は今後どうするんだろう。

おれはProを使ってきているから別にどっちでもいいんだけど、趣味で週末
だけプログラミングを楽しんでいるような人にとっては無償配布が中止に
なったら悲しむだろうね。
1万円くらいは払う罠。
>>442
んで、7Personalの機能制限はどんなものなの?
6みたいにDB制限されちゃあ使う気うせるが。
> Personal版は基本的なWindowsアプリケーションの開発機能のみを備える。
> データベース・アプリケーションの開発機能などが省かれているほか,
> 商用のアプリケーションを開発できないライセンスになっている。
相変わらずDBは制限されてますた。
http://www.borland.co.jp/delphi/del7/feamatrix/
>>446
あんがと。
じゃあ6Personalのままでいいや・・・
Delphi5pro持っているけど、D6パソナルをダウソするか
D7パソナルを買うか、このまま5proで逝くか悩み中。
>>448
いっそのことJavaかC++に乗り換えようとかは悩まないのか?
450448:02/08/23 22:14
>>449
漏れDel厨だからDelがいい(ワラ
今更だが、最近気になるのはC#かな・・。
>>448
今回も見送ったほうが吉じゃないかなー。
.netフル対応のD8を待ったほうが良いと思いマス。
そうだね。
Del7で打ち切りになるかもしれないしね。
453448:02/08/23 22:23
うーん、やっぱりそうですかねー。
まあD5proでも個人的に不満はないから来年まで待とうかな・・。
フリーソフトしか作らないし(w
454448:02/08/23 22:24
>>453>>452宛でした。スマソ

>>452
Σ(゚д゚lll)ガーン!
>>450
ヘジがDelphiユーザーの為に書きました・・・ってぐらい
似てるからな〜。ヘジがBorland去った後にDelphiに実装
されたAnchorsプロパティとかまであるし。

そ〜いやDelphi7はXPテーマに対応ってあるけどまた実行ファイル
大きくなるのかな〜。使ってないプロパティ・メソッドは最適化して
くんないかな〜。
456デフォルトの名無しさん:02/08/24 00:42
D7は見送りです…
XP対応が気になりますが、あとはなんかおまけを増やしただけでしょう。
.NET対応も不要&挙動が不明確だし。

ホントはIDEやエディタ周りをもっと賢くすべきだと思うんですけどね。
457172:02/08/24 00:48
すいません。ちょっと教えてください。

myClass := TMyClass.Create ;
myClass.Foo ;
myClass.free ;

普通の流れだと思います。
TMyClass型のインスタンスを生成し、手続きをよんで解放する。

ふと気になったんですが、myClassには何が入ってるんですか?
TMyClassの生成されたインスタンスへのポインタと考えてるんですがそれで良いのですか?
また、myClassはTMyClass型のポインタを格納する変数ということでよろしいのでしょうか?

よろしくお願いしますm(__)m
カタログスペックに載らない所にちょこちょこ改良加えてる所が
あるからなあ〜

OpenToolsAPIの詳しい解説を載せるってとこに少し惹かれる。
評価版で1度は試してみるつもり。
>>457
Cを使ってた人?もちろんmyClassはオブジェクト参照と言って
実体へのアドレスがセットされている。
460459:02/08/24 00:56
BCBで同じ事してるコードと比較すれば一目瞭然だと思うんだよね〜。
461デフォルトの名無しさん:02/08/24 01:00
>>457
ポインタであっていますよ。
>>455
XPテーマ対応は http://www.lischke-online.de/ にあるWindows Xp Theme Managerを
統合したものらしい。
463172:02/08/24 02:24
みなさまレスありがとうございます。

別にCつかいって訳ではありません。普通のDelphiつかいです。
最近オブジェクト指向を再入門していることと、BCBの勉強をはじめました。

BCBはインスタンスを生成したモノにインスタンスを渡すとTStrings.Assign()の
ような動きをして、生成されていないインスタンスにインスタンスを入れると同じ
インスタンスを参照することを知りました。
そこで、ふとDelphiはどうなっているんだろう?と疑問になった次第です。
>>458
>評価版で1度

すまない。BCB6 以降、日本語化された Ent 評価版は存在しなくなりました。

質問させて頂きます。当方Delphi6 Personalです。

DLLを作っていたのですが、DLL側からダイアログを出す際
リソースを使わずに出す方法はあるでしょうか?
一度、「フォームの作成」でフォームを作り、
ShowModal で試してみましたが、
何故か読み込み違反が起きてしまいます。

根本的に間違っているような気がするのですが、
何か解決法等、ご指導お願い致します。
(DLLはexportして別アプリでプラグインとして使います)
>>465
"リソースを使わずに" のあたりが意味不明だが、予想と脊髄反射で。
Application.Handleに呼出元のハンドルをDLL内部でセットする
必要があった筈だけど、それやってる?
あと FormのCreateしてる部分を提示してみ。
DelphiMLにその辺の情報がある筈だから探すのも吉
>>448
どーでもいーことですまんが、D6をダウソするのは悩むほどのことではないと思うが。
試してみてD5で十分なら使わなければいいだけなんだし。
468Delフサギコ ◆VzDeLphI :02/08/24 09:35
  ∧,,∧   D5ProからD6パソはしないほうがいいかも
 ミ,,゚Д゚ミつ

ここみてどうぞ
http://www.borland.co.jp/delphi/del6/features.html

Proのコードエクスプロラの方が折れには重要っす

Ver6のNew機能は
・インランソアセンブリ
  >>使わない
・オブジェクト釣り
  >>見ない(ちょっと便利だけど)
・コンポパレット可変
  >>ぞえんぞえんメリットがない
・ダイアグラムエディタ
  >>使わないしそもそもPerにつかない
・ActionManeger
  >>使わないPerにない
・イメージCombo
  >>使わない
・CLX
  >>Perにない
・DB
  >>使えない]
・**Snap
  >>Proにすらつかない

それにしても、かなり便利なIndyを宣伝しないのは
どいうことかしら?

このさい、G-Experもバンドルシテホスイ

そういえば、いつのまにかwith内でのコード補間がまともになってる気がするんだけど。
ちゃんと、withも考慮して補完候補だしてくれる。

環境: Del6Pro Update2 RTLUpdateずみ
RTL60.bplとか、Types.pasとか、バリアント型関連がSystem.pasから追い出されているとか、
UTF8変換ルーチンがあるとか、WideStringとAnsiStringでoverloadできるとか、
VCLなんか無視して、小さい*.exeを作りたい or フルUnicodeにしたい場合なら
Delphi6は5よりもお薦め。

こういう広告に乗らない変更の方が俺には重要…
delphi6の利点
listbox.count が使えること。    そうでもないか・・・
やっぱりフルUNICODEなアプリだと、Win9x環境では化けるんですかね?
D7 Personal は コード支援はついてるみたい
474デフォルトの名無しさん:02/08/24 19:02
Delphi 7 = Delphi 6.1 ということでよろしいですか?
D5pro持ってるけど普段はD6per使ってるよ。GExpertsで大体補えるし、
コード補完がわりと進化してていい感じ。
>>472
んなーこたーない。
アクソンリストは付くのか(略)
付きません
47956kモデマー:02/08/24 23:56
でかい(オレにとって)サイズのアップデータは、ちょっとナニだなぁ。
と言いつつ、全くアップデートしてない(藁
だってDLするのツライ…。
あなたWindowsのサービスパックもあててないんでしょ。
ウィルスチェックした方が良いですよ。
>>479
適当な雑誌、一冊買えばついてくるでしょ。それすら買えないなら
インターネットにつなぐの3ヶ月くらい止めたら?
キーボード付きPDAでDebianが動くのを探してますが、
お勧めはありますか?
>>482
... Debian と Delphi の読み間違い?
>>482
Debian GNU/Linux スレッド Ver. 11
http://pc.2ch.net/test/read.cgi/linux/1030178687/
こっちで訊いた方が幸せになれそうだYO
485デフォルトの名無しさん:02/08/25 16:41
クイックレポートのグループヘッダがディテイルの下になってしまう。どうして?
あっバージョンアップのDM旧住所に届いちゃったかな
バージョンアップしないから別にいらないけど
>>486
郵便局に移転通知だしてないの?
某に電話すれば送りなおしてくれるんじゃないかな?
>>485
何かプロパティの設定忘れてないかえ?
489デフォルトの名無しさん:02/08/26 06:05
Delphi6 pro使っています。
Interfaceを使用したいのですが、いまいち雰囲気が掴めません。
Javaで使うような感じで使用したいのです。
こういった使い方は想定されてないのでしょうか?
Java の Interface とは別物です。似てはいるけど。

郷に入っては郷に従え。
491489:02/08/26 06:18
489の補足
いろんな(既存の)クラスにインターフェースを追加したいので、
TInterfacedObjectから継承とかは無理です。
>>490
あっ、別物だったんだ。
これからDelphiでの使い方を詳しく調べてみます。
ありがとうございました。
>>492
なんにせよ、聞く前にまずマニュアル読めや。

歴史的必然で、すべてのクラスの祖である TObject とは別に TInterfaceObject が定義されているけど、
TInterfaceObject で定義されていることを自分のクラスで実装すればことは足りる。

ただ、既存のクラスに機能を追加する目的で Interface を使うのは設計的に薦めないよ。
interface知ったら
TListBoxとTComboBoxにインターフェース被せたら便利かな?
なんてつい思ってしまうんだよね・・・・・
495デフォルトの名無しさん:02/08/26 15:51
DBGridの中にDBCheckBoxが埋め込まれたコンポーネントって
どなたか自作なさってませんか?
Boolean値だと自動的にチェックボックスにしてくれるような。
>>494
実はTCustomListControlなんて共通基底クラスが…
>>495
5年くらい前にやったことだから、詳しく覚えてないけど、
描画するところで、Boolean値のセルだったら、DrawFrameControlってAPI
使ってチェックボックスを描画してやった気がする。
そんなに難しくなかったような。。
498Delフサギコ ◆VzDeLphI :02/08/26 18:25
 ミ,,゚Д゚ミつ
ついさいきん、DelphiMLでRadioButtonのイメージだけ描画処理が
でてますた。CheckBoxも似たようなものかもね。
それができたらあとはClickイベントでOn/Offするといいです。
499デフォルトの名無しさん:02/08/26 19:41
Win98+Delphi5で開発した参照系のツールを配布したのですが、
2台ほどのPCで次のような現象が出てしまいました。

ソース内でリテラルで持っている全角文字は普通に表示される。
データベースから引っ張ってきた全角文字だけ「???」と表示される。
半角文字は普通に出る。
EX)住所:???????????????????????1-3-4  のような感じ。

文字コードの関係かと思いましたが、普通の文字化けとは違うので
よく分かりません。
こんな現象の出た方いらっしゃいませんか?
500ゲトー

データベースの文字コード調べて見れ
501デフォルトの名無しさん:02/08/27 00:20
漏れはDLLだけはVCで組んでいるのだが、皆はDelphiで組んでおるのか?
うぃ。
Delphi7proをなんとなく注文、少し後悔、Delphi8まで待てば良かったかな(w;
取りあえずレポート作成ツールが一新されたんでしょ、
その辺りを試したいだけのアップグレードだけど、今までもPQCompo+LightRepな
使い方しかしてないんで、全然意味無いな(藁
>>501
何かポリシーでもあるんすか。
VC++ってextern "C"しても関数名化けるっしょ?
505Delフサギコ ◆VzDeLphI :02/08/27 11:38
  ∧,,∧
 ミ,,゚Д゚ミ なんかモーダルって事で特殊な
      処理してんのかな?

       ナカムラタクセンセとはハルボウさんがMLのどこかで
       Modalの真似をするとかで話してた気がするんですが,,,
       検索してもでてこなかーたです。
506教えてください:02/08/27 12:22
98se です。
以前 delphi personal を一度インストールしていた。
結局使わなかったので「追加と削除」からアンインストール
手動でフォルダはもちろんレジストリーの情報も 
borland 〜  以下を全て削除しました。

今回またインストールしようとすると
ファイアーウォールソフトの outpost が起動させてないにもかかわらず
不正な処理で警告が出る。
それを終了させてインストール続行。インストールウィザードが
「プログラムの変更、修復、削除」の画面になる。
仕方なく「プログラムの変更」を選んで続けると、インストールキー
の要求もなく終了し、再起動。しかしwin.com が見つかりません。
とメッセージが出て起動がとまる。
safe モードで起動
autoexe.bat の
SET PATH=C:\PROGRA~1\BORLAND\DELPHI6\BIN;C:\PROGRA~1\BORLAND\DELPHI6\PROJECTS\BPL
を削除して再起動させると問題なく起動する。

ちなみに前回とは違うフォルダにインストールするようにしています。
前回 c:delphi\プログラム\・・・・
今回 c:program files\・・・・
考えられるのは前回のインストール情報が残っているんじゃないかと
いうことなんですけれど
どこをどうすれば再インストールできるのでしょうか。
教えてください。お願いします。
507VSyncについて:02/08/27 15:03
Me+Delphi5 Learningで開発しています。
Delphiで垂直帰線を待つ方法を誰かご存じないでしょうか。
Cではこんなのが見つかりました。が、Cのconio.hにあたるものが見あたらないので移植できませんでした。
http://forums.belution.com/ja/vc/000/024/41.shtml
よろしくお願いします。
>>505
「モーダル」ってなんだっけ?
Xファイルの主人公?
確かに特殊だなぁあの仕事も。
509Delフサギコ ◆VzDeLphI :02/08/27 15:13
  ∧,,∧ そりゃあんたモルダーやがな!
 ミ,,゚Д゚ミつ

そういえば、デュカプニのエボリューション見たよ
なかなか楽しめたです。

そろそろAIもみたいっすな
510Delフサギコ ◆VzDeLphI :02/08/27 15:16
  ∧,,∧ それにしても、スレ間違いして
 ミ,,  彡 しまったと罠.....トホホ

こっちでした[ミ,,゚Д゚彡フサギコのフサフサDelphi談話室D]
http://pc3.2ch.net/test/read.cgi/tech/1030266945/l50
>>509
勝手にみろよ。
お前の好みなんてシラネェよ。




ついでに、氏ね。
>>507
 そのまま移植出来るように思いますが?
 inp命令は直接インラインアセンブラで呼び出しましょう

 ただし Win9x系でなくNT系だと   GWIOPMみたいなのを使わないと ハードは叩けませんが
>>507
DirectDraw使う手もある
514でもどり初心者 ◆KcG2I.hg :02/08/28 17:11
質問です。
Delphi6perで電卓を作っています。

その電卓を実行している時、他のアプリにフォーカスが
当たっている状態でイベントを取得できるもんなんでしょうか?

なにがやりたいかっていうと、例えばWordと自作電卓立ち上げている時、
Wordにフォーカスが当たってても、ファンクションキーなり、ショートカットキーなり押すと、
自作電卓を最前面に表示する/しない を切り替えたいんです。
Delphiのソースにパッチファイルを当てたいんですが、良く分かりません。
ぐぐったりもしたのですが、結局分からずじまい…

誰かお願いします。
>>514 ホットキーを使うといいでしょう  THotKeyの事ではなく
http://www.borland.co.jp/qanda/delphi/d0009422.html

のようにRegisterHotkey WM_HOTKEY を使います


ちなみに拡張子はpacthです
コマンドラインツールのpatchを持ってきて、
ソースのあるディレクトリに持ってきて、

patch -p0 < パッチファイル名

でいけるはず。
519修正:02/08/28 18:36
> ソースのあるディレクトリに持ってきて、
ソースのあるディレクトリにパッチファイルを置いて、
520デフォルトの名無しさん:02/08/28 20:01
DelphiでCOM DLLをインポートして使ったりできますか?
>>518-519
’patch’は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と出てしまいました。
>>520
[プロジェクト|タイプライブラリの取り込み]
WIN95で動くのはどのバージョンまでですか?
入手きるサイトも教えてください。
厚かましいですがおながいします。
524デフォルトの名無しさん:02/08/28 22:14
お前ら、この関数をDelphiに移植してください。
おながいします。

sub _md5_crypt
{
  my $pw = shift;
  my $salt = shift;

  my $Magic = MD5_CRYPT_MAGIC_STRING;
  $salt =~ s/^\Q$Magic//;
  $salt =~ s/^(.*)\$.*$/$1/;
  $salt = substr $salt, 0, 8;

  my $ctx = new Digest::MD5;
  $ctx->add($pw);
  $ctx->add($Magic);
  $ctx->add($salt);

  my $final = new Digest::MD5;
  $final->add($pw);
  $final->add($salt);
  $final->add($pw);
  $final = $final->digest;

  for (my $pl = length($pw); $pl > 0; $pl -= 16) {
    $ctx->add(substr($final, 0, $pl > 16 ? 16 : $pl));
  }


  for (my $i = length($pw); $i; $i >>= 1) {
    if ($i & 1) {
      $ctx->add(pack("C", 0));
    } else {
      $ctx->add(substr($pw, 0, 1));
    }
  }
525デフォルトの名無しさん:02/08/28 22:14

  $final = $ctx->digest;

  for (my $i = 0; $i < 1000; $i++) {
    my $ctx1 = new Digest::MD5;
    if ($i & 1) {
      $ctx1->add($pw);
    } else {
      $ctx1->add(substr($final, 0, 16));
    }
    if ($i % 3) {
      $ctx1->add($salt);
    }
    if ($i % 7) {
      $ctx1->add($pw);
    }
    if ($i & 1) {
      $ctx1->add(substr($final, 0, 16));
    } else {
      $ctx1->add($pw);
    }
    $final = $ctx1->digest;
  }

  my $passwd = '';
  $passwd .= _to64(int(unpack("C", (substr($final, 0, 1))) << 16)
    | int(unpack("C", (substr($final, 6, 1))) << 8)
    | int(unpack("C", (substr($final, 12, 1)))), 4);
  $passwd .= _to64(int(unpack("C", (substr($final, 1, 1))) << 16)
    | int(unpack("C", (substr($final, 7, 1))) << 8)
    | int(unpack("C", (substr($final, 13, 1)))), 4);
  $passwd .= _to64(int(unpack("C", (substr($final, 2, 1))) << 16)
    | int(unpack("C", (substr($final, 8, 1))) << 8)
    | int(unpack("C", (substr($final, 14, 1)))), 4);
  $passwd .= _to64(int(unpack("C", (substr($final, 3, 1))) << 16)
    | int(unpack("C", (substr($final, 9, 1))) << 8)
    | int(unpack("C", (substr($final, 15, 1)))), 4);
  $passwd .= _to64(int(unpack("C", (substr($final, 4, 1))) << 16)
    | int(unpack("C", (substr($final, 10, 1))) << 8)
    | int(unpack("C", (substr($final, 5, 1)))), 4);
  $passwd .= _to64(int(unpack("C", substr($final, 11, 1))), 2);

  return $Magic. $salt. '$'. $passwd;
}
shellexecute('shine.pl');
>>524-525
( ´,_ゝ`)プッ 氏ネ
>>524-525

function _md5_crypt(pw, salt: String): String;
var
 Magic: String;
begin

 Magic := MD5_CRYPT_MAGIC_STRING;
529デフォルトの名無しさん:02/08/28 22:28
>>521
晒しage
>>524
仕事を2chに持ち込むなアフォが
>>529
キモイ
>>529
janeスレの荒れている雰囲気を持ってこないでくれ、、
Janeは出るパイに何か寄与しましたか?
>>523
>WIN95で動くのはどのバージョンまでですか?
6パソナルを使ってます。

>入手きるサイトも教えてください。
>厚かましいですがおながいします
厚かましいです。
>>521
氏んでください。
コマンドがなかったら自分で調べて持ってくるという考えはないのですか?


とだけだとアレですので……。
patchはGNUの物だと思いますので、cygwinをインストールするか単体で動くものを入手してください。
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=win32+patch+&lr=lang_ja
>>523
> 入手きるサイトも教えてください。
http://www.borland.com/
537でもどり初心者 ◆KcG2I.hg :02/08/30 16:50
514です。
>>515のアドバイスで、だいぶ完成に近づいたんですが、
3回ぐらい、最小化と最大化で手前に表示を繰り返すと、
それ以上、反応しなくなってしまいます。

なにか、解決策に心当たりあればよろしくおねがいします。

ソースは↓フォームのWMHotKeyイベントです。ほかは。>>515のリンク先のサンプルそのまま。

if Msg.HotKey = id_SnapShot then
begin
if WinFlg then
begin
SetWindowPos(Application.Handle, HWND_NOTOPMOST, 0,0,0,0, SWP_NOMOVE or SWP_NOSIZE);
Application.Minimize;
WinFlg:=False;
end
else
begin
Form1.WindowState:=wsMinimized;
Form1.WindowState:=wsNormal;
SetWindowPos(Application.Handle, HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE or SWP_NOSIZE);
WinFlg:=True;
end;
>>537
> >>515のアドバイスで、だいぶ完成に近づいたんですが、
> 3回ぐらい、最小化と最大化で手前に表示を繰り返すと、
> それ以上、反応しなくなってしまいます。

その動作を3回未満しか行えないようにすれば解決ではないか?
539デフォルトの名無しさん :02/08/30 22:30
TComboBoxのスタイルをドロップダウンリストに設定。
Itemsプロパティに
算数
社会
国語     のように設定した時、
ComboBox1.Text := '国語';のような感じで文字列で選択中のアイテムを
変更したいのですが、どうすれば出来るのでしょうか?
540デフォルトの名無しさん:02/08/30 22:47
>>539
うろ覚えだけど、ドロップダウンリストの時はTextプロパティを設定できなかったような。
つーことは、

var
 iIndex : Integer;
 sString : String;
begin
 sString := '国語';
 ComboBox1.ItemIndex := 0;    //念のため

 For iIndex:=0 To ComboBox1.Items.Count begin
  if(sString=ComboBox1.Items[iIndex]) then begin
   ComboBox1.ItemIndex := iIndex;
   Break;
  end;
 end;
end;

こんな感じか?
541539:02/08/30 22:55
>>540
なるほど!ItemIndexをうまく使えば似たようなことが出来るんですね。
やってみます。ありがとうございました。
bitmapの処理をしてると
スタートボタンの色が変わるんですが・・・
なにが原因でしょう?
>>540
検索はIndexOfで一発ですよ、とすいませんが横槍。
544540:02/08/30 23:37
>>543
そんな便利なもんがあったとは・・・(鬱
ヤパーリきちんとプロパティだのメソッドだの調べておかないとダメっすね。




実は今日初めてTActionListってもんを経験したし。
便乗質問。
TStrings.IndexOfメソッドのヘルプによると

> IndexOf メソッドを呼び出すと,文字列 S の最初に見つかった位置,または
> 大文字小文字が S と異なるだけの文字列の最初に見つかった位置を取得できます。

とあるのですが、完全一致のみを探す時には使えないのでしょうか?
またその場合、代わりになるメソッドはありますか?
>>545
TStringList.CaseSensitive
6で追加されたんだったかな……
>>546
ありがとうございます。TStringListを使わないとダメなんですね。
TSringsにもCaseSensitiveあればいいのに。。。
これじゃだめかい?

CompareStr
>>547 Tstringlistでキャストしてやれば使えないかな・・・
550デフォルトの名無しさん:02/08/31 01:38
TStringGridについて質問です。
文字列を設定した後、ボタンクリックなどのイベントで
TStringGridの内容をクリアしたいのですが、どうやればいいのでしょうか?
>>550
for ループで回す。
>>550
StringGrid1.Free;
StringGrid1 := TStringGrid.Create;
with StringGrid1 do
 for I := 0 to RowCount - 1 do
  Rows[I].Clear;
554デフォルトの名無しさん:02/08/31 13:05
フォームのサイズを変更させないようにするには、どうすれば?( ´ー`)y-~~
555デフォルトの名無しさん:02/08/31 13:06
やっぱDel厨って馬鹿だな
>>555
謝罪する。>>554は確かにアホだ。
>>556
うむ。自覚してれば問題なし。Del厨馬鹿決定。
>>554
なんかマジレスしにくい雰囲気だな。
釣られてる、俺?
>>558
きっと大丈夫。マジレスしてやれ。
>>558
マニュアルなりヘルプなりを読ませるのが親心だと思うが・・・。
Delphi-MLから内容の同じメールが死ぬほど届くけど俺だけ?
562デフォルトの名無しさん:02/08/31 18:10
折れもだ、しかもvine-usersってMLでも同じ現象出てるような・・・・。
ヘッダー見たら
Received: from pal.tok2.com (pal.hotcake.ne.jp [219.101.135.23])
が全てに共通してある、ここが悪い?
うちには同じメールは来てませんが?
>>563
嫌われてるんだよ。
>>537
マジレスキボン( ´Д⊂ヽ
どーやら、hotcake.ne.jp が悪いらしいな、
しかし、hotcake.ne.jpトロすぎないかな?
こんなに長時間トラブルの状態を維持するなんて、
スキルないなら辞めて欲しいよ。
全MLで発生してるトラフィックは膨大だ。
567デフォルトの名無しさん:02/08/31 20:14
Del厨必死だな(藁
568デフォルトの名無しさん:02/08/31 20:14
D e l 厨 必 死 だ な (藁
569デフォルトの名無しさん:02/08/31 20:14
D e l 厨 必 死 だ な (藁
570デフォルトの名無しさん:02/08/31 20:14
D e l 厨 必 死 だ な (藁

571デフォルトの名無しさん:02/08/31 20:28
Ozawa@MMCって誰?
572デフォルトの名無しさん:02/08/31 21:02
Delphiで作ったソフトって、
タスクバーでそのソフトを右クリックしたら

・元のサイズに戻す
・最小化
・閉じる

しかでないの?

これだと、せっかくC言語で作ったって自慢しても、
簡単なDelphiで作ったってすぐバレちゃうじゃん!!

俺がいま2ちゃんねるブラウザとして使ってる
『ホットゾヌ』もDelphiで作ってるみたいだな
>>572
心配するな。C++Builderも同じ仕様だ。
574デフォルトの名無しさん:02/08/31 21:09
>>573
マジですか!!!
575デフォルトの名無しさん:02/08/31 21:12
>>573
その仕様を無理やり変更!!
なんかは、できないのかな?
できるなら、おじさんに教えてくれないか?( ´ー`)y-~~
>>575
出来るけど?検索すれば引っかかる。
577デフォルトの名無しさん:02/08/31 21:14
>>572
そのことを知らない、シロートにだけ配布すれば、あなたは神様です( ´∀`)
578デフォルトの名無しさん:02/08/31 21:15
>>576
お願いです、この場で教えてくださいm(_ _)m
>>578
死ね。
580デフォルトの名無しさん:02/08/31 21:24
>>579
貴様が氏ね
>>572
JaneだってDelphiで作られてるけど、他のメニュー項目も出てますよ〜
>簡単なDelphiで作ったってすぐバレちゃうじゃん!!

あのさ、そのソフトで何が出来るかは大事だろうけどさ、
何で作ったかなんてのに何の価値があるの?
>>581
そりゃ付け加えているから出るんだろ
>>582
VB厨にはあるようです。煽りのネタになるから。
585デフォルトの名無しさん:02/08/31 21:54
>>584
同意。ランタイムいる時点でクソソフト扱い。
まぁ、クソソフト率もそれ相応に高いが。
たとえどんなにVBが便利なものであろうとも、人に見られるところには使いたくない。
自分で使うにしても、VBスクリプトしか書く気ないし。
>>587 ランタイムも少しならいいんだけどね、
 実行ファイルと同じディレクトリなら許せるけど
 WinXX\system32 とかにコピーされても困るんだよなあ
やっぱり同じ理由で.NETも駄目ですか?>ランタイム嫌いの皆様
>572
Delphi が簡単なんじゃなくて、ライブラリが優れてるから
簡単に扱えるってるって事に気が付かないのか?
C だって、ライブラリを上手く使えばスゲー簡単なのに・・・。





あ、チンコたってきちゃった(*´Д`)ハァハァ
使いやすいライブラリを作りづらいのが非OOPLの悲しさ。
確かに・・・。
> やっぱり同じ理由で.NETも駄目ですか?>ランタイム嫌いの皆様

ランタイム好きのひといるのか?

圧縮ファイルの形でさえ20Mbのランタイムで、exe が 8kbというのは
なんかヘンじゃない? まぁ、いいけど
ランタイムライブラリuser32.dll, kernel32.dllに依存してるDelphiって糞だよな。
>>595

アフォですか?
Windowsに(以下略
PCに(以下略
電力に(以下略
>>572
Borland C++Builderはいかがでしょう?
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  Professionalは68,000ダ
 | 某|   ヤスイダロ
 (__)_)
>>565
何がしたいのかよく分からないのだけどこういう事?
  if Msg.HotKey = id_SnapShot then
  begin
    if GetActiveWindow=Form1.Handle then
    begin
      Application.Minimize;
    end else begin
      Application.Restore;
      Form1.SetFocus;
    end;
  end;
>>600
ありがとうございます。

通常画面に戻す時にWindowStateを使わずに、
Application.Restoreを使ったらうまくいきますた。

WindowStateプロパティ使いにくいなぁ…。
602デフォルトの名無しさん:02/09/02 17:46
ListViewにて質問です。
フォントサイズを小さくすると行間も詰まってしまい
見辛くなってしまいますが、行間を広くすれば、やや見やすく成ると
思うい色々と調査しましたが、その方法が見当たりません、
そもそもListViewの行間を広げる方法はあるのでしょうか?
あれば、その方法を教えて下さい。
(StringGridを使った方が良いのかもしれないなぁ・・・)
>>602
TImageListを関連づけてそのイメージリストのHeightをでっかくする
604602:02/09/02 19:17
>>603 なるほど! 思いつきもしませんでした、有難うございました。
605デフォルトの名無しさん:02/09/02 20:12
ボタンを押してる間だけカーソルを変えたいんですが、
procedure TForm1.Button1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 Button1.Cursor := crCross;
end;

procedure TForm1.Button1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 Button1.Cursor := crDefault;
end;

だとうまくいきません。どうすればいいですか?
Screen.Cursorじゃね?
>>605
ApplicationEventsをフォームに貼り付けてOnMessageに
case Msg.message of
WM_LBUTTONDOWN: Button1.Cursor:=crHandPoint;
WM_LBUTTONUP: Button1.Cursor:=crDefault;
end;
と書くとか。
608605:02/09/02 20:27
>>606様607様できますた!ありがとうですた!!
 ∧_∧
( ;´∀`) ちんこも勃ってきますた。
人 Y /
( ヽ し
(_)_)
>>609
それ関係なくないですか?
>>610
は?できますが何か。

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then ReleaseCapture;
Button1.Cursor := crCross;
SetCapture( Button1.Handle );
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Button1.Cursor := crDefault;
end;
TListBox(vsList状態)のヘッダ部分に、並び替えの状態を表示するために
TCustomListBoxのPaintメソッドをオーバーライドして、ヘッダのある場所に三角形を描画しているのだが、

リストボックス部分の再描画しなければならない状態になると、ちゃんとPaintメソッドが呼び出されるのだが、
ヘッダーの部分だけのみの再描画要求だと、Paintメソッドが呼び出されない。どうすればいいんだ?
Labelプロパティを追加して状態をそのラベルに表示する。
TListBox? TListView じゃなくて?
615デフォルトの名無しさん:02/09/03 06:56
Janeを改造したくてdelphiを覚えようかと思ってるのですが
3000円ぐらいでおすすめのdelphi入門書ありますか?

プログラミング経験はCとPHPをかじったぐらいで
RADを使うのは初めてです
>>615
俺もそういう質問しようと思って、この板のDelphi関連の過去ログを
読んだことあるんだけど、やはり大きめの書店行って、自分で選べってさ。
近くの本屋は全部当たったけど一つもDelphiの本はなかった。
田舎なもんで大きな書店に行くにはかなり遠出だから、amazonで済まそうかと考え中。
>>615
せめてVBの経験があれば、独学でいけると思うけど・・・
俺はBCBから入ったんで、Delphiは書籍買わないで覚えた。スマソ。 
>>617
そうですね。VBの経験があれば、あとはOOの勉強とリファレンス一冊買っとけば
いいんですけどね。それがないなら、まぁ適当な一冊を・・・としかいえない。
ついでに、一般の書店にも置いてあるDelphi入門書って言えば1冊しかないような。
あの本ならちょくちょく見かけますけどね。中は見たことありませんが。
ヤフオクででも D1 を手に入れて(D3かD4くらいまでには付いてた筈)
このD1のコーチ動かして覚えたら?
>>618
Delphiは詳細なヘルプが付属しているから、リファレンスはそれで十分。
あとはTutorialでRADの使い方をマスターして、オブジェクト指向は体で覚える。
>>620
ヘルプねー。
あれ読んで理解できる頭のいい人はいいんだろうけど、リファのほうが詳しく載ってるんだよね。
そこは各人のレベルに合わせて、と。
>>620
>オブジェクト指向は体で覚える。
それはいくらなんでも無理ですぅ〜
どうやって体で分析設計技法を覚えられるんですか?
力ずくでやるならCやVBの方が向いてるし。
Janeのソース読んで改造するくらいなら、なんとかなるんじゃない?
一から設計するのとは訳が違うし。
624便乗質問:02/09/03 15:08
>620
ヘルプで十分ってのには禿同なんだけど、*.hlp 形式って使いづらい・・・。

そこでなんだけど、*.hlp 形式のファイルを *.html にコンバートしてくれる無料
のツールってないでしょうか?または、コンバート済みのファイル・・・。
自分で探してみたんだけど、有料しかないみたでいやーん。

あはーん。
626デフォルトの名無しさん:02/09/03 16:39
DelphianWorldで検索ができないのは俺だけですか?
「キーワードを入力して下さい。 」とだけでて、検索不能でやんの
>>624
F1で検索できなくなるよ?
>627
別に元の *.hlp を消したいわけではないくて
それとは別に、html 化したファイルがほしいの。
(もし、消さないと手に入らないのなら *.hlp 消してもかまわないけど)

漏れが *.hlp が嫌いなのは、ヘルプの開かれたページ内で
Ctrl+F が出来ないのが嫌。できる方法ってあるのかな?
俺もhlp形式が好きじゃないなあ。
何かいいツールないかな。
マウスのホイールが効かないのと、スクロールバーを動かしている間はスクロールしないのが嫌。
できる方法ってあるのかな?
>638
名前はアレだけど、それはこれでいけるよ。

どこでもほいーるん
ttp://0ban.com/araken/qdoko.htm
>>630
ヘルプクライアント自作しる!
ヘルプシステムはGalileoで一新されるよ
634Delフサギコ ◆VzDeLphI :02/09/03 18:51
 ミ,,゚Д゚彡俺はBCB製のこっちつかてます
WheelActive
http://k-ta.lowtech.ne.jp/win_program.html
635デフォルトの名無しさん:02/09/03 18:55
>>633
Galileoとは何そ?
637615:02/09/03 21:00
日系ソフトウェア編
カンタン! Delphiプログラミング
っていうのかいました
なかなかよさそうです。
>>637
カンタンなのは、簡単なことしか書いてないからっていう理由。
>>638
まぁ、入門だし。
入門としてはいい方だ
ボタンを押したときに、OutlookExpressの新規メールが立ち上がって、
送信先のメールアドレスと、複数の添え付けファイルが既に格納
されてて、あとは本文を打つだけって状態にするにはどうすればいいですか?
>>642
アリガdございます。
644615:02/09/05 08:38
カンタンにしか書いてないから
理解するのがむずかしい・・
もっと詳しく書いてほしかったな・・
もっと詳しくってのはアレだな
コピペすれば動くようにってことだよな
あれで難しいって感じるのなら他のどの本でも難しいんじゃないか?
647デフォルトの名無しさん:02/09/05 19:41
DBGridについて質問したいのですが。
行の高さを変える方法を教えていただけませんか?
あとDBGridのDefaultRowHeightって設定できるのでしょうか?
それができれば、行の高さを変える必要はないのですが…
648デフォルトの名無しさん:02/09/05 20:14
いいかげん.dskは相対パスで記録するようにならんのですか?
それとも何か弊害があるのでしょうか
時間のかかるquery投げて待っているときに
フォームが真っ白になってしまうんですが。
これって合間合間にform updateとかする以外に
対処ないのでしょうか。
query を別スレッドから投げれ
651hook:02/09/06 11:48
D5+WinMEです。
DLLの中で
var
Hook: HHOOK;

function KeyHookProc(nCode: Integer; wp: WPARAM; lp: LPARAM): LResult;stdcall;
begin
Result:=0;
if nCode<0 then
Result:=CallNextHookEx(Hook, nCode, wp, lp)
else
//処理
end;

function SetHook(Wnd: THandle): Boolean;
begin
Result:=True;
Hook:=SetWindowsHookEx(WH_KEYBOARD, KeyHookProc, hInstance, 0);
if Hook=0 then Result:=False;
end;

function FreeHook: Boolean;
begin
Result:=True;
if not UnhookWindowsHookEx(Hook) then Result:=False;
end;
とし、exe側から静的リンクで呼び出してもグローバルフックとならず、呼び出したウィンドウの上で
のみ反応するローカルフックとなってしまいます。このコードにどこか間違いがあるのでしょうか。
>651
やっと事ないから分からないけど、たぶんこの辺参照で解決の予感
http://www2.biglobe.ne.jp/~sakai/usehook.htm#ShareMem
653652:02/09/06 14:20
訂正
×やっと事
○やった事
654651:02/09/06 17:17
できました!感謝感激アメアラレ
龠 λλλλλλ...
655デフォルトの名無しさん:02/09/06 17:36
>>650
>ローカルデータベースへのアクセスにおいては、
>マルチスレッドの使用は逆効果だということです。
というのはどういう意味なんでしょうか。

656デフォルトの名無しさん:02/09/06 18:59
コンポーネント(?)
をダブルクリックすると自動的に生成されるコードありますよね?
(procedure TForm1.~~~ begin~~~end;)というやつ
あれを削除した後でもう一度同じコンポーネントをダブルクリックすると
エラーがでてコードが生成されないのですが
これはどうしてなんでしょうか。
657デフォルトの名無しさん:02/09/06 19:00
具体的なエラーは
メソッド〜〜が見つかりませんというものです
delphiつかってみたけど
エディターの機能が貧弱すぎ
操作性が悪くて
いやになる
Undoぐらいちゃんとつけれ
ってかんじだ
>>655
日本語は文脈で理解しなさい。
660A:02/09/06 19:13
>>656
そのエラー名のとおり。
オブジェクトインスペクタで、そのコンポーネントのイベントに関連付けられてるメソッドを
削除してしまったので、「メソッドが見つからない」と言われてる。

オブジェクトインスペクタのイベントタブで、そのメソッドを呼んでるイベントの欄を
全て空白にすれば、OK。

というより、そもそもメソッドを消したいときには、
begin 〜 end の間だけを、全部消せば、あとはIDEが全部やってくれる。
661デフォルトの名無しさん:02/09/06 19:16
レスどもっす
いわれたとおりにやってみたのですが
やっぱし同じエラーがでちゃいます・・
662デフォルトの名無しさん:02/09/06 19:18

typeのところにかかれている宣言を消したら
うまくいきました
うーん
わけがわからない・・
>>659
というか、一般的にSQLは別スレで投げるのが一般的
なんでしょうか。逆効果の理由というか衝撃的な
結果があるのか知りたいんです。
つまり
procedure TForm1.Button1Click(Sender: TObject);
(変数宣言)
begin
(処理)
end;
とあったら、変数宣言と処理だけを消しておくとコンパイルやユニット保存時に
自動的に消してくれるワケです。
> エディターの機能が貧弱すぎ

そうですか。
ユーザの能力が貧弱すぎ、が原因です。
>>665
いや、エディタは確かに貧弱だろ。
慣れてるからあまり気にならないけど。
667Delフサギコ ◆VzDeLphI :02/09/06 21:08

     「貧弱貧弱ウィリリリリリー」
  ∧,,∧ ってのを思いだ素股した
 ミ,,゚Д゚彡
 ミつ[|lllll]).
〜ミ  ミ   さながらMSは無敵のThe World
  U''U    ってとこかしら。
       勝てる見込み庵野っすか?>>某タン
> いや、エディタは確かに貧弱だろ。

何と比較して、どのように貧弱ですか。
>>668
>>666じゃないけど
範囲選択して空白インデントとタブインデント(その逆も)とか
コンパイルしてもしなくても関係無しに無制限でアンドゥ・リドゥとかは
ちょっとほしいな。
コンパイルしたら
アンドゥできないなんて
きついっす・・・
>>669
いつからできなくなったのか
「保存後の取り消し」にチェックを入れてみるとか、
範囲を選択してCtrl+Shift+I(U)を押してみるとか
>>671-672
おあ!サンクス!
保存後の取り消しにチェック入れても
コンパイル後にはアンドゥできないよ
そうなのかよ!期待はずれsage
ウチのDelphi5はコンパイル後のアンドゥができるのだが気のせいか。
>>674
おかしいですね。
コンパイル・再構築・実行の3つともできますが?
ちなみにDel3/6しかないですが、Del3ではUndoがAlt+BkSpですた。
(Del6ではCtrl+Z)
コンパイルじゃなくて、実行したらじゃねーの?
これを確認してみそ。
設定 (ツール|環境オプション)−[自動保存の設定]オプション − エディタファイル
あ、そうでした
実行したらっす
680650:02/09/07 02:46
んーありゃ書き方が悪いよな。誤読するのも無理はない。
もしこれを読んでいたら直しておいてよ。>某のひと

あの文章を言い換えると、

> クライアントサーバ環境では、
クライアントはクエリー発行中は単に結果を待っているだけなので
クエリーを複数発行する場合に
>マルチスレッドによって、複数のサーバへ同時にクエリーを発行する
ことによってユーザーに結果を返す時間を短縮する
>こともできます。
しかし
> ローカルデータベースへのアクセスにおいては、
発行したクエリーを処理するのは、クエリーを発行したマシンなので
性能向上などを目的で複数のクエリーを同時発行するのを目的に
> マルチスレッドの使うのは逆効果だということです。

で、以上を踏まえて649の質問に回答すると、
マルチスレッドを使う目的がクエリー発行中にフォームが固まるのを
防ぐため(一度に投げるクエリーは1つだけ)なら躊躇わず使ってよし。
ただスレッド一般の話として例外処理やスレッド処理中の終了要求とかは
ハマりがちなので気をつけて書こうな。
681デフォルトの教えて君:02/09/07 03:42
>>680 わ〜い。
ありがとうさんです。すっきりしました。
出所までまで推測して調べてくれたんですね。
感謝感激です。(T_T).
エディタへの不満は、だいたい

>ユーザの能力が貧弱すぎ、が原因です。

に賛成。
>>680
どの文書のことを言っているんだろう....
>>679
Del6 Pro + GExpertsの環境だができるぞ。

まさか
・環境オプションの[自動保存の設定]オプションで「エディタファイル」にチェックが入っていて、
・エディタオプションの「エディタ設定」で「保存後の取り消し」にチェックが入っていない、
というオチじゃないよな。

685684:02/09/07 07:25
ま、正直な話、vim使ってた俺から言わせるとほとんどのIDEのエディタ(VCすら)
は貧弱だがな。
>>685

Vim isn't an editor designed to hold its users' hands.
It is a tool, the use of which must be learned.

どんなスグレモノでもその使い方を知らないと
IDEが無きゃコード書けない馬鹿でないなら、
エディタが貧弱なら、その貧弱でない好きなエディタ使えばいいのにと

いう結論から、エディタが貧弱だから・・という奴はIDEが無きゃコード書けない奴なんだろ?
>>687
自分で、何を言っているかわかっていますか?
正体不明の構造体は入力支援でレコードを見る。
690679:02/09/07 08:26
>>684
そういうオチじゃないです
691679:02/09/07 08:27
あと
マウスクリックした位置から入力は始まるのも
こまっちゃうよなー
ctrl+←の動作も統一されてないしさ
692デフォルトの名無しさん:02/09/07 10:00
VSSをDelphiIDEから使いたいよ。
>>692
もちろん使えるけど。5秒くらい検索すれば。
しかしVSS、CVSなんて標準で対応すりゃいいのに。
>>693
その脳内理論を普遍なモノとして語る癖やめないと友達いなくなるよ?(ワラ;
今時「脳内」なんて言葉を使っているーっ!
696650:02/09/07 17:06
>>683
某のDelphi TipsのTThreadの文章のことだよ。
ttp://www.borland.co.jp/tips/delphi/dh004/thread_1.html
質問でつ。
Linux への移植を睨んで CLX で作ってるのですけど、
biHelp=true にしたときの [?] ボタンで出すヘルプ、どうやったら出せるんでしょう。
F1 押したときはちゃんと OnHelp に飛んでくるのですけど・・・
Qt の方を調べてみると QWidget::customWhatsThis をオーバーライドするのかなぁ?
でも CLX だとどーすれば??
>>696
.. 連絡してやれよ。それくらい。
うーん。WinHelp を起動するのは難しそう。
QT 独自の PopUp Windows を出すのはできたが。
>>699
あ、それでいい、それでいい。WinHelpなんか要らん。どやるの???
テストのみ。手でコピーしてるんで、適当に補ってくれ

var
w : WideString;

w := 'ヒント';
QWhatsThis_add( Button1.Handle, w);

これで?カーソルで Button1をクリックすると「これはなに」ウィンドウが開く。


702697:02/09/07 17:59
おおっ、出た!やたーっ!素晴らしい。
701 さん、ありがとう!感謝!
よかった。
Delphi を今後もよろしくね!
>>691
それはフリーカーソルという立派な機能ですよ。
邪魔ならコレ使うよろし。
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
>>693
えーっと、1時間くらい探したのですがDelphi3用以外は見つかりませんでした。
Delphi6用を探しています。
706デフォルトの名無しさん:02/09/08 01:48
TThreadについて分からない部分があります。
TThreadクラスのFreeOnTerminateのヘルプには、、

>スレッドの実行終了後にスレッドを明示的に破棄したくない場合は、
>FreeOnTerminate プロパティを True に設定します。

って書いてあるのに、、

>FreeOnTerminate プロパティが False の場合,スレッドオブジェクトは
>アプリケーションコードによって明示的に破棄されなければなりません。

ってなっています。
Trueの場合→勝手に破棄されない(ってことは自分で破棄)
Falseの場合→アプリが明示的に破棄(ってことは自分で破棄)
なので、どっちも自分で破棄しなければいけないの??
プロパティ名からすると、前者の説明が間違っているように感じるけど。。
707706:02/09/08 01:49
勘違いしてた。
>スレッドの実行終了後にスレッドを明示的に破棄したくない場合は、
>FreeOnTerminate プロパティを True に設定します。
これは、自分で破棄したくない場合はTrueにしろ!ってことだったのね。。。
スレ汚しゴメソ
> マウスクリックした位置から入力は始まるのも
> こまっちゃうよなー
意味がわからない。
クリックした別の行から入力が始まるのがよいとか?
>>708
自由にキャレットが移動するのではなくて、
行端以降をクリックしたら自動的に行端にキャレットが戻る方がいいと言いたいのでは?
私はフリーキャレットの方がいいな。コメント付けやすいし
そうなのか。俺もフリーカーソル派なのでわからなかった
711Delフサギコ ◆VzDeLphI :02/09/08 14:59

   ∧,,∧    /
  ミ,,゚Д゚彡 < とりあえず。
   ミつ つ   \
 @ミ  ミ      
   ∪''∪     
Delphi/BCBフリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/
712デフォルトの名無しさん:02/09/09 09:57
相談室でやるか。
>port 番号からアプリケーションの割り出し

iphlpapi.dll を使います。Windows98 以降ならインストールされています。
げ。XP 以降の隠しファンクションでしかできねぇや。
ウツダシノウ
>>668
別に何と比較というわけでもなく
上方向への検索
キーボードマクロのファイルへの保存
文字コードの表示
カーソル行アンダーライン
この4つは欲しい。
> 上方向への検索
確かに、ダイアログでいちいち切り替えるの面倒くさい

> キーボードマクロのファイルへの保存
そう、保存できないからちょっとした中断ができないんだよな。
「しおり」も保存してほすぃ。

> 文字コードの表示
何かわからないが、GExpertsのASCIIコード表示ではだめか?


「しおり」の保存って、Delphi3くらいのときから待ってるんだけど未だにつかない。
もしかして、誰も使ってない?
>>716
もしかして、ここに書いておくと何か幸運が落ちてくるとか... 願っている?
718Delフサギコ ◆VzDeLphI :02/09/10 11:28
>>715-716ほとんど同意
             _______________
  ,,,,,,,,,,,,,∧,,∧   /関係なくシツモソ
〜′,,,,,,,ミ,,゚Д゚彡<  ウィルスチェックソフト花王かと思うのでしが
  UU""" U U   \ Delphiとかと、相性のよいウィルスチェックソフトって
                 何があるでしょうか。
   なんか、いつもMLで
   ウィルスチェック切れとか出てルシ、何を刈ったらましなのかと...
>>718
ノートンなんかでいいんじゃないの?
なにかソフトをインストールするときとか以外は止めたことないけど
別に不具合ないよ。
VS.NETインスコするときに、ノートン切るの忘れてたらVSがウィルスだとか言われて
笑ったけど。
720 ◆xDd9P2XM :02/09/10 14:46
Norton, Mcafee, VirusBuster 三種類使っていますが、
どの環境でも問題ありません。

そりゃ、やたら古いのを使っていたら何が起きるかわからないけどね。
721Delフサギコ ◆VzDeLphI :02/09/10 20:08
             _______________
  ,,,,,,,,,,,,,∧,,∧   /サンクsコ
〜′,,,,,,,ミ,,゚Д゚彡<  
  UU""" U U   \ 
              
722デフォルトの名無しさん:02/09/10 22:56
どなたかお願いします。
ListBoxに異なるフォントで表示させたいのですが、

ListBox.Font.Name := 'MS ゴシック';
ListBox.Items.Add('Delphi');
ListBox.Font.Name := 'MS 明朝';
ListBox.Items.Add('相談室');

こうすると、後のMS 明朝で表示されてしまいます。
どうすればいいのでしょうか?
オーナードロー
724ML信者:02/09/10 23:00
本気でレスしていいものか分からんが…
MLで質問してOK!
いいレスかえしますよ。
>>724
ここでレス白よボケ
726デフォルトの名無しさん:02/09/10 23:07
自動では無理。
>>723の言う通りオーナードロー(Styleプロパティ)を使用して。
OnDrawItemイベントで書きまくります。
後は自分で調べてちょ。ヘルプ見るなり。
他の人のコンポーネント(ソース付)をダウンロードするなりしてね。
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

これが 本 気 で レ ス ですか?
>>722
 Windowsの作法ではデータ作成と描画は別となっています
 Items.Addは複数のデータを書いているのですが、Fontは一つしかありませんから
 別のタイミングでされる描画では最後のフォントでしか表示されないという事になります

>>723さんの言う通り、描画の時にフォントを一々変えて表示させてやる必要があります
729デフォルトの名無しさん:02/09/10 23:16
>>727
何?コードでも書けって言うのか?
幼稚園児じゃあるまいし、このヒントで判らないようなら
プログラム書く資格なし。
730ML信者:02/09/10 23:18
>>726
ワタシジャナイヨー

731722:02/09/10 23:18
>>726
>>728
ありがとうございます。ヘルプ読んでやってみます。
732ML信者:02/09/10 23:20
>>729
この程度のことを聞いてくるアフォです。
Button1.onClickイベント内に全ソース書かなきゃ理解できないよ。
733723:02/09/10 23:21
俺は無視かよ・・・(´・ω・`)ショボーン
734デフォルトの名無しさん:02/09/10 23:23
>>730さん、ごめんなさいね。
私がクソレスしちゃったばっかりに・・・
でも、何でもかんでも丁寧に教えちゃうと
自分で考える事をしなくなっちゃいますからね。
人のコードを追っかけるのも勉強です。
735722:02/09/10 23:37
>>723
ごめんなさい最初に書いてくれたのですよね。
これこそOwnerDrawですね。
感謝してますよ。

>>727はデムパかと・・・
736デフォルトの名無しさん:02/09/10 23:38
>>723さん、使ったこと無い人には
宇宙文字だったりします。オーナードローって・・・

オーナードロー = オナニードロドロ 
(´-`)。o ○ (だからなんだってんだろう?>>737
(´-`).。oO(シッ!!見ちゃいけません!!)
(´-`).。oO(>>737はあれがおもしろいと思ったわけだ)
741デフォルトの名無しさん:02/09/11 11:45
>>722
簡単に・・・
procedure TForm1.ListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TListBox).Canvas do begin
Brush.Style := bsSolid;
FillRect(Rect);

if (Index mod 2) = 0 then Font.Name := 'MS ゴシック'
else Font.Name := 'MS 明朝';

TextOut(Rect.Left + 5, Rect.Top + 8,
(Control as TListBox).Items[Index]);
end;
end;
742 :02/09/11 13:57
パチンコで負けた腹いせにKylix3を
買おうと思うんですがどうでしょうか?
>>734
該当者の予感.
質問者が理解できてかつある程度考える余地を与える回答というのは
なかなか難しいものですハイ.
744デフォルトの名無しさん:02/09/11 14:01
そんなリッチな君は、即買いなさい。
>>742
パチンコの景品にKylix3おいてもらえ
746デフォルトの名無しさん:02/09/11 16:23
>>743
最近は言わなくなりましたが、習うより、慣れろです。
習うよりgoogle
> パチンコで負けた腹いせにKylix3を

コレクターですか。
ほかに何をお持ちですか。
Turbo C なんかありますか。
Quick Basic 持ってます。
「儲けすぎた仕事が1件あるんだけど、買い物ない?」と上司に言われたので
D7を購入することにしました。今年に入ってからD6を導入したというのに・・・。
751デフォルトの名無しさん:02/09/12 10:35
>>747
本当に限界を感じたらね。

>>750
儲かるなんて良い事。
Delphi使う人が増えるの良い事。
どんどん増殖すべし。
今からDelphi6Personal始めます。
プログラミングさっぱりな僕におすすめの本はありますか?
>>752
少年ジャンプ
>>753
ワラタ
755デフォルトの名無しさん:02/09/12 14:22
>>752
マジレス。
そんなもん、おめーじゃねーから判らねーよ。
自分の頭で理解できる本を、大きな本屋に行って物色してこい。
>>752
本屋で入門て書いてあるのを財布と相談して買えば?
そんなに迷うほどの種類はおいてないと思われ

757752:02/09/12 17:31
Delphiやるとバカになるようなのでやめます。


━━━━━━━━━━━━ 終了 ━━━━━━━━━━━━


すぐにD8でると思うんだがなぁ…
>>759
いや,きっと遅れるだろう。。。
761デフォルトの名無しさん:02/09/12 20:16
マターリと待ちましょう。
Delphi始めてみようと思うんですが書籍買うお金がありません
プログラミング超初心者にも分かりやすい解説のHPを紹介してください
チュートリアル嫁
>>763
割れ物なのでそんなもの付いてませんw
>>752
とりあえずこれオススメ。
http://www.amazon.co.jp/exec/obidos/ASIN/4822216888/250-7777795-2869864
プログラミングさっぱりなんだったら、
理解できなくてもこの本の半分くらいまではバシバシ書いていけ。

半分超えたら図書館で初心者向けのDelphi本借りれ。
それでPascalの基本学べ。
全て読まなくていい。
文字列操作とか基本的な型だけ理解できればいい。

んでこの本に戻ってきて、
せめてランチャーまでは作ってみれ。
そこまできたらあとはDelphianWorldとかAboutDelphiとかを回って
実践あるのみだ。

途中詰まることがあればココ
http://www.geocities.co.jp/SiliconValley-SanJose/2560/delphi4/index.htm

がんがれ!
>>764
只のもの割ってどうするよw
>>766
764はEnt版を持っているに違いない(w
>>767
そういえばNewsgroupに個人でEnt買いますとかって張り切ってるヤシいたな。
>>768
それってDelphiじやなくてJB7のEntじゃねえか。
しかもそいつ使いこなせて無くてDQNな質問繰りかえしてるよ。
見てらんない。
>>704
>>711
で、紹介されてるフリーカーソル無効化プラグインって、
マウスで行末以降をクリックしても、カーソルはクリックしたとこに表示するのね。
フリーカーソルじゃ無いエディタの標準的な動作だと思う、
「行末以降の空白をクリックしたらカーソルは行末に」
という動作じゃないのは仕様でつか?

って、ここまで書いて、
付属テキストにそんなことが実現されるとは一言も書いてないことに気付いた。
むー仕様なのか・・・。

Delphi 6 Personalで、ちゃんと
おいっ!どうした!?
>>768
URL教えて
773デフォルトの名無しさん:02/09/14 14:21
Delphi7が出るって何だゴルァ!早すぎるぞ!!
>>773
でもバージョンアップするんでしょ?
好きなくせに・・・
俺はしないよ。だってVS.NET買っちゃったから。
製品版とは別に、1万くらいで D6->D7のアップデート版も出してくれないかなあ・・・・
この頻度だと厳しいや
D5Pro→D7Pro
D6Pro→D7Pro
でバージョンアップする場合の金額差ってどれくらい?
本についてたDelphi 6 Personalって
7が出た今でも無料で登録できるんかな?
Delphi7の優待販売5万はちと高いじょ・
Delphi7のXPスタイルにかなり期待してます。
D5でXPスタイル適応すると文字列云々バグ三昧でしたからね。
http://page4.auctions.yahoo.co.jp/jp/auction/d20578281
これでDelphi買ってもバージョンアップ受けられる?
せめて優待販売でも
ユーザー登録できなきゃ意味なかろーもん。
>>778
今後が心配だよね。

おれはPro使っているからどうでもいいと言えばそうなんだけど、
もしもD6Personalがフリーじゃなかったら、あれほど多くの種類の2chブラウザ
が開発されることは無かったと思う。
784てすた:02/09/14 22:34
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄
  |∵ |   __|__  | < うるせー馬鹿!
   \|   \_/ /  \____
    \____/
785778:02/09/15 00:37
>>783
というか実は該当ページが削除されてるですよ、、、
「delphi6もう使っちゃダメ!delphi7買うて!」ってことになったら…。
困ると同時に暴動が…。
ってこともないか。
787Delフサギコ ◆VzDeLphI :02/09/15 00:48
             _______________
  ,,,,,,,,,,,,,∧,,∧   /該当って?
〜′,,,,,,,ミ,,゚Д゚彡<  
  UU""" U U   \D6パソのダウソは継続中
              ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
http://www.borland.co.jp/delphi/personal/
D7も無料ダウソにしたらいいのに。
788778:02/09/15 01:12
>>787
本当だ、、、
さっきアドレス直打ちしたときは出てこなかったと思ったけど打ち間違えたのか?
どうもお騒がせしてすみませんでした。
789デフォルトの名無しさん :02/09/15 20:08
ImageListのimageの順番を変えたいです。
Imagelist.Insertで入れ替えはできたのですが、
何かいい方法はありますか?
>>789

もう一つつくって好きなように入れ替えたら
>>789
Moveというのがあるように見えるが
>>780
そんなバグあった?詳しく教えて。
793789:02/09/16 00:07
>>791
サンクスコ。できたよ〜。
>>792
ありまくり。
>>794 バグはXP側って事? それに対応しろって事か・・・
796デフォルトの名無しさん:02/09/16 10:43
Delphiのアプリを起動させた時に画面のちょうど真ん中に表示させるには、どうすればいい?

一言:
'Delphi'から'p'の字を抜くと'New Delhi'のデリー(Delhi)になるね
>>796
Positionプロパティ を poScreenCenter
798デフォルトの名無しさん:02/09/16 10:55
>>797
サンクス
799デフォルトの名無しさん:02/09/16 10:58
>>797
あと、あるボタンにフォーカスさせるにはどうすればいいですか?
ActiveControl
801bloom:02/09/16 11:05
802Delフサギコ ◆VzDeLphI :02/09/16 11:08
             ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  どっちでも。
   ミ つ日   \___________
 .@ミ,,,,,, ,,ミ

procedure TForm1.Button1Click(Sender: TObject);
begin
 Button2.SetFocus;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ActiveControl := Button2;
end;
803Delフサギコ ◆VzDeLphI :02/09/16 11:21
---------------------------
エラー
---------------------------
シンボルファイルの読み込みエラー
---------------------------
OK
---------------------------
            ___________
    ∧,,∧    /しつもんでし.
  _ ミ,,゚Д゚彡_< こんな鰓(エラ)ダイアログがIDEで表示されるですが
.=| |=U=U=| |= \どしたらいいんでしょうか。
 | | .ミ   ミ | |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | |ノ∪''∪. | |
 | |      | | プロジェクト読み込み時には
         いつもでるようなののん。です。

         なぜこんなエラーが出るのかを知りたいなと。
とりあえずシンボルの保存やめたら?アレ重くてウザイから。
805デフォルトの名無しさん:02/09/16 11:38
>>803
OSとDelphiのバージョン癒え
あと、ネットワークとかマニアックに使ってない?
806Delフサギコ ◆VzDeLphI :02/09/16 11:40
            ___________
    ∧,,∧    /サンクスコ
  _ ミ,,゚Д゚彡_< とりあえずOFFにしました。
.=| |=U=U=| |= \
 | | .ミ   ミ | |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | |ノ∪''∪. | |
 | |      | | シンボル情報って何のことかわからんですが。
          キ ニ シ ナ ィ
807デフォルトの名無しさん:02/09/16 11:44
>>792
詳しくは知らないけど…(弱気
文字コード仕様が一部変更されていたような気が汁。
TMemoの1文字の扱いもUnicode仕様になるので、カーソル位置情報などがずれます。
Delphi7はその辺のXP側の新仕様をどう緩和してくれるのか期待してます。
808Delフサギコ ◆VzDeLphI :02/09/16 11:53
            ___________
    ∧,,∧    /Win2kでD6Up2有りかな
  _ ミ,,゚Д゚彡_<  自宅と社宅で環境が違うので...
.=| |=U=U=| |= \
 | | .ミ   ミ | |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | |ノ∪''∪. | |
 | |      | | でもコンパイルオプソのデフォルト
         を変更したら出なくなりますたようです。
>>803 よく判らないんだけど経験則
 バージョンの違うDelphiで開くいたあと良く出る
 pas/dfm/pro以外の不要ファイルを消したら次は出ない
 再構築したら次から出ない場合もあるし、それでも出る事がある 
810Delフサギコ ◆VzDeLphI :02/09/16 13:55
            ___________
    ∧,,∧∩   / 
  _ ミ,,゚Д゚ミミ_ <  サンクスコ
.=| |==,∪===| |= \
 | |@ミ  ミ .| |     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | | ∪''∪ | | 経験測ィィ!
 | |      | |
811Delフサギコ ◆VzDeLphI :02/09/16 14:51
    ∧,,∧  これをもてあそんでなんか面白いこと
   ミ,,゚Д゚彡   できませんでしょうか。
    ミ つ旦)~~
  〜と,,,~),,~) 
C# vs Delphi Round 1
http://pc3.2ch.net/test/read.cgi/tech/1021550705/l50
の195さんの投稿
program Project1;
uses Windows;
{$APPTYPE CONSOLE}
procedure Exec(const Cmd: PChar);
var SInfo: STARTUPINFO; PInfo: PROCESS_INFORMATION;
begin
 GetStartupInfo(SInfo);
 CreateProcess(nil, Cmd, nil, nil, False, 0, nil, nil, SInfo, PInfo);
 WaitForSingleObject(PInfo.hProcess, INFINITE);
end;
var F: Text;
begin
 Assign(F, 'b.pas'); Rewrite(F);
 Write(F, 'begin Write(''Hello World''); Readln; end.');
 Readln;
 Close(F);
 Exec('dcc32 -cc b.pas'); Exec('b.exe');
end.
Readlnを入れてみたけど。
これを、呼び出しがわのアプリと通信する
手段がなにかあればいいのになー。
そもそもCUIアプリでパイプの
受け渡しってDelphiでどうやるんでしょうか?
とりあえずパイプを作ってSInfoに色々設定すれば、
b.exeの標準入出力をリダイレクトして持って来る事はできるはず。(スレッド要るかな?)
そのコードではCloseHandleとか省略しているので、マトモにやるなら補完しといて下さい。

…まだ覚えてたんだ
MLの過去ログ検索汁!
いやマジで。話題の彼がかなりガムバってレス付けてたよ。
814Delフサギコ ◆VzDeLphI :02/09/16 15:41
    ∧,,∧  リダイレクって単語で検索汁たら
   ミ,,゚Д゚彡    見覚えのある名前が
    ミ つ旦)~~     いっぱいでますた
  〜と,,,~),,~)   

自分でMemo1.textあたりに記述した関数の出力結果が
自アプリに取り込めたら
より応用が可能かと思われなのですが...
どうにかできんもんでしょうか。なかなかムズカチイ

パイプで自アプリに流しこむとか..
WM_COPYDATAは文字数制限とかでしょぼそう
DDEはいけるのかな。
自分は組込屋だからクロスアセンブラのフロントエンドの為にパイプをよく使う
簡単なのは、開いておいてアプリが終了してから全部を読む方法
  --> niftyのサンプル蔵にある方法ね
 これで多くの用には足りると思う

エラーでメッセージに応答しなければならないような場合は
スレッドを作って監視しなければいけない。

でも自アプリ同士の通信なら メモリマップファイルでいいんじゃない?
さらに言うと、メモリマップファイルにしなくても
送り側 普通のファイルにして 単にSaveToFileで書く
受け手 ファイルがあったらLoadFromFileして削除する

で相手をHddにすれば十分なパフォーマンスが出ると思う

ファイルがあるかどうかを監視するのが遅いという場合は、
メッセージとかDDEでキッカケを与えてやればいいんだし

817Delフサギコ ◆VzDeLphI :02/09/16 16:15
    !      _____________
   ∧,,∧    /
  ミ,,゚Д゚彡 < なるほぞ
  ミ.,,O),,ミ   \
 @ミ   ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ >>816
      以外に簡単ソースっね
そーゆー用途&レベルであれば、初めからdllを吐かせれば
LoadLibrary/GetProcAddressで普通に関数呼出しできる気が。
819Delフサギコ ◆VzDeLphI :02/09/16 16:47
             ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  DLLをコンパイルさせて
   ミ つ日   \___________
 〜ミ,,,,,, ,,ミ 動的バインドするわけですね。
        でも仕組みはわかってても
      実行するのにちょとテマがかかりそうな予感
>>816
キッカケはふつーWaitForSingleObject
>>820 それだとスレッドを別けなければいけないじゃない
 メッセージやDDEの方がやっぱり楽
>>821
ブロックしないようにしてループ中で
Application.ProcessMessages呼べばスレッド不要
>>822 それならループ中で if FileExist(fname) then 入れた方が
だからデータの受け渡し云々以前に起動した子プロセスの
終了待ちはWaitForSingleObject使うのが定石なんだって。

それにデータファイルの変更を監視したいならShellChangeNotifier使え。
( ´,_ゝ`)プッ 定石
>>825
なにか?

研究社 新英和・和英中辞典  英和凡例 和英凡例

--------------------------------------------------------------------------------

じょうせき2 定石, 定跡

【囲碁・将棋】 the standard moves 《in the game of go [shogi]》; 〈比喩的〉 a (generally observed) formula

定石どおりに打つ[指す] play by the book

(物事を)定石どおりにやる go [do] by the book.
827デフォルトの名無しさん:02/09/16 19:56
すみません。質問です。
WindowsXP + Delphi7トライアルでスタンドアロンアプリを作っています。
TToolBarのMenuプロパティにTMainMenuを設定し、メニューのように
表示しています。(エクスプローラ風)
しかし、OSをXPスタイルで表示してもエクスプローラのメニュー風になりません。
仕方がないので自分でDrawしたいのですが、OSがXPスタイルなのか
クラシックスタイルなのかを判断する方法がわかりません。
XPスタイルなのかクラシックなのかを判断する方法はあるのでしょうか?
828827:02/09/16 19:59
書き忘れです。
TActionMainMenuBarは、まだバグが沢山ありそうだったので使いたくないです。
>>826
せめて国語辞典にしろよ
どちらにしろ>>825は馬鹿なわけで。
831デフォルトの名無しさん:02/09/16 20:45
このままだとうまくいくのに
いれかえ部分を削除していれかえ2の部分をコメントアウトするとうまくいくんだけどなぜ?
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, StdCtrls, FileCtrl;

type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
DirectoryListBox1: TDirectoryListBox;
FileListBox1: TFileListBox;
FilterComboBox1: TFilterComboBox;
DriveComboBox1: TDriveComboBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FileListBox1Change(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }

end;
832デフォルトの名無しさん:02/09/16 20:45

var
Form1: TForm1;
Jpg : TJpegImage;
filepass : string;

implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
//いれかえ
Jpg :=TJpegImage.Create;
filepass:=FileListBox1.FileName;
try
Jpg.LoadFromFile(filepass);
Image1.Picture.Assign(Jpg);
finally
Jpg.Free;
end;
//いれかえおわり
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FilterComboBox1.FileList := FileListBox1;

FilterComboBox1.Filter := '画像(*.jpg)|*.jpg';
833デフォルトの名無しさん:02/09/16 20:45

DriveComboBox1.DirList := DirectoryListBox1;
DirectoryListBox1.FileList := FileListBox1;

end;


procedure TForm1.FileListBox1Change(Sender: TObject);
begin
//いれかえ2
//Jpg :=TJpegImage.Create;
//filepass:=FileListBox1.FileName;
//try
//Jpg.LoadFromFile(filepass);
//Image1.Picture.Assign(Jpg);
//finally
//jpg.Free;
//end;
//いれかえ2おわり
end;
end.

834デフォルトの名無しさん:02/09/16 21:30
ボタンをおしたとき、あるフォルダを開きたいのですが、どうすればいいのでしょうか?
ボタンはつけられました。
フォルダを開いて何がしたい?
836834:02/09/16 21:35
おおまかにいうと
そのフォルダの中にあるMEPG2ファイルをMPEG4v2にしたい
ファイルを選択したいってことならOpenDialog
838834:02/09/16 21:37
>>837
ありがとう。やってみます。
839デフォルトの名無しさん:02/09/16 22:48
Delphiで、JavaのSystem.out.println()みたいに、
下のデバッグウインドウに値出すのってどうすればいいか
おしえてください。
>>839
できません。
Windows.OutputDebugString
842839:02/09/16 23:15
すばやい情報どうも。

ヘルプには、
[表示|デバッグ|イベントログ]を選択でイベントログがひらく
ってあるんですが、メニューの表示->デバッグ->にイベントログという
目はありません。

更なる情報をください。
>>842
Personalではできません。
OutputDebugString('AAAAAAAAAA');
845839:02/09/16 23:23
>>Personalではできません。
それが本当なら、どんぴしゃな情報です。
夜遅くありがとうございました。
某の機能制限のやり方ってほんとアホだな
まともに検討したとは思えないよ
>>839 代わりにコンソールを開いて Writelnで出力したらどう?
AllocConsole 呼べばコンソールアプリでなくてもコンソールを開けるよ
Personalでは使用できないんだ。
謎な制限し様だな。基本的標準的で重要なところを塞いでどうするよ
>>848
基本かどうかは人によるんじゃないの? 必要なら普段隠してるメモに吐いてもいいんだしさ
基本的だからこそ売り上げのためには塞ぐのだと思うが…
Debug用のMemoでも貼り付けといたらいいっしょ
>>796
近所に Delhi というカレー屋があるが、いつ見ても Delphi と読んでしまう。
関係ないけど、近所に「熱烈厨房」という中華料理屋がある。
いつ見ても笑ってしまう。
854デフォルトの名無しさん:02/09/17 17:55
TEditの内容をセンタリングする方法教えて
855Delフサギコ ◆VzDeLphI :02/09/17 18:14
             ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  つかうでつ。
   ミ つ日   \___________
 〜ミ,,,,,, ,,ミ
     OSの機能を利用した数値入力&右寄せ/センタリング可エヂト

unit AlignmentEdit;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
 TInputkey = (ikNormal, ikNumberOnly);
 TAlignmentEdit = class(TEdit)
 private
  FAlignment: TAlignment;
  FInputkey: TInputkey;
  procedure SetAlignment(const Value: TAlignment);
  procedure SetInputkey(const Value: TInputkey);
 protected
  procedure CreateParams(var Params: TCreateParams); override;
 public
  constructor Create(AOwner: TComponent); override;
 published
  property Alignment: TAlignment read FAlignment write SetAlignment;
  property Inputkey: TInputkey read FInputkey write SetInputkey;
 end;
procedure Register;
implementation
procedure Register;
begin
 RegisterComponents('Samples', [TAlignmentEdit]);
end;
856デフォルトの名無しさん:02/09/17 18:14
>>855
こんな長いのか・・・
857Delフサギコ ◆VzDeLphI :02/09/17 18:17
    ∧,,∧     /
   ミ,,゚Д゚彡 <  Win95ではちょと変になるかもでつ
constructor TAlignmentEdit.Create(AOwner: TComponent);
begin FAlignment := taLeftJustify;
 FInputkey := ikNormal; inherited;
end;
procedure TAlignmentEdit.CreateParams(var Params: TCreateParams);
begin inherited;
 CreateSubClass(Params, 'EDITC');
 with Params do
  case FAlignment of
   taLeftJustify:    Style := Style or ES_LEFT;
   taCenter:    Style := Style or ES_CENTER;
   taRightJustify:    Style := Style or ES_RIGHT;
  else   Assert(false, 'FAlignmentが不正です');  end;
 with Params do
  case FInputkey of
   ikNormal:;   ikNumberOnly:    Style := Style or ES_NUMBER;
  else   Assert(false, 'FInputkeyが不正です');  end;
end;
procedure TAlignmentEdit.SetAlignment(const Value: TAlignment);
begin if (FAlignment <> Value) then begin
  FAlignment := Value;
  inherited RecreateWnd();
 end;
end;
procedure TAlignmentEdit.SetInputkey(const Value: TInputkey);
begin if (FInputkey <> Value) then begin
  FInputkey := Value;
  inherited RecreateWnd();
 end;
end;end.
>>Delフサギコさん
わざわざありがとうございました。
でもソース見ても分からないとこだらけなんで調べてみます。
859Delフサギコ ◆VzDeLphI :02/09/17 18:24
 ミ,,゚Д゚彡つ メッセージ一撃でやる方法もあるけど、
         こんな単純な機能コンポーネントに
         してしまってもいいかとオモテ前に作ります田。
>>853
ワラタ
861839:02/09/17 22:55
>>847
すばらしい。感謝。

その他の方もアドバイスありがとうございました。
Memoとかお手軽で私向きです。
862デフォルトの名無しさん:02/09/17 23:26
1024*768の15型ディスプレイ(Win2k)で作成したDelphiアプリを
1280*1024の19型ディスプレイ(WinXP)で使用すると画面の下の部分が切れてしまうんですが、
何か原因で思い当たることあったら教えてください。

ハードウェアに依存する問題なのかな。よろしくおねがいします。
なぜDel房はlog4jをポートしようとしないんだろう?
864デフォルトの名無しさん:02/09/17 23:43
Del房ハケーン
http://www6.plala.or.jp/satellite/
ここのCustomBoro for WindowsXPとか言うボロいソフトDelphi製だとよ!!
(ReadMeより)
865デフォルトの名無しさん:02/09/17 23:44
>>864
痛い
>>864
2ちゃんねらーだね
>>864
作者は痛くてもソフト自体は痛くないじゃん。
初心者が練習に作ったって感じで。
擦れ違い
869デフォルトの名無しさん:02/09/18 04:29
ちょっと前にIDEエディタの話が出てたので質問。
漏れの環境はDel6pro,winxp。
エディタオプションでキーの割り当てをEpsilonにしたんだが、Ctrl+Bでカーソルが後退せずに、バッファリストが開いちゃう。
だから、拡張モジュールのバッファリストのチェックを外しているんだけど、一旦Delphiを終了して再度起動するとその設定が保存されていなくてまたチェックが入っている・・・・・・
これってなんかいい対処法ある?
拡張モジュールの*.bplごと抹消する(w
パッケージのインストールで一覧から消して、それをデフォルトにしちゃえばおっけーです。
"Borland Editor Enhancements"だったかな?(動作保証はしませんが)
871初期設定の名無しさん:02/09/18 10:08
>>862
XP とそれ以外の Windows ではタイトルバーの高さが違うせいだと思います。
試しに Win2000 でデスクトップを右クリックして「プロパティ」→「デザイン」から
アクティブタイトルバーの高さを 18 から 36 に変更して [OK] を押し、自作の
プログラムを実行してみてください。

対処法は……フォームの ClientHeight をどうこうする、かな? ほかの皆さんはどう
してますか?
Position:poDesktopCenter
Scaled:False
あとはAlignとかAnchorsでレイアウト調整。
873831:02/09/18 19:56
>>831-833
だれか〜教えてくれ〜。
>>873
Del厨は難しいことになると無視するからなぁ。
>>873=831
>このままだとうまくいくのに
>いれかえ部分を削除していれかえ2の部分をコメントアウトするとうまくいくんだけどなぜ?

日本語がわからん。どちらでもうまくいくなら問題なしでは?
876831:02/09/18 20:27
読み返すととんでもなくへんな文だった…。


×>このままだとうまくいくのに
×>いれかえ部分を削除していれかえ2の部分をコメントアウトするとうまくいくんだけどなぜ?

○このままだとうまくいくのに
○いれかえ部分を削除して、いれかえ2のコメントアウトを外すとうまくいかない。なぜ?

>>873
FileListBox1Change内で拡張子をチェックするとうまくいくよん
ExtractFileExt(filepass)が'.jpeg'または'.jpg'しかないんだから

それにしても
1.privateメンバにすべきところがグローバル変数になっている
2.FileListBox系はWindows3.1用
の2点が気になりもうした
878877:02/09/18 20:34
訂正
filepass:=FileListBox1.FileName;
if filepass='' then Exit;
Jpg :=TJpegImage.Create;
・・・
これで十分
879831:02/09/18 20:36
おおぅ。ありがとうございます。
早速やってみます。
デルパイ7のすごいとこ教えて
>>880
EXEのサイズがさらにでかくなる
882デフォルトの名無しさん:02/09/18 22:35
そりゃXP対応なところだろ。
>>881
そいつはすげぇ!
てことは全くノートと変わらないソフトを作った場合でも
1M超えのノートも夢じゃない!?
是非買わなければ!!
884883:02/09/18 23:25
って冗談はおいといて、
(メッチャ煽り気味スマソ)
現在Delphi6無料版使用中の俺ですが、
7買うかガリレオ待つのどっちがいいかな。
6使いこなしてない俺は
6で勉強しつつガリレオ待つのがいいのかな…
885デフォルトの名無しさん:02/09/18 23:25
>>871
なるほど!!原因判明しました。ありがとう!!
おかげで無事に問題を解決できました。
>>883
ノートってのはnotepadのことだと思うが、全くnotepadと変わらないものを作るなら
VCL使わないのでサイズはだいぶ小さくなるかと
887883:02/09/18 23:36
>>886
いや、ごめんって。
マジで見逃して…。
マジ煽る気はないのよ。
Delphiでもかなりサイズ小さくできるのは解ってます。
ちょっとサイズの大きさが気になっただけで…

お願い、見逃して。・゚・(ノД`)・゚・。
888886:02/09/18 23:44
こちらこそネタにマジレスしてスマソ。
884へのレスですが、俺は7買って、ガリレオはパスしようと思ってます。理由は、
・最後のネイティブIDE
・どうせすぐガリレオの次が出るだろう
・来年.NET frameworkが大幅バージョンアップする。それに対応したバージョン待ち

もうDel7予約してしまいました。俺の選択が間違ってたらどうしようかと((((;゚Д゚)))ガクガクブルブル
>・最後のネイティブIDE
これが本当ならマジで買いだね・・・迷ってしまふ
>>889
IDEはガリレオ一本に絞ります!って公言してるのに、わざわざ言語別のIDEをバージョンアップするかな?
してくれるなら嬉しいけど。
7買ってガリレオの次買うってのはどう?
最近のDelphiのバージョンアップの頻度からいって待てそう…
BAS(Borland Application Server)も.NETサポートするのかなあ?
Apache Web Serviceは恐らくするだろうけど。
893デフォルトの名無しさん:02/09/19 07:34
Memo1のテキストの1行目以外をMemo2のテキストにする場合
どのように書けばいいんでしょうか?
>>893
 コピーしましょう
>>894
すいません。
コピーしてどのようにすればいいのでしょうか?
↑なにこれ?VBの新作アプリ?
>>896
TStrings, TStringListをヘルプで調べて一通り使い方覚えろ。
この知識無しにはDelのプログラムは作れないよ。
>>897
Delphi7で作成されXPで表示したアプリの画像
>>898
分かりました。
スレ汚してゴメンですた。
>>899
なんで日本語版もってんの?
今更聞くような事かよ
わかってるだろ?
903デフォルトの名無しさん:02/09/19 10:42
Panel が透過するようになったのか?
904Delフサギコ ◆VzDeLphI :02/09/19 13:58
 ミ,,゚Д゚ミ 守秘義務とかいうヤシですかね...
905デフォルトの名無しさん:02/09/19 15:10
^^
別に英語版のトライアルでもできるだろ。
MS PGothic
>>907
英語版のトライアルではMS Pゴシックが扱えないとでも?
909デフォルトの名無しさん:02/09/19 17:38
スマソ、英語版のトライアル版のDL先教えてもらえませんか?
http://www.borland.com/products/downloads/download_delphi.html#
だとおもったのですがDLできません;;
910デフォルトの名無しさん:02/09/19 17:54
>>909
事故レスです。
JavaScript OFFだっただけです;;
>>901 とか
うんと、アレはアメリカ版です。

>>903
パネルは、XPスタイルの場合のみ透過してた。
その場合、パネルのColorプロパティをいじっていても、パネルの下の色になる。
だから、パネルに色をつけているようなアプリをDel7でやる場合は注意が必要。

あとは、GridとかタブコントロールのタブスタイルをTab以外にしている場合なんかは、
古いスタイルで描画されるので、スタイルを統一したい場合には自分でuxthemeを
ゴチョゴチョする必要がありそうかな。
912デフォルトの名無しさん:02/09/20 01:14
質問です。
Delphiで作ったexeからDelphiで作ったDLLの関数を呼び出したいのですが、
DLLの関数には引数としてPCharの変数を作りました。

function TestFunc(const Msg: PChar): PChar; stdcall;
begin
Result := Msg;
end;

で、Exe側からexternalしました。

function TestFunc(const Msg: Pchar): PChar; external 'test.dll';

で、Exeからこの関数を呼びました。

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(TestFunc('aaa'));
end;

すると、希望では「aaa」というメッセージが表示されるのに、
文字化けしたメッセージが表示されたあとに保護違反で落ちてしまいます。

引数の渡し方などがおかしいのでしょうか?
ちなみに引数を取らない関数も作ったのですが、そちらは問題なく動きました。
> function TestFunc(const Msg: Pchar): PChar; external 'test.dll';

stdcall が抜けてる
>>911
確かにPanel透けるねー。何でだろ。バグっぽいな。
TPanelから派生したPanelを作ってPaintをoverrideして
  Canvas.Brush.Color := Color;
  Canvas.FillRect(ClientRect);
ってやれば透過されないけど(当たり前か)
>>912
stdcall規約でエクスポートされてるのでインポートもstdcall規約で呼び出す必要が。
916912:02/09/20 09:43
>>913
>>915
オー!シャンゼリゼ!!

function TestFunc(const Msg: Pchar): PChar; stdcall; external 'test.dll';
とすることでうまく行きました。
ありがとうございます。
>>914
むしろ透けるWinControlを作りたいときに有効
case Random(2) of
0:
1:
end;
これで0を90lの確率、1を10lの確率で実行させることは出来ますか?
>>918
case Random(10) of
0..8:
9:
end;
>>919
なるほど。即答さんくすです。
>>914
デフォルトが透けるってだけでしょ。
俺的には歓迎だけどな。
922デフォルトの名無しさん:02/09/20 17:40
XHTMLやCSSやWMLのレンダリングエンジンを実装したいのですが、どうしたらええどすか?
パーサ書いてテキスト編集コンポーネント作って表示する
>>922
まずお前がどこまでできるか書けや。
何も分からないなら、まずはIEコンポ使ってからにしておけ。
925デフォルトの名無しさん:02/09/21 00:20
Delphi と直接関係ないかも知れないけど、
フリーのオブジェクト指向分析/設計ツールでおすすめのってある?
JBuilder Enterprise買えばおまけでついてくるよ。
927デフォルトの名無しさん:02/09/21 00:23
>>926
フリーちゃうやんw
>>925
紙と鉛筆。

特徴
・直感的な操作性
・文字/図形/画像など豊富な表現力
・コピー、切り取り、貼り付けなど強力な編集機能
>>928
その他にも、ワープロ、表計算、関係データベース、記録メディアとしても利用できる。
>>928
さらに多人数による同時編集も可能
今話題のグループシェアリングなのか!?
弱点:火と水
>>932
意外と知られていない弱点が「クソガキ」
お前らマ板のノートスレにでも行っちまえ。
コクヨ、300g厚さ5mmのノート発売!
http://pc3.2ch.net/test/read.cgi/mobile/1007674054/
>>928
>・コピー、切り取り、貼り付けなど強力な編集機能
嘘だろ?
紙と鉛筆だけじゃ無理だ(w
>>940 次スレたてて ダメなら>>950 お願い
940 はどこ?
940 ではございませんが、次スレ立てますた。

Delphi相談室その7
http://pc3.2ch.net/test/read.cgi/tech/1032576325/l50

age ちゃった...
941Age2ch:02/09/22 12:37
     キ        //   /::::://O/,|      /
      ュ     / |''''   |::::://O//|     /
      .ッ       \ |‐┐ |::://O/ ノ   ヾ、/
       :       |__」 |/ヾ. /    /
         ヽ /\  ヽ___ノ / . へ、,/    
        /  ×    /  { く  /
        く  /_ \   !、.ノ `ー''"
  /\        ''"  //
 | \/、/           ゙′
 |\ /|\ ̄
   \|
942Age2ch:02/09/23 12:37
     キ        //   /::::://O/,|      /
      ュ     / |''''   |::::://O//|     /
      .ッ       \ |‐┐ |::://O/ ノ   ヾ、/
       :       |__」 |/ヾ. /    /
         ヽ /\  ヽ___ノ / . へ、,/    
        /  ×    /  { く  /
        く  /_ \   !、.ノ `ー''"
  /\        ''"  //
 | \/、/           ゙′
 |\ /|\ ̄
   \|
  先に1000getしたひとの勝ち!!
       Å         Å    /
      /■\      /■\   −
    ●( ´ー` )●  ∩(・∀・ )∩ \
     ⊂   つ    \      /
        |__|     |____|
    ⌒
     ⌒       ⌒
     >)      ⌒
===============(∧)==== 
     1000 g e t
1000!
>>943
このAAの元ネタってドリームキャストの
『アキハバラ電脳組パタPies!』のような…懐かしい.
パタ・・・何?
>>945
dat落ちしてるけど
明治カールのパッケージの裏に
http://news3.2ch.net/test/read.cgi/news/1032527416/l50
から頂いてきた。

http://isweb44.infoseek.co.jp/art/sumimase/cgi-bin/img-box/img20020920224056.jpg
>>946
アニメ『アキハバラ電脳組』を題材にしたゲームソフトです.
アニメの方はアニヲタには有名なのですがゲームの方はドマイナー….

>>947
作品世界ではパタPっていうペットロボットが少年少女の間で流行っていて
このゲーム版では主人公が友人と会ってふたりのパタP同士で遊ばせるのですが
その遊びの一つ(競走)とこのAAがよく似ていたので「もしや…」と思ったのですが….
949946
知ってるYO!!煽ってみたの!!
解説しなくていいよ!!