モナーの *やさしい* Delphi質問スレ Ver4

このエントリーをはてなブックマークに追加
1DELモナー
DELモナーがどんな厨房疑問でもやさしく答えます。
DELモナーは時に私であり、時には別の人。
他のスレに書き込んで罵倒される前に、まずここで質問しよう。

  ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< >>2-3に関連情報あり。 
 (    )  \____________
 | | |
 (__)_)

■前スレ

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

モナーの *やさしい* Delphi質問スレ Ver2
http://pc.2ch.net/test/read.cgi/tech/1011649179/

モナーの *やさしい* Delphi質問スレ Ver3
http://pc.2ch.net/test/read.cgi/tech/1014474727/
2DELモナー:02/03/19 00:59
  ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 関連情報はこちら。
 (    )  \__________
 | | |
 (__)_)

■関連スレ

ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室A
http://pc.2ch.net/test/read.cgi/tech/1013298748/

Delphi相談室その3
http://pc.2ch.net/test/read.cgi/tech/1010153466/

■製品情報

http://www.borland.co.jp/delphi/

■Delphi 6 Personal ダウンロード
(無料。使用者登録が必要。59MBもあるので注意)

http://www.borland.co.jp/delphi/personal/
3DELモナー:02/03/19 00:59
■最初のDELモナーより

  ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< *やさしい*
 (    )  | は「やさしく答えてくれる」という意味でも有り
 | | |  | 「あまり難しい質問には答えられない」という意味でも有りマする。
 (__)_)  \__________________________

以上。
4デフォルトの名無しさん:02/03/19 00:59
2
5赤い彗星4:02/03/19 01:00
チィ!!
6デフォルトの名無しさん:02/03/19 02:50
       v
     <(゚ω゚) <うっ!
      ()\        
      /'>

       v
      (゚ω゚)> <はっ!
     /()        
       <'\

       v
     <(゚ω゚)> <うっ!
      ()        
      /'>

       v
      (゚ω゚)/ <はっ!
     /()        
       <'\

     v       w
    (゚ω゚)/ \(゚δ゚)<ジーンギスカーン!
   /()    (戟jゝ
     <'\    / >
7名無しヘタぐらま ◆B18Bks.Y :02/03/19 04:28
>1-3
乙渠〜.

8news:02/03/19 05:06
Delphi6 Update2 3/19 夜よりダウンロード可能に。
巨大ファイルをダウンロードできる!!
10デフォルトの名無しさん:02/03/19 10:30
11デフォルトの名無しさん:02/03/19 11:06
デスクトップ上に鳥が飛んだり動物がマウスを追っかけたりする
アプリがありますが、Delphiでもそのような事ができますか?

できるとしたらそれは何で作成したらいいですか(例えば新規作成→フォーム)
>>9
喜ぶところが違うぞ(w
>>11
「デスクトップマスコット」というキーワードで検索すると参考になるページがでてきまする。
14デフォルトの名無しさん:02/03/19 12:05
>>11
出来る
実際に友達が作ってた
鳥じゃないけど。

デスクトップに雪を降らせるスクリーンセーバー

雪の動きに試行錯誤してたのを覚えてる。
15ソケット:02/03/19 13:06
ソケット通信を利用して、簡単なチャットソフトを
作りたいのですがよいサンプルソースありませんか?
http://www5.tkcity.net/~hkzweb/pgm/socket.html
を見たのですが、一人にしか送信をできないようで
複数の人に同時に送る方法はありませんでしょうか?
複数同じ事繰り返せばいいじゃん
アドレス番号変えて
>>9
今回もでかいよ。
英語版で30M超えていたし。
18ソケット:02/03/19 13:45
アドレス番号を変えて送信しなおすとはどういう事でしょうか?
もしよろしければ、サンプルソースなどを書いて頂けませんか?
1911:02/03/19 13:49
>>13-14
thx まだデスクトップアイコンのサイトは見つからないけど、
とりあえずできるって事がわかっただけでも良しとします。

途中経過

↓ココ結構イイネ
http://homepage1.nifty.com/MADIA/
「デスクトップマスコット」
21デフォルトの名無しさん:02/03/19 13:55
テキストデータをMemoコンポーネントにLoadするにはどうしたら良いですか?
aaa.txt があったとしてです。

SaveToFileはあるのにLoadのそれらしいのがみるからない・・・
LoadFromFile みえない?
23デフォルトの名無しさん:02/03/19 14:02
>>22
うん
無いです。
Memo1. LoadFromFileと言うメソッドも出てこないです。
24ソケット:02/03/19 14:04
memo1.Lines.LoadFromFile();ですよね。
パラメータにはもちろんファイル名どうでしょうか?
って、私の質問はだめですか?
25デフォルトの名無しさん:02/03/19 14:05
Linesが抜けてた予感・・・
26デフォルトの名無しさん:02/03/19 14:06
>>24
うひー
その通りです。
凡ミスでした。
27ALI:02/03/19 14:06
すみませんが、どうかacidproのDLをしたいのですがどこにいけばいいか教えてください
acidproって何?
2911:02/03/19 14:28
>>20
googleでもmsnでも見つかんないっス。

はぁ。デスクトップマスコット
>>17
30Mででかいんかい!
31デフォルトの名無しさん:02/03/19 15:33
速度でねー
37Mもあるのに17k/sしか出てねーよ
32デフォルトの名無しさん:02/03/19 15:51
Delphi6 Update Pack2 age
33ソケット:02/03/19 15:52
とても参考になるページが見つかりました。
みなさんありがとうございました。
Delphiってなんですか
春だねぇ〜
  ネタが特盛りの季節だね〜
いい加減、PostgreSQLもサポートして欲しいなぁ〜とか言ってみるテスト
>>31
俺は 10分でダウンロードできたが?
回線が細いんだろ?
38デフォルトの名無しさん:02/03/19 18:16
TEditorでRowプロパティと直結した文字列プロパティってありますか?

ListString じゃないか?
40デフォルトの名無しさん:02/03/19 18:43
>>39
それビンゴです。ありがとうございました。
今までLines[]でやってた事は内緒にしておいて下さい。
41デフォルトの名無しさん:02/03/19 19:46
Delphiで帳票を作成しようと思うのですが
QuickReportはけっこう機能がありそうですが
日本で多い、罫線は使えるのでしょうか
また、定型帳票のような複雑なものも作れるのでしょうか
どなたかお教え下さい。
42デフォルトの名無しさん:02/03/19 20:53
DelphiでCGIを作りたいのですが、
Delphi製のCGIが動作可能なフリーサーバはありませんか?
43デフォルトの名無しさん:02/03/19 20:56
44デフォルトの名無しさん:02/03/19 21:01
Up2落とそうとしたら鯖がショボーン
45デフォルトの名無しさん:02/03/19 21:02
>>41
できると思う。
「Delphi5 実践データーベースプログラミング」にQuickReportの使い方
がわかりやすく載ってる。
私はLightReport2を使おうと試行錯誤中。
46デフォルトの名無しさん:02/03/19 21:13
これって、自宅サーバですよね。
つまり、相手は、ナマIPでうちのサーバに接続すると。
DNSというか、そういうサービスってあります?
不特定多数にIP知られるのはいくらなんでも…

とすると、自分の好きなドメイン使えるんですかね。

47デフォルトの名無しさん:02/03/19 21:16
>>46 そろそろ鼬飼いになってきましたねぇ、Web制作板へどうぞ。
48デフォルトの名無しさん:02/03/19 21:30
>>45
早速のレスありがとうございます。
ところでLightReport2てどんなソフトなんですか
フリーなのでしょうか
gooで検索したのですが詳しい内容がわからないのですが。
49デフォルトの名無しさん:02/03/19 21:33
未だにgoo使ってる人がいるのか・・・
http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=LightReport2
5031:02/03/19 21:43
>>37
ぎゃーす!俺は下り最大8M(べすとえふぉーど)じゃい!
だいたい実質4M出るぞ。つまり500k/s出るっちゅーこっちゃ!
それなのに16k/sしか出んかったの!ヽ(`Д´)ノウワァァァン
>>50
ふん。俺は午後3時に落としたが,すいていたぞ。
52デフォルトの名無しさん:02/03/19 21:54
>>49
ありがとうございました。
早速dlしてみます。
5356Kモデマー(マジ):02/03/19 23:37
56Kモデマーはアップデートするなってことですか?(ワラ
>>51
Update2は20時過ぎからダウンロード始めたけど、
結局終わるまで1時間10分ほどかかったよ。
計算してみると9.0KB/s(=72Kbps)だ。
ちなみにこちらは1.5MbpsのADSL。

Borlandのサーバーは激重だな。
常時接続でない人は空いてる時間帯を
狙わざるを得ないと思うよ。
>>53
必ずアップデートしろとBorlandのページに書いてあるんだがな。
56kモデマーは眼中にないって事さ。
>>53
何かの雑誌についてくるんじゃないの?
漏れも56kモデマーだけど、さすがに1x時間かけて落とす気にはなれん。
57デフォルトの名無しさん:02/03/19 23:50
>>55
「Delphi 6 と C++Builder 6 を併用される場合は」
アップデートしなさい。だろ。

悪質な引用の典型例だな。
5853:02/03/19 23:50
>>56
同志よ!だよねー。

関係無いけど、フラゲがシェアウェアになったらしいね。
いらないな。フリー版で重宝しまくってるし。
5956:02/03/20 00:06
ほんとはADSL入れたいんだけどね。
漏れはイリアさん愛用。
>58
広告付のフリーがなくなったって事?
割にショックかも
61デフォルトの名無しさん:02/03/20 00:08
次のバージョンでは string 型を
AnsiString ではなく WideString を意味するように
指定するコンパイラオプションが欲しい。
>>61
type
 tmpString = AnsiString;
 AnsiString = WideString;
 WideString = tmpString;
6358:02/03/20 00:11
>>60
元・裏ニウス読んだだけだから、よく知らないけど…。
シェアになってスキン変えられるよーになったとさ。
今持ってるバージョンを手放す気はさらさら無い。スパイウェアも取れるし。
本当はとっちゃアカンのかもしらんが…(藁
気になるなら、「連邦」ってとこ見てみたら?他のニウスサイトでも書いてる
と思うし。
irvineで残り176時間…
ADSLなんだけどなぁ・・・
6558:02/03/20 00:29
>>64
笑えないね…。56Kモデマーでチャレンジしてるチャレンジャーはいるのかな?

またまた関係無いけど、「ime」とかいう2ちゃんから直リン防止(なんでしょ?)
のはリフレッシュでもいいから自動で飛ばないんだろうか?
いちいちクリックすんのメンドイし、DLするURLはそのままじゃ使えないし…。
28.8kで現在0%、残り20時間くらい。
ちょっと空いてきたのかな?
このくらいなら慣れっこなので平気。
>>65
2ちゃんねる用ブラウザを使うといいよ。
ちなみに私が使っているのはホットゾヌ。
乏しい燃料を全員で奪い合って
結果全員凍死してしまったという
ソ連の逸話をふと思い出した。

お前ら譲り合いの精神つーもんはないのか?
>>68
まず、あなたが譲りなさい。
70デフォルトの名無しさん:02/03/20 00:57
2バイト文字が見つかった場所は何バイト目か調べることはできないの?
71デフォルトの名無しさん:02/03/20 00:58
>>68
なんで怒ってんの?オレはパソナルだから別にいらないや。
製品版持ってたらDL考えるけど。
>>68
そんな高尚なモノではない。
半角のエロ動画を必死こいてダウソしている厨レベル。
ここのサーバーは重い。これ定説。
明日になったら、べくたから落とせるのに..
>>72は半角板でエロ動画を必死こいてダウソしているに100モナー
こういう時こそ串使えよな ホント 有名所のプロバイダ串なら
>>75
やめれ。スレが荒れる。春厨は完全放置してくれ。
78デフォルトの名無しさん:02/03/20 10:18
おいおい、ActionBand、インターフェース変更かよ、勘弁してくれよ。。。
79デフォルトの名無しさん:02/03/20 12:01
>>70
できる
いまさらデザパタ・リファクタリングネタか・・・
ギコ猫とデザインパターン
かよ。
82デフォルトの名無しさん:02/03/20 15:36
存在しないファイルの作成方法を教えて下さい!
ディレクトリの作成はCreateDirで出来たのですがファイルの生成方法が分かりません。

中身は何もない奴でいいんです。
83 :02/03/20 15:38
>>82
中身のないファイル(エディタとかで作る)を用意しておいてコピーすればよし
84デフォルトの名無しさん:02/03/20 15:38
あ、FileCreateがあった・・・
>>82
とりあえず 10通りくらい思いつくけど

簡単なの一つと言われたら
with TStringList.Create do try
SaveToFile( 'ファイル名' );
finally free;end;
86デフォルトの名無しさん:02/03/20 15:47
えーっと、、
よく考えたらファイルは自動的に作ってたので別の質問にします

起動する際に参照するファイルが無かったらエラーのダイアログがでますよね。
あれを無視する方法ってありますでしょうか?
>>86
> 起動する際に参照するファイルが無かったらエラーのダイアログがでますよね。
> あれを無視する方法ってありますでしょうか?

私は出ませんがなにか?

つか電波ぎみで意味不明。
88デフォルトの名無しさん:02/03/20 15:55
>>87
LoadFromFileで確かでる。
デバッグ中にやらかすと偉い目にあう。
Try
 ファイル参照してみる
Except
On エラー do 無視
end;

Try
 わけわからん
Finally
 あぼーん
end;
>>88
 もしかしてパーソナルを使ってて、アップデートしてないとか?
LoadFromFileなら

Try
 LoadFromFile('aaa');
Except
end;

こんだけで大丈夫。
デバック中にと言ってるから 例外を受けたくないのだとして期待してるコードは

Try
 if FileExist( fileName) then  LoadFromFile(FileName);
Except
end;
>>90
普通でないとおかしいんだが・・・。
オプション触ってるんじゃない?
>>86がパーソナルかproかわからんけど。
9490:02/03/20 16:03
>>93
いや えらいことになると言ってるから、例のソースファイルが見つかりませんバグの事かと思ってさ
偉いこと
 ↓
例外エラーの事でしょ

アレは普通出る
96名無しヘタぐらま ◆B18Bks.Y :02/03/20 16:05
>>70
AnsiPosでOKですよん.
>>92
細かい事では在るが、FileExists
三単現のsを忘れるなーー
>>95
うひゃ本当だ
試しにやってみたら例外エラー(CPUウィンドウ)出てDelphi終了できなくなった。
停止、もしくはプログラムの終了すれば
いまら!100げっとぉぉぉなのれす!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄(´´
  ∋oノハヽo∈   )      (´⌒(´
  ⊂(´D`⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ

・・・・・・・・・・・・・・・・・・
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
  ∋oノハヽo∈      (´;;
  ⊂(´D`⊂⌒`つ (´⌒(´

ろっこいしょれす・・・・・・・・・
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
  ∋oノハヽo∈
    (´D` )⌒ヽ
     U‐U^(,,⊃'〜... (´⌒;;

らにみてるのれす、てれるらないれすか!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ポ∋oノハヽo∈ ポ
  ン (´D` #)    ン
   (´;) U,U )〜 (;;).
(´)〜(⌒;;UU (´ )...〜⌒(`)
>>98
詳細きぼん。
自分のプログラムなのかIDEなのかはっきりさせていただきたく
どうにも
  こうにも
    春ですな〜
104デフォルトの名無しさん:02/03/20 16:35
多次元動的配列の受け渡しはどうすればよいのでしょう?

procedure zigen( var Data: array of array of Boolean ); 
では、識別子 が必要な場所に 'ARRAY' があります。と怒られます
type
hoge = array of array of Boolean;
procedure zigen( var Data: hoge ); 
>>105
動作しました。 ありがとうございます。
107デフォルトの名無しさん:02/03/20 17:07
ヂレクトリ指定のダイアログを出すには
どうしたらいいですか?
すみません。質問させてください。
あるコンポーネントを文字列で検索するのはFindComponentで出来ますが、
あるメソッドを文字列で検索するにはどうすればいいでしょうか?

たとえば、フォームにCheckBoxやらEditやらが乗っていて、ユーザがEdit1と
文字列で指定すると、FindComponentでEdit1を探して、Edit1のメソッド一覧を文字列で表示する。
で、今度はユーザがEdit1とClearを文字列で指定するとEdit1のClearメソッドが実行される。
といったことをやりたいのです。
>>107
SelectDirectory
ヘルプの一番目の構文でお望みのものが表示されると思われ。
今日はものすごいトラブルにあった

会社で昼過ぎにFormのキャプションを変えようとForm1.Caption := 'aaa'; とやってみるがエラーが出る。
何度やってもエラーが出る。
未定義の識別子とか言ってんの。
Form1は存在するのに何が未定義だ!と、思い再度挑戦。

・・・結果、何度ヤッテもだめ。
エラーは出続けた。

しぶしぶ会社のみんなへヘルプを出すことに。
みんなも、「なんでだろうね、uses見たら?」と試行錯誤するが特に問題無い。

初めてエラーが出てから10分以上が経過。
みんなはもう「Update2のバグだよと諦め気味」。
無念・・・

で、このプロジェクトを破棄しようとDelphi6を終了しようとしたそのときだった、
おれは一行のソースに目が行った。
From1.caption := 'aaa';
Fromってなんだよ。
こりゃエラー出るわけだ・・・。
みんなもきづけよ・・・。

今日の日のことは10年経ったら笑い話になるんだと思い脳裏に刻んでおくことにした。
>>110のアップデートも必要と思われ、と逝ってみるテスト。



まぁいいんじゃないですか、たまには。
112DELモナー:02/03/20 17:24

  ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< Delphi 6 Update Pack 2 情報だよ。
 (    )  \______________
 | | |  
 (__)_)

一応まとめておきます。

3月19日、Delphi 6 Update Pack 2が公開されました。
「Delphi 6 と C++Builder 6 を併用される場合は、
必ずこのアップデートファイル(#2)をご利用ください。」だそうです。
Personalも対象となっています。
ファイルサイズは37.2MB(!)です。
かなりでかい上に接続状況が非常に悪いので
レジューム機能があるダウンロードソフト(Irvineなど)は必須です。
(続く)
113DELモナー:02/03/20 17:25
(続き)
■ダウンロードはこちらから
http://www.borland.co.jp/delphi/del6up.html#del6up2

■ファイルに直リン
ftp://ftp.borland.co.jp/pub/delphi/delphi6update2.exe

ボーランドのサーバーはアクセスが殺到してかなり重いようです。
FTPサーバーからこんなメッセージが来てダウンロードできないこともあります。 
**********************************************************
Thank you very much for your access to our FTP server
ftp.borland.co.jp.

Now the server is busy and over its capacity of available
connection.

Please back and retry after a few minutes.

We expect the server will be crowded from 9 am to 6 pm,
and around 11 pm on weekday Japan Standard Time(JST).
We would recommend you to avoid those hours to access.
**********************************************************
午前9時〜午後6時と午後11時前後をだめって言われたら・・・
いつダウンロードするんだ!
114107:02/03/20 17:26
>>109
ありがとうです。
プラットフォームに依存すると警告されましたが、
問題は無いのでしょうか?
115110:02/03/20 17:37
>>111
みんなもこういう凡ミスするだろ?

俺の脳もアップデートしてくるか・・・
116デフォルトの名無しさん:02/03/20 17:42
>>115
仕様です
117デフォルトの名無しさん:02/03/20 17:42
VBで言う所のDir関数みたいなのはDelphiだと何ですか?

dir(PathName)
で該当ファイル名が出てくる。みたいな
該当ファイル名ってなんだよ? VB忘れたからよくわからんし
「ExtractFileDir」とか?
119110:02/03/20 17:49
ExtractFileDirじゃ駄目なの?
120デフォルトの名無しさん:02/03/20 18:08
実行時に引数があればフォームを表示せずにその引数について処理し、終了。
引数が無ければ普通にフォームを表示させる。
というのはどういう風にすればいいんですか?

具体的には引数としてファイル名を与えて、引数があればそのファイルについて処理。
なければ、ファイル選択をするというものなんですが。
ParamCountとParamStrでコマンドライン引数取得
Delphiの「プロジェクト」メニューの「ソースを表示」で出てきたソースの
CreateFormの前に処理をするコードを記述

Run消して、CreateFormの後にフォームをshowするかどうか書けばよいよ・・・たぶん・・・
123デフォルトの名無しさん:02/03/20 19:16
Delphi6の無料版で、IEの画面を埋め込む事って出来ますか?
ダウンロード終わったよ。
今なら25kb/sでるよ。
125デフォルトの名無しさん:02/03/20 19:42
>>118-119
ありがとうございます。できました
127デフォルトの名無しさん:02/03/20 22:09
>>126
あ、こんなのあるんですか。初心者でやりかたわからないかもしれませんが、ありがとうございます。
128120:02/03/20 22:20
>>121
どうもありがとうございます。
129デフォルトの名無しさん:02/03/20 22:59
コンポーネント作ってて思ったんだけど、コンポーネント内のメソッドから
プロパティーにアクセスする場合、プロパティー名でアクセスする方がい
い?それともフィールド変数名でアクセスする方がいい?それともどちら
でも同じ?

TTest = class(〜)
Private
 FHoge: Integer;
public
 procedure testmethod(val: Integer);
published
 property Hoge: Integer read FHoge write FHoge;
end;

procedure testmethod(val: Integer);
begin
 Hoge := 0; //1
 Fhoge := 0; //2
end;

例えば上記の場合、みなさんは1にしてます?それとも2?
効率的には2の方が良さそうな気もするけど、継承とか考えると
1の方がいいのかな?っと思ったりもするんだけど・・・・・
なんか、よーわかりません
130デフォルトの名無しさん:02/03/20 23:02
>>126
やっぱり初心者で、インストールの仕方が全然分かりませんでした。すいませn
131俺的ローカルルール:02/03/20 23:07
>>129
> property Hoge: Integer read FHoge write SetHoge;
だとしたら

副作用(SetHogeのこと)込みで普通に使いたい場合はHoge使う。
逆に明示的に副作用を当てにしたい場合はSetHoge(かHoge。この辺りは割にてきと〜)
副作用を回避したい場合はFHoge直接アクセス。

継承の場合はFHogeをprotectedにすることは
まずないのでHoge使う。
>>129
効率はread writeで直接フィールド指定してるときはHoge, FHogeどっちも同じ。
GetHoge, SetHoge指定した場合、メソッド経由な分遅くなる。
>>131-132
レスサンクス。結構、難しい。
HogeとFHogeで効率が変わらないなら、基本はHogeでアクセス。
特別な理由がある時だけ、FHoge、GetHoge、SetHogeに直接アクセスって
感じがイイのかな・・・・・とか思ってみたり。
とりあえず、マイローカルルールは、Hoge基本ってことにします。
>>123
2ちゃんねる用ブラウザの作者さんとかが、まとめているのに。
http://hogehoge2001.tripod.co.jp/note-delphi.html
http://members.jcom.home.ne.jp/monazilla/document/index.html
サブフォームがメインフォームのPanelにDockingするアプリ
作ってるんだけど、いまいちDocking状態の保存・復元がつかめない…

ManualDockで(・∀・)イイ!と思ったんだけど、
サブフォームのOnCreateでManualDockしても表示されない…
(Refreshしても。)
でも描画されてないだけでリサイズとかするとすぐ描画される。
で、OnShowはどうかというと、例外が発生し
「OnShow/OnHide イベントの処理中は表示状態の変更はできません.」

これをきちんと出来る方法ないでしょか?
検索しても余計な物しかヒットしない…
人それぞれだとは思うが、オレ、デルファイ(タダ版)で初めてインストールした
ActiveXがIEコンポだったなぁ…。特に悩むことは無かったけど。
何にも分からんでも出来るって。マジで。

つーか、gif問題はビルゲイツと糞シスとで意見が違うんだけど、どないなってる
ネン!mngなんて広まりゃしねー(藁
>>136
>つーか、gif問題はビルゲイツと糞シスとで意見が違うんだけど、どないなってる
>ネン!mngなんて広まりゃしねー(藁
そっとしておこう。触らぬ髪に祟りなし。
荒れる原因にもなるし。
>>136
どこも意見は食い違っていないが?
>>130
昔私も苦労した。
http://piza2.2ch.net/tech/kako/1001/10010/1001035627.html
で話が出てるから読んでみ。
IMEで「リッポウメートル」を変換するとm3の記号が表示される
のですが、Editに入力すると ? になってしまいます、
そこで、m3と入力すると 3を上付文字として表示させるように
したいのですが、EditやMemoコンポーネントでは無理でしょうか?
(RichEditでも試してみましたが、入力は出来るのですが、
入力結果をプログラムから参照すると、やはり ? になっています。)
当方WIN95なんですが
95で使えるDELPHIってまだDLできるんでしょうか?

あと、厨房にも分かりやすい
参考書を教えてもらえるとうれしいっす
142デフォルトの名無しさん:02/03/21 12:00
>>140
>>141
質問はageたほうがいいよ〜。レスがつかないから。
今日だれもageてないからもうだいぶsagaって来てるよ。
質問 age → 回答(あるいは個人的な意見) sage
がいいと思う。代わりにage。

>>140
EditやMemoではまず無理。
ただのテキストでは不可能だと思う。
m^3の記号が入力できたとしても
表示できる環境が限られるので
使わないほうがいい。
リッチテキストで上付き文字を指定するしかないと思う。
>>141
厨房(=初心者?)ならDelphiの機能に目移りする前に、Pascalの基礎から
入りなさい。
>>143
敢えて反抗w

DelphiのイベントドリブンをいじってPascalを覚えましたが。
まぁ、その前にDOSのCやってたんだけど。

たのしけりゃそれで良いでしょ。そいつにやる気と才能があれば最終的には正しい知識となる。
145デフォルトの名無しさん:02/03/21 12:51
>>144
たしかにそーだな。
漏れはWinでは開発環境一通りやってBCBに落ち着いたんだけど
ちょっと前からさらに上をめざしてDelをはじめた。

VCLに関しては熟知してたんだがPascal全然知らなかった。
が、ツールキットを知っていれば何とか使うことができるから
そこからはじめることも良いと思う。
(ActiveX知ってればVB使える?みたいに)

最近ゆっくりObject Pascal Guide?(取説)読んで
けっこー目からうろこだった。

Del6から(付属の)リファレンスがなくなったけど、その分開発者ガイドが
増えてるんで、参考書買う前に一通り読むのが良いかと。
146145:02/03/21 12:54
付属の(紙の)ドキュメント読んでよく思うんだが
リファレンス以外のオンラインヘルプがひじょーに読みにくいと
思うのはおれだけ?

素直にPDF(or HTML)のほうが読みやすいような
やっぱり、
{$APPTYPE CONSOLE}
program hoge;
begin
 Writeln('Hello, world!');
end.
から始めるべきかと。w
>>147
エディタはメモ帳、コンパイルはDCC32、これ最強。
149141:02/03/21 13:03
回答あんがと
やる気と基礎が必要なわけっすね。がんばってみます!
まず6,7年前のOS使うの止めなさい
151デフォルトの名無しさん:02/03/21 14:13
授業でプログラム作ってます。
HTMLの表示にIEコンポを使いたいです。
学校の提出物にこれを使うのはやっぱりマズイんでしょうか?
 使えないとなると自力で表示させることになるのでヒデブです。
>151
課題程度ならindex.htmをSaveToFileして
表示ボタン押したらShellExecuteするだけでいいんでないの。
>>151
専門学校ならOK、大学ならNG
IE使わずを自力で表示か。
CSSやらJavaScriptやらJavaアプレットやら大変そうだな。
155デフォルトの名無しさん:02/03/21 15:12
インターネットのことだけど、ページを表示しないでアクセスするだけというのはできない?

たとえば、http://xxx/xxx.cgiに接続するだけ
>>155
出来る。Socket使うなりhttp使うなり。
157Delフサギコ ◆zE1iiRdQ :02/03/21 15:28
   .∧,,∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜'"ミ,,゚Д゚ミ < リッポンメートルはUNICODEみたいだね
 UU''UU   \___________
CLXなら表示できるかも。

EmEditorのプラグイン作ってて思うけど
TWideStringListとか、本格的にUNICODE対応してくれるのは
いつになるのやら。
158顔も名前も出さずに毎月100万円:02/03/21 15:31
    
Future-Web(フューチャーウェブ)登場
なんと10,000円単位の収入    

●10,000円単位の高収入
 1件につき最大10、000円の高額収入。月収100万円以上も可能。
●画期的なビジネス!
 インターネットを利用したこれまでにない斬新で画期的なビジネスです。
●誰でも出来ます!
 インターネットが出来る環境の方なら誰でも参加可能です。
●専門的な知識は一切不要!
 ビジネスに必要なツールはすべて当社で用意いたします。また、サポ
 ートも万全です。
●詳細は今すぐHPをご覧ください。
  http://www.future-web.tv/7823/
159デフォルトの名無しさん:02/03/21 15:31
>>156
詳細きぼんぬ
function GetHtml(URL: String): TStrings;
みたいなのがやりたいんだったらWinInetで簡単にできるよ。
161Delフサギコ ◆zE1iiRdQ :02/03/21 15:39
|  |,,∧  WinInet使ってヨシ 
|_|Д゚ミ 
|文|⊂ミ 
| ̄|∧|
http://members.jcom.home.ne.jp/monazilla/document/wininetdel.html

Indyはもっといいかも。
>>158
ハァ〜?
まだこんなんやってる奴がいるんだな、そもそも、うさんくせーよ、
こんなもん貼っても逆効果なんじゃねーの?ちーたー考えて宣伝したら?
進歩しないねぇ、この手の連中は・・・。
>進歩しないねぇ
放置できない奴が言うもんじゃねえな
>>155
Indyだったら、TIdHttp、フォームに貼って

S := IdHttp1.Get('http://xxx/xxx.cgi');

の1行だけで済む。エラー処理とかは居るけど。

ところで、Pro以降の標準でIndyがついてくるDelphiって、
Indyの日本語のヘルプもついてくるの?
>>163
スマソ!久々に見たもんだから興奮してしまったもので。ハァハァ
166デフォルトの名無しさん:02/03/21 17:48
前スレで話題になってた雪のソース書いてみようかな
雨は誰かが書いてくれたんで。

俺の知識じゃ出来るかどうかわからないけど。
>>166
がんばって。
>>166
完成したらうぷきぼん。
>>166
まずは雪の結晶をの形状を解析して
落下速度に応じた空気抵抗を算出だ。
170 :02/03/21 18:59
>>164
>ところで、Pro以降の標準でIndyがついてくるDelphiって、
>Indyの日本語のヘルプもついてくるの?
うん、Delphiヘルプに含まれているよ
171顔も尻も出さずに毎月100万モナー:02/03/21 19:43
Future-Web(フューチャーウェブ)登場
なんと10,000モナー単位の支出

●10,000モナー単位の高支出
 1件につき最大10、000モナーの高額支出。月収100万モナー以上もなー。
●画期的なビジネス!
 インターネットを利用したこれまでにない残虐で漫画的なビジネスです。
●誰でも出来ます!
 インターネットが出来る環境の方なら誰でも酸化化膿です。
●専門的な知識は一切不要!
 ビジネスに必要なツールはすべて貴社で用意いたします。また、サポ
 ートもマンセーです。
●詳細は今すぐエロサイトをご覧ください。
  http://www.fusagiko.tv/2323/
172opss:02/03/21 21:00
自分でプログラムつくっているのですが、自分の作成したアプリから
他のアプリを実行させる方法がわからず、煮詰まってます。

誰か教えてください。(TT
ShellExecute API
>>172
「煮詰まる」の言葉の使い方が違うような気が。
「論点が限定され *解決に近づく* 」という意味だよ。
175 :02/03/21 21:10
「行き詰まる」が正しいね
>>174
「知恵熱で、脳がいい感じに煮詰まっている」のかもよ?かもよ?
177164:02/03/21 21:34
>>170
サンクス。やっぱりついてるのか。
178174:02/03/21 21:57
>>176
今見たらレスがついてるな。
咎めるつもりで>>174を書き込んだわけではないけどね。
フィーリング的な意味で書き込んだ言葉には言及するつもりはないよ。
気軽に書き込んでいいと思うし、気軽に書き込めるべきだと思う。
私個人としては、2ちゃんねるが気軽な気持ちで発言できるような場所だとしても、
全国数千万のネットユーザーが見られるようなところに発言をするのだから、
ある程度慎重に発言しようと心がけている。
自分で発言するときは、送信ボタンを押す前に絶対2,3回チェックするようにしている。
やっぱり私は言葉遣いとかに敏感なのかな。

このスレとは直接関係ない話になってしまった・・・スマソ。
次の方質問どんどんどうぞ。↓
>>178
2ちゃんねらに求められるのは慎重に発言する心がけより、
多少叩かれても気にしない神経の太さだろう・・・

関係無いのでsage
次の方質問どんどんどうぞ。↓
>>179
あと煽りへの耐性と厨房を放置する心がけを忘れてはならないと思う。
でないと余計環境が悪化するからね。

漏れも関係無いのでsage
次の方質問どんどんどうぞ。↓
ClientDataSetの良い使い道を教えれ。
開発者ガイド嫁。
183 :02/03/21 22:57
>>181
Oracleのような単方向のデータをDataGridに表示しようと思ったら
ClientDataSetを使わざるを得んかったんじゃなかったっけか(う、自信不足)
184ミ…ミキティ!?:02/03/21 23:08
標準コンポのcomboboxって、書き込み不可の「csdropdownlist」(だったかな?)
ってスタイル選ぶと、「最初に表示される『text』」ってヤツが消えちゃうんだけど、
そーゆーもんなの?readonlyってプロパティは無いの?あるいは
「リストから選ぶだけ・最初にセットしたtextは表示される・書き込みは出来ない」
ってことは出来ないもんでしょか?
185Delヲサギコ:02/03/21 23:09
あのさー、なんか、質問の内容がgoogleやMLで解決するようなのが多すぎないかい?

そもそも、MLの過去ログの検索を知らないとかって人もいるかな?

武内氏が作ってくれてるここがお勧め、
ttp://www2.big.or.jp/~osamu/index.html

Tipsもあるから、そこも調べるとよろし。

別に、超初歩的な質問でも良いのだろうが、一応自分で調べる癖つけないと身に付かないと思われる。
自分で調べると、調べてる事とは違う知識がオマケで付いてくることがあるからね。
186Delヲサギコ:02/03/21 23:11
>>184
ComboBoxのStyleをcsDropDownListすれば、選択だけになる
187184:02/03/21 23:14
一応検索したのだが…。
で、自分の書き方が悪いのか…。
>>186
csDropDownListにすると、textにセットしたやつが消えちゃうんです。
それは必然なんスかね?
188Delヲサギコ:02/03/21 23:16
>>187
ItemIndexで最初に表示させたいitemの位置を指定
0〜itemの数-1 の範囲
デフォルトは -1となっている
189184:02/03/21 23:18
あ、onchangeでいちいち-1を監視すればいいかな?もしかして…。
当たってるなら気が付かなかったなぁ。違うかしらん?
>>188 キビシイコトイッテルワリニ、オマエシンセツナヤツダナ カンシンカンシン
>>188
偉そうにしといて、いい加減な答え方するな!
>>189
リスト内に存在させたくない文字を初期表示させたいってことですよね?

たぶん、仕様上無理では?
5 名前:Tips集 投稿日:01/09/21 10:29
 前スレのDelギコ氏作成のリンク集をお借りしたぞー

 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
   ∧ ∧   マターリ
   (,,゚Д゚)∫
   /  つ旦O
 〜(__n n[ ̄ ̄ ̄.]
         ̄ ̄ ̄
初心者向け
Do It YourSelf---Life with Delphi http://home.onestop.net/mineko/index2.html
ゼロからDELPHI講座 http://www.text2music.com/mine/delphi/index.html

VBから
Switching Delphi / VB http://member.nifty.ne.jp/deepforest/vbdel.htm
Visual Basic から Delphi/Kylix への移行ガイド http://www.borland.co.jp/delphi/papers/vbtodel/

Tipsサイト
Delphi Acid Floor  http://homepage2.nifty.com/boheme/top.html
Leafel's note Programing  http://hp.vector.co.jp/authors/VA015850/program.html
日本Delphi振興会  http://hp.vector.co.jp/authors/VA009712/take/delphi/kabetop.htm
Delphi神殿Tips  http://nug.nasu-net.or.jp/~sakai/delphi/index.html
M&I Tips  http://member.nifty.ne.jp/m-and-i/tips/tipspage.htm
Gen'sDelphiLabo  http://www2.biglobe.ne.jp/~sakai/gensfaq2.htm
FDelphi  http://www.nifty.ne.jp/forum/fdelphi/faq/title.htm
Borland Q&A Delphi  http://www.borland.co.jp/qanda/delphi/index.html
Borland Tips Delphi  http://www.borland.co.jp/tips/delphi/index.html
RG VEDA DELPHI TIPS  http://homepage1.nifty.com/beny/delphi.html
Sky Engine by Delphi  http://www.geocities.co.jp/SiliconValley-SanJose/7625/index.html
AboutDelphi  http://www2.big.or.jp/~osamu/Delphi/
Win32 API by Object Pascal of Delphi  http://halbow.cool.ne.jp/top.html
COSMIC TOWER DELPHI MILLION TIPS  http://homepage1.nifty.com/cosmic/delphi/delphitips.html
Delphi広場faq  http://www.sakaki.keiaikai.or.jp/faq.html
としのホームページTIPS  http://hp.vector.co.jp/authors/VA003525/tips.htm
STUDIO MU Delphi Q&A  http://www.para.tutics.tut.ac.jp/~ohno/mu/devroom/delphi_qa_g.html
中村の里  http://www.asahi-net.or.jp/~HA3T-NKMR/delphi.htm
進め!中級プログラマ  http://www.asahi-net.or.jp/~GV4J-SGUR/narik/susucyu.htm
Ken's Software Delphiの話題  http://homepage1.nifty.com/kens-hp/delphi.htm
Katsuya's Home  http://www.apionet.or.jp/~tubokura/k_tips.html
Ak's Laboratory[Delphi Construction]  http://www2s.biglobe.ne.jp/~aks-lab/delphi_lecture.htm
MADIAのVB研究室|Delphi Page  http://homepage1.nifty.com/MADIA/Delphi/Delhpi.htm
DEKO Delphiによるテクニック&アルゴリズム  http://homepage1.nifty.com\ht_deko\techalgo.html

初心者から上級者まで御用達
 DelphiML検索 http://www2.big.or.jp/~osamu/Delphi/
 Delphi広場 http://www.sakaki.keiaikai.or.jp/
 BorlandManiacs http://member.nifty.ne.jp/h_kova/

コンポーネントのことなら
 DelphianWorld http://home1.infonia.ne.jp/~delphian/delphi/
 DelphiSuperPage http://delphi.icm.edu.pl/

環境のカスタマイズなら
 GExperts http://www.gexperts.org/
 フリーカーソル無効化アドイン http://homepage1.nifty.com/fuu/

書籍案内
Delphi 書籍ランキング
http://home1.infonia.ne.jp/~delphian/delphi/history/book.html
http://home1.infonia.ne.jp/~delphian/delphi/history/bookrank2/book.html
Delphi初心者のための道しるべ  http://www.valley.ne.jp/~masaiku/index1.htm
195184:02/03/21 23:27
あ、違うや。最初にセットすりゃーいいのか。出来るんなら。

「MLの過去ログの検索」って、関係無いの拾いまくりだよね。
もーすこし、絞ってくれると使いやすいんだけどなぁ。いや、文句じゃないんだけど。
>>193
Delphi Acid Floor は移転しました、
http://www.wwlnk.com/boheme/
197DELモナー:02/03/21 23:28
>>193-194
  ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 次スレの先頭に貼ろうかな。 
 (    )  \____________
 | | |
 (__)_)
198184:02/03/21 23:29
>>192
あれま。無理?そっかー…。なーんか簡単なことなのになんでダメなんだろう?
richeditとかmemoのreadonlyがあれば問題なしなのに…。

>>198
もともとそういう動作のために作られたものではないと思う。

「ドロップダウンするコマンドボタン」の話を思い出したぞ。(w
>>198
OnKeyPressで入力潰せばReadOnlyもどきにはなるけど
多分おそらくComboBoxの存在理由を勘違いしている。
201184:02/03/21 23:34
>>200
そっか。じゃ、これまでにします。
教えてくれた人、ありがd。
>196
一番上の行を見てわかるとおり、かなり昔のスレの頭に張ってあった
ものなので、リンク切れが他にもあるかもしれぬ

>197
最近張ってないようなので、是非とも張ってくれ
203Delヲサギコ:02/03/21 23:37
>>198
なんか、いい加減呼ばわりされたようだが、ComboBoxのitemsに

(選んでね)
aaaa
bbbb
cccc

と設定しておいて、ComboBoxのItemIndexに0を設定じゃ駄目って事か?
204184 ◆eX0u5GM6 :02/03/21 23:45
>>203
いい加減呼ばわりしたのはオレじゃないよ。
なんか、荒れそうなんで、その方法も後で試してみますよ。
ありがd。
205Delヲサギコ:02/03/21 23:48
>>204
いあ、「なんか、いい加減呼ばわり」の部分は、君に言ったんじゃないよ。
じゃ、がんばつてね
206デフォルトの名無しさん:02/03/22 00:00
めちゃ厨房な事かもしれないけど・・・
何行かもとめる関数ってある?
もうちっとわかりやすくきけ。
TStrings.Countじゃだめなの?
>206
richedit.count;とか?なんの「行」か書かないと。
209208:02/03/22 00:03
richedit.Lines.Countか…。テヘ。
>>206
質問の内容は厨房なことだとしても、質問の仕方は厨房ではないようにできる。
詳しく、どんな状況にあるかを書こう。
例えば、求める対象となる文字列がString型の変数にある場合とか。
>>209
かわいい・・・ぽっ(; ´Д`)
212デフォルトの名無しさん:02/03/22 00:15
>>169
雪の結晶から作るんか!
普通は画像か何かでやるでしょ。
今度Delphiで作ったプログラムをKylixに移植することになったんすけどー
取り合えず、VCLからCLXに変換する必要があるとおもったんすけどー
一括して変更してくれるようなモードとか見当たらないんすけど、無いの?

Delphi6(VCL) -> Delphi6(CLX) -> Kylix2 こんな感じでwin側もLinux側も
同じソース使おうとかって思ってるんだがどーよ。
因みに、Kylix2はまだ届いてない・・・大丈夫なのか?
(´-`)。o ○ (まず、口のききかたを勉強する必要があるヤツがいるな…)
* ツレでもない人間のタメ口口調の発言を読むのはそれだけで愉快ではありません。
* 自分についたレスならハッキリと不愉快です。
* インターネットの匿名性の元で国籍、年齢、性別、職業、地位の別なく
* 自由に意見交換をするということは
* 『対等だからタメ口でよい』ではなく
* 『対等だからこそ相手に最大限の敬意を払うべき』と思いますが?
* 敬語を使い慣れていなくても
* 丁寧語で、『です、ます調』で書くくらいの気配りはあるべきではないでしょうか?
>>213 Kylixはまったく分かりません・・・。スマソ。ところで、
2チャンネルがいくら「フレンドリー」に書き込みができる場だとしても、
ちょっと「馴れ馴れしく」見えてしまう人がいるかも。
私が質問をするときは「教えていただく」わけだから、
丁寧にお願いするようにしているよ。
(´-`)。o ○ (思ったことは同じか…。次は口調を改めてマルチポストするのかなと…)
218216:02/03/22 00:56
>>216 細かいことだけど訂正。 2チャンネル → 2ちゃんねる
219思いつき:02/03/22 00:58
>>213
共通部分はユニットのエリアス設定するだけじゃ駄目なんだっけ?
220213:02/03/22 01:00
よくわかりました、ありがとうございました。
マルチポストなんぞしません。さようなら。
( ´∀`)アイヨー
>>219
でも、それ何処とじゃないことが解ったのでもう諦めました。
自作のコンポ使ってる部分があってWinAPIガチガチだったんで
そっちから手をつけることにしました。

ありがとうございました。
223213:02/03/22 01:03
#bye
#end
>>222
API使ってたらCLXにできないの?
>>224
Win32API使ったコードがLinuxでそのまま動いたらえらいこっちゃ。
リーナスがゲイツに訴えられるよ。
226 :02/03/22 01:58
>>224
「プラットホームに依存する」とかの警告が出ると思うよ
227デフォルトの名無しさん:02/03/22 02:08
readme_62.txt に、

> 修正,改良の詳細については,Delphi 6 のディレクトリにインストールされた
> D602FIXES.html ファイルをご覧ください。

とあるが、そんなファイルどこにもないぞ!!!
>>227
心の目で見なさい。
229デフォルトの名無しさん:02/03/22 02:32
>>213
本当は作る時点でCLXプロジェクトとして組まないとダメ。
もしそういうことをしてないならかなり手間かかっちゃうね。
とくにドッキングとか使ってる人は。
でも元のソースが有るんならCLXに移すだけで1日もあれば出来るはず。

自分はkylixから入ったんだけど、ハッキリ言ってあのソフトはくそでした。
glibc如きで依存した動作するわバグ満載だわ、デバッグ実行したらソフト落ちるわ・・・。
そりゃ速攻でバージョン2出すわな。(本当は無料で欲しいけど。)
バージョン2届いたらレポートよろしく。

うちはまだDelphi6&kylix1で開発を続けてるんで。

>>225
ShowMessageもAPIだった予感・・・
そもそもkylixはwine上で動いてるからね。
>229
ShowMessageは非API。
詳しくはソース。
いっそ米司法省がMSに資金提供させて
BorlandにLinuxで動くCRL作らせりゃいいんだよ。
232荒れる?荒れるの?:02/03/22 02:53
Linuxとネスケって需要あるの?
>232
需要は作るものだ。
234デフォルトの名無しさん:02/03/22 04:57
こんな時間にスマソ
今、データベースの勉強しようかと思ってます。んで・・・
サンプルデータベースのアニマルで、やろうとしてるんですが、
SQL文に「WHERE SIZE > 10」ってやると、「キーワードが無効です
キーワード:SIZE」ってでちゃうんです。
「WHERE WHIGHT > 10」だと正常動作します。
なんで、なんでしょうか?
助けてくださーい
235 :02/03/22 05:04
>>234
「SIZE」はSQLのキーワードだからでしょ

SQLもプログラム言語なんだからキーワードを変数名(フィールド名)
としては使えないと・・・
>なんで、なんでしょうか?

この表現よいね・・・
237デフォルトの名無しさん:02/03/22 05:15
>>235
回答ありがとうございます。
こんな、時間に即レスあるとわ、びっくりです!

しかし、まいったなぁ・・・・
じゃぁSIZEで抜き出しするには、どうしたらいいですか?
まさか、出来ないとか・・・

ずるいよ、ずるいよなぁ?
238 :02/03/22 05:25
>>237
WHERE "SIZE" > 10
では?
239 :02/03/22 05:27
ってことは結局キーワードを変数名としても使えるわけか・・・
自分の勉強にもなりましたよ
240 :02/03/22 05:31
×変数名
○フィールド名
・・・ま、いっか
241デフォルトの名無しさん:02/03/22 05:31
>>238
う〜ん、出来ませんです。
それだと、「式中の型が一致していません」って出ちゃいます。
困ったナァ
242 :02/03/22 05:38
>>241
自分の手元にあるのはInterBase(Delスレだからまだいいけど一般にはマイナーかな)
だけど通りましたよ

SIZEの中身が文字列だったら数値と比較すれば当然「型が一致していません」
でしょうけど
243デフォルトの名無しさん:02/03/22 05:47
>>242
う〜ん なんでかわからないけど、出来ませんでした。
””で囲むと型が変わっちゃうのかナァ?
SIZEの中身はNUMERICなんですが・・・
もうちょっと、調べてみます。
244 :02/03/22 05:49
>>243
アニマルというのがDelのanimal.dbfと分かったので・・・以下でOKのはず
select *
from "animal.dbf" a
where
a."SIZE" > 20
245 :02/03/22 06:04
それとね
同じDBDEMOSのテーブルならbiolife.dbの方が面白いですよ

ちなみにanimal.dbfはdBASE、biolife.dbはParadox
Delで最も扱いやすいのはParadoxですね
>>244
あらら?出来ました!
でも、なんでだろう?
「animals」を「a」として「a」の「SIZE」が20より大きい物を抜き出す。
ですよね?これって。
なんで、これだけ、テーブル名つけなきゃいけないんだろう?
わかんないなー
しょうがないから、これからはなんでも、テーブル名先につけるように
します。
どうも、ありがとうございました!!!
247勉強中。:02/03/22 07:07
0から作るのではなく、既存のものに手を加えて作る。

それこそがOOPの醍醐味..と思ってみるテスト。
248どうか教えてください。:02/03/22 08:30
var
 A,B : TStringList ;
の時
 A := TStringList.Create ;
 B := TStringList.Create ;
 A.Add('あいうえお');
 B.Add('かきくけこ');
として
 A := B ;
とすると、変数A,Bはそれぞれのインスタンスへのポインタに過ぎないので
変数A,Bはどちらも同じインスタンスを指すことになる。
(↑ここまではあってますよね?)

このとき、変数Aがもともと指していたインスタンスはどうなってしまうのですか?
A := B ;の時点で開放されるのでしょうか?
それともプログラム終了まで、メモリに残るのでしょうか?
もしメモリに残っているのなら、どうやって参照すればよいのでしょうか?
醍醐味というなら 少し手を加えるだけで使えるように コンポーネント作ってる方がオイシイぞ
>>248
1、 インターフェース型ではないのでメモリには残っている
2、 その情報だけからは参照出来ない
   コンポーネント型なら、作成時の親から辿れるけど TStringsはコンポーネント型ではないから
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (´・д・`) <  はぁぁ、モテないよぅ
 (つ旦と)   \_______
  と_)_)
252デフォルトの名無しさん:02/03/22 08:57
質問です。
Gridの上に目印を置きたいのですがどうやったら良いでしょうか?
クリックしたとき、ダブルクリックしたときにそれぞれColとRowの座標を持ってくるんですがそこに目印のような物を
起きたいのです。
文字を置き換えは既にやってるので出来ないです。
何か良い方法は無いでしょうか?
>>248
Aで参照されていたものはメモリに残ってしまうので、自分で解放しないといけませんね。
250の言うように非インターフェースや非コンポーネントは注意が必要です。
>>252
  OnDrawCell でその座標の時だけ特別な描き方をしたらいいんじゃないの?
>>251 キミがいいと思う人はどこかに(そこら中に)居ると思われ
  ただし、その人をキミがいいと思わないのであろう
256デフォルトの名無しさん:02/03/22 09:05
>>254
OnDrawで画像って描画出来ます?
257デフォルトの名無しさん:02/03/22 09:11
>>248
この場合、スタックに確保された変数Aと変数Bの領域は関数を抜けると開放されるけど、
文字列のためのヒープ領域はB.Freeとしないとメモリーリークになるという理解でいいですか?
さらにこの場合元々Aが使用していたヒープ領域はFreeしようがないのでリークの原因になるっつー理解でいいですか?
>>256 ○でも×でも文字でも絵でも好きなように描けばいいよ
>>257
 正解だけど、そういうミスをしないように

1、ひとつのブロックで一つしか作成しない
2、インスタンスを作成する場合は必ず try ... finally hoge.free;end; を入れる

とか自分で決めておいたらどう?
260248:02/03/22 09:31
>250,253,257,259

回答ありがとうございます。
結局メモリの無駄遣いになるということですね。

おろかにも上記のような代入を多用したルーチンを
書こうと思ってましたので大変助かりました。
261 :02/03/22 09:59
>>260
TStrings(TStringListを含む)の中身の代入には
Assignを使う
248の例だと
 A.Assign(B);
これ常識
>260
Interface, TComponent使ってると明示的に
開放する必要ないんだけどね。

>261
そりゃ意味が違うよ。
263デフォルトの名無しさん:02/03/22 10:16
メモリの中に入ってる値(String)を保存ダイアログでテキストに保存させることって出来ますか?
>263
状況がよくわからんがTStream系を使えば十分可能。
先頭アドレスPCharにキャストして文字列として普通にセーブ。
初心者はTStringListが一番楽でしょ
if SaveDialog1.Execute then
StringList1.SaveToFile(SaveDialog1.FileName);
RichEditで、DBから自動でテーブルやDBの情報を持ってきてそれに
手書きでワープロ出来るようなソフトを作っているのですが、
RichEditの属性って .SelAttributes.〜 じゃないと属性設定出来ない
のでしょうか?
268デフォルトの名無しさん:02/03/22 11:19
Stringの変数をStringlistに持っていくと互換性無いって言われる!
なんで?
>>266

一応ダイアログ開きましたけど。
StringList.Add(String)しろ
270デフォルトの名無しさん:02/03/22 11:28
>>269
すいません
凡ミスでした。
271デフォルトの名無しさん:02/03/22 11:28
Object Pascalでデザインパターンを説明したサイトってありませんか?
>保存ダイアログでテキストに保存させることって出来ますか?

保存ダイアログはファイルパスを決めるまでしかしないYO!
274デフォルトの名無しさん:02/03/22 11:41
>>272
そのサイト言ったら落ちたよ?
デザインパターンって言う文字と外人の顔は見えたけどそのあと窓が何個も開いてブラウザが強制終了しちゃった。

鬱です・・・。
>274
落ちないよ。ただウザい広告がしばらく出てるだけ。
しばらく待ってれば消えるよ。
276 :02/03/22 11:51
>>275
ノートン使ってると「ウザい広告」が出なくて快適
277 :02/03/22 11:51
あ、やっぱりこそっと出てた
278デフォルトの名無しさん:02/03/22 12:11
構文解析パターンについて知りたいです。
TabSheet.Freeをすると親のTPageControlのActivePageが一瞬、
Pages[0]になった後にまた元のActivePageになるが嫌なんですが、
この現象を止めるにはどうしたらいいんでしょうか?
>>279
TabIndexを指定してからFreeしれ
281デフォルトの名無しさん:02/03/22 12:39
ここ、レベル低〜い。
282280:02/03/22 12:43
脊髄レス失敗
>>271
最近のMLとか
>283
あれじゃわからんだろ。
しかもDelphi+Iteratorってさいて〜な組み合わせ。
>Delphi+Iterator
たーしかに・・・。
List周り自作すると今度はVCLとの調和が・・・。
どうしてObject PascalとC#&Ruby比較しないんだろ?
>>281
タイトル読めないの?
288デフォルトの名無しさん:02/03/22 14:30
ドッキングを作りたいんですけどPanelでやるとフロートしたあとに元に戻せないです。
他に良い方法無いですか?
元の位置にくっつけたいんです。
289288:02/03/22 14:31
あ、別にPanelにこだわってる訳じゃ無いです。
ドッキングが出来たら何でも良いです。
サンプルがあったような
291デフォルトの名無しさん:02/03/22 14:51
Decoratorパターンを試してみようと思い、UMLマガジンを見ながら
以下のようにしたのですが…
このあとどういう風にすれば Decorator パターンになりますか?

type
 TInstrument = class
  procedure Play; virtual; abstract;
 end;

 TGuiter = class( TInstrument )
  procedure Play; override;
 end;

 TEffector = class( TInstrument )
  FInstrument: TInstrument;
  procedure Play; override;
 end;

 TEffector1 = class( TEffector );
  procedure Play; override;
 end;

 TEffector2 = class( TEffector );
  procedure Play; override;
 end;

 TEffector3 = class( TEffector );
  procedure Play; override;
 end;


procedure TGuiter.Play; begin WriteLn('ビヨン..'); end;
procedure TEffector1.Play; begin FInstrument.Play; WriteLn('ョンョンョン...'); end;
procedure TEffector2.Play; begin FInstrument.Play; WriteLn('ボワワンボワワン'); end;
procedure TEffector3.Play; begin FInstrument.Play; WriteLn('キィーン'); end;
>>291
property Instrument: TInstrument read FInstrument write SetInstrument;
にして着脱を容易にするインタフェースがあるといい。
あとはAssigned(Instrument)のチェックを忘れずに。
ついでにoverrideした全てのPlay内で毎回
Instrument.Playを呼ぶのは面倒なんで(忘れると悲惨なことに...)

Playはprotectedにして
procedure TInstrument.Execute;
begin
 if Assigned(Instrument) then
  Instrument.Play;
 Play;
end;
みたいにすると楽かも。
こういうデザパタとかをDelマガで特集すれば売り上げ伸びるのにね。
誰も興味なんか無いさ。
>>291 Decoratorらしくするには
サブクラスで 親クラスのインスタンスを引数にするコンストラクか 親クラスを持つ為のプロパティが必要かと

そして、飾られるのは親クラスだから、ええと
296141:02/03/22 15:45
自分のPC,MMX P166なもんでW98ですらきつすぎ(−−
ということで、95OKなDELPHI探してるんですが
やっぱ、ないんですかねえ(;;
>>296
Delphi1.0なら余裕で動く。
CDにおまけでついてない?
>>297 ついてたのは Delphi4までだからねえ どこかの在庫探すしかないんじゃない?

それよりDelphi1をフリーにしてくれないかなあ
299141:02/03/22 15:48
>>297
雑誌とかについてるのですか?
自分が持ってるのは、参考書についてた、6.0だけでした。
>>141
未登録のを探せばいいんじゃない?
http://list.auctions.yahoo.co.jp/jp/2084022986-category-leaf.html
301デフォルトの名無しさん:02/03/22 16:30
プログラムが終わる瞬間の、とあるグローバル変数の中身を知りたいがために

initialization

finalization
 ShowMessage( 変数 );
end.

としましたが、なぜか全く表示されません。…ナゼ?
>301
そこに制御が移る直前にもうShowMessageを呼び出す
機能がdestructされちゃってるから。
Windows.MessageDlgなら呼べるよ。
>>296
Cel366のVMWare上のWin95OSR2でDelphi5ProとDelphi6Personal
をつかってます。ツールバーのアイコンがすぐバケる以外は特に
問題は出てないですね。
使えなかったんですか?
304名無しヘタぐらま ◆B18Bks.Y :02/03/22 17:10
>>296
私の前の開発マシンがMMX Pentium 200MHzのPC-9821系でしたが
Delphi3ならサクサク動くし,5も起動に時間がかかって,
ファイルの読み込み後にちょっとディスクアクセスするほかは
問題ないレベルでした.

>300さんのあげたくださったオークションも選択肢に入れていいと思います.
とりあえずこのページを見に行くといいかも.
>300さんのサイト、スタンダード版ばかりでろくなの無いよ。

書籍付きでお得ですよ!
307デフォルトの名無しさん:02/03/22 19:20
メモリの解放し忘れをチェックするために、こんなものを作りました

var HogeInstances:TList;

...

constructor THogeItem.Create;
begin
 HogeInstances.Add( Self );
end;

...

HogeItem を使った後のタイミングで実行
procedure HogeInstancesFree;begin
var
 P:TObject;
begin
 while HogeInstances.Count > 0 do begin
  P := TObject(HogeInstances[0]);
  HogeInstance.Delete(0);
  P.Free;
 end;
end;
308デフォルトの名無しさん:02/03/22 23:08
途中でcomboboxのスタイルをcsdropdownlistに変えるとindexが変よ?
combobox1.itemindex:=combobox1.items.count-1とかすると一番上のが選択されちまうのよ
ほんでcombobox1.seltext:='hoge'とかするとhogeの一個上が選択されとるわけよ
どうなっとるわけ?

(´-`).。oOy(あ、僕、ど素人ですけど・・・)
>>308 回答じゃないけど、
とりあえず>>216あたりを読んで・・・。このスレの雰囲気を見よう。
>>309
(゜д゜)<あらやだ!ごめんなさい。
でも怒りに満ちてるのはデルファイに対してなの・・・わかって・・・
311309:02/03/22 23:33
>>308 >>310
ちょっと動作を検証してみたけど、
>>308に書いてある限りでは、こっちでは質問のような動作の不具合はなかった。
また、>>308の3行目についてだけど、ドロップダウンリストにすると、
項目は選ぶのみで、テキストの直接入力はできないので、
そのプロパティは設定しても音沙汰なしになるはず。

何か特別な状況になっているかもしれないので、
もっと不具合が起こった状況を詳しく書いたほうがいいと思うよ。
312308:02/03/22 23:50
あるキー操作でコンボボックスの中身を入れ替えてスタイルをcsDropDownListに変えます。
そのときソートをtrueにオートコンプリートをfalseに変えます。
んで、さらにある操作で中身を変えられるようにしてるんですけど、入れ替えたときに
combobox1.itemindex:=combobox1.items.count-1とすると一番上のが選択されてしまう。
combobox1.itemindex:=combobox.items.indexof('aho')とするとahoの一個上が選択されてしまう。
何も指定しないと上から2番目が勝手に選択されてしまう・・・などなど・・・
この動作をスタイルを変えずにやると上のような問題がおきなかった。
コンボボックスのスタイル変更、ってのは Windows コントロールの再生成を
必要とするから、コンボボックスの中身や選択状態はすべて消失するのが Windows の仕様。
それを VCL 側で管理している部分に手落ちがあるんだろう?
素直に index を 0 に設定するか、同様なことを TCOmboBox のコードに入れて
再ビルド。

ソースついているんだからしゃぶれ。
314デフォルトの名無しさん:02/03/23 00:00
307がなんなのか解らない。
315308:02/03/23 00:02
( ´・ω・)ぁぃ・・・
316308:02/03/23 00:17
(´-`).。oOy(あ、言い忘れたけど、スタイルを変えてから中身入れ替えてます・・・
                                     いろいろ調べてみよっと)
お邪魔します
プログラムの休憩合間に、コンビニを利用する方
http://wakaz.lolipop.jp/index.html
(´-`)。o ○ (本当に邪魔だな…)
お邪魔します
プログラム作成中にタバコを大量に吸ってしまう人でタバコを辞めたい方
100%タバコを辞める方法を教えます。

タバコを捨てたりしなくてもOK、必ず辞める事が出来ます、
しかも、今まで以上に吸ってください、私は2時間程度で辞める事が出来ました。

1.タバコを全て箱から出して下さい。
2.フィルタが上にくるようにして箱に戻してください。
3.タバコを吸う時は必ずフィルタ側に火をつけます。
4.おもいっきり吸って下さい。

但し、臭いからといって吸うのを辞めたら駄目です、完全にフィルタ部分を
吸い尽くして下さい、その後、葉の部分まで火が来たらそもまま吸っても
結構です、しかし、ここまで来るとモドシそうになっているはずですので、
消したくなるでしょう。

これを数本吸うだけで、タバコに手がのびなくなります!
それでも吸う人は逝って下さい。

但し、非常に有害で危険ですので自己責任でお試し下さい。
>>318
いちいち反応するオマエモナー
>>319 すれ違いなもん書き込むなボケ!
放置で宜しく
>>319
そんなことしても大丈夫?煙草吸ってた方が健康だったんじゃないの?
発ガン性物質がその数本で十分からだに蓄積されたから、
あんた近いうちに死ぬよ、たぶん。(藁)
319=323
325デフォルトの名無しさん:02/03/23 01:19
文字列をCommaTextで処理すると

'あああ','いい いい','うううう'

と成ることを期待しているのに、

'あああ','いい','いい','うううう'

と、「いい いい」 の中間のスペースで区切られて
しまうようなのですが、どーすれば良いのでしょう。
326デフォルトの名無しさん:02/03/23 01:20
319=320=321=322=323=324
327デフォルトの名無しさん:02/03/23 01:23
>>325 全角空白ならOKだとおもうけど

俺レベルだと 半角空白を \nとかに変換して CommaText
んで \n  を元に戻す・・・あほや
>>325
DelimitedTextは駄目?
>>325
' "あああ","いいい いい","ううう" ' と 文字列を "で囲んでやったら大丈夫だとおもふ

>>328
この場合DelimitedTextは意味無いと思われる
>135(≠>289氏です)ですが、ポインタだけでもキボンヌ…
まともな検索結果が上位にでてくるGoogleサーチでも是非に。
というかドッキングの使い手ってあまり居ないのでしょうか…

>289氏
フロートする物をToolWindowなFormでやって、
DragKindをdkDockに
DragModeをdmAutoMaticに

適当にドック先にPanelでも配置して、
UseDockManagerをTrueに
DocSiteをTrueに

これでどう?漏れはこれで出来たけど、
フロート/ドック状態の記憶・復元がうまく出来ない(;´Д`)
331デフォルトの名無しさん:02/03/23 01:37
>>327-329
ありがとうございます、テストしてみると""で囲むと上手く動きましたが、

もう一つ、今度は逆に
Memoコンポーネント等の中身をカンマ編集にして書き出す時に、
xxxx:=Memo1.Lines.CommaText;
のようにしてカンマを付けているのですが、この場合に勝手に ""で囲まれる
部分と囲まれない部分が判断(空白の有無等?)されるみたいなのですけど、
1行1行ループさせて ""で囲むようにガリガリと書かないと駄目なのでしょうか?

332デフォルトの名無しさん:02/03/23 01:43
>>331

ガリガリって・・・・程度なんで、これで良いのでは?

var
  i:integer;
begin

  Memo2.Clear;
  for i:=0 to Memo1.Lines.Count -1 do
  begin
   if (Self.Memo2.Text<>'') then
    Self.Memo2.Text:=Self.Memo2.Text+',';
   Self.Memo2.Text:=Self.Memo2.Text+'"'+Self.Memo1.Lines[i]+'"';
  end;

end;
333332:02/03/23 01:44
訂正:
程度なんで -> この程度なんで
>>332
速度的にループさせると遅くなるのでは?と考えまして、その意味でのガリガリの表現でした。
少し試してみました、データ件数が少ないので何とも言えないのですが、速度の差はあまり無いみたいです。
有難うございました。
335>>307:02/03/23 02:41
モジュール(*.exe/*.dll)全体ならinitialization/finalizationでAllocMemCountを比較、
クラス毎ならNewInstance/FreeInstanceのオーバーロード。
ちなみにそのコードだとFree忘れを(チェックではなく)もみ消してるようにしか見えないが?
報告させて、キッチリ忘れてる箇所でFreeするようにするのが筋と思う。(GCしたいなら別だが)
訂正、おーばーらいど…鬱です逝って来ます
>>330
昔Adobe風味なUI頼まれてDock使ってみたんだが
状況の保存、復元がうまくできなくて断念(鬱

結局TForm継承したTDockFormを作って
移動中にほかのフォームに近づくと吸い寄せられるよーな作りにした。
でTDockFormにPageControl配置してそれをDockの親?にして、
TabSheetをDock/UnDockするといい感じだったような記憶が・・・
この場合は保存/復元はTDockForm単位でできたような・・・

あいまいでスマソ
338166:02/03/23 14:19
雪を降らす奴作ってたんだけど全然うまくいかない
誰かヒント下さい!!
>>331
それで正解です。
CSVの仕様(MS独自?)では半角スペース、若しくはカンマのあるときは
"で囲み、"そのものを表すときは""と表し、かつそのセルは"で囲みます。

Tstringlistのcommatextはその仕様を満たしており、331で吐き出された
データはそのままでOKです。

そのデータをcommatextプロパティに代入すれば、元のデータに戻ります。
よって332のような処理は不要です。
>>337殿
レスありがとう。

> 状況の保存、復元がうまくできなくて断念(鬱
ヤパーリ(;´Д`)

> 結局TForm継承したTDockFormを作って
(以下略失礼)
なるほど
漏れはそこまで作り込む時間も技術も無いので、
ドッキングは諦めます(;´Д`)
>>339
その後発覚した事なのですが、どーしても 全ての項目を " で囲んでやる必要ができてしまい、
結局 332さんに書いて頂いた方法と同じような方法を使うことにしました、Memoコンポへ読み込んだり
吐き出したりするだけなら良かったのですが、外部のとある見積システムへデータを流し込む時に、
全ての項目に " が付いていないと 「不正な数値です」と怒られてしまうのです、
見積システムがボロなので仕方ないのですが、結局、332さんの方法でやってみます。

何れにせよ、DelphiがCSVの仕様を満たしていないのでは無いことが理解できましたので
勉強になりました。ありがとうございました。
>>341
セルに「"」文字が入ってる場合はどうなるか?など、
「外部のとある見積システム」の挙動を把握しておくことをオススメします。
343デフォルトの名無しさん:02/03/23 22:40
タスクバーに常駐するだけのものを作りたい。DataModuleでやってみたけど、すぐに終了されてしまう。どうすればいいですか?
BorlandのFAQ, Q&Aにあったよ
345デフォルトの名無しさん:02/03/23 23:13
ファイルのI/Oで質問です。
大きなテキストファイルを読み込むとき、
メモリの使用量を減らすため一度には読み込まず、
一定の量ごとに分けて読み込もうと思うのですが、
これでは、2バイト文字が分断される可能性があります。
これを回避する方法はないでしょうか。

具体的には、TFileStream.Readで
一回に32KB分をCharの配列に読み込んで、
それをStringに変換し、しかるべき処理をして、
EOFに達するまでそれを繰り返していくという流れです。
Readlnで行ごとに読んでいけば分断されないことが保証されるよ。
347344:02/03/23 23:17
>>346
書き忘れていました。すみません。
改行コード(CR,LF)などをしっかり管理したいので、
行ごとに読み込むということはできません。
>>345
ByteType 関数をつかうとか?
349345:02/03/23 23:19
>>347
名前欄を訂正します。 ×344 → ○345
350345:02/03/23 23:23
>>348
回答ありがとうございます。
処理が煩雑になりそうですが、考えてみます。
351348:02/03/23 23:26
>>345
やはり行毎に読むのが安全だとおもいますよ。
改行コードは最初に調べておき、書き込む時点で修正すればよろしいかと。
352デフォルトの名無しさん:02/03/23 23:28
カーソルの読み込みを
Screen.Cursors[99] := LoadCursorFromFile('hoge.cur');
とやって読み込んでるのですが、カーソルが無いと読み込めないですよね。
特にエラーは出ないですが。

これをファイルの中に埋め込む事って出来ないですか?
Readで一バイトずつ読んでいくとか。
バッファリングは内部でやってくれるよ。
354348:02/03/23 23:30
>>352
リソースファイルにカーソルをいれておくとヨイ。
それをプロジェクトソースでインクルードする。
{$R xxxx.RES}という具合。
355345:02/03/23 23:33
>>353
> バッファリングは内部でやってくれるよ。
すみません。バッファリングとはどういうことでしょうか。
356デフォルトの名無しさん:02/03/24 00:19
>>355
胃にやさしい頭痛薬。
風邪薬。
行の途中で分断されるのも都合が悪いと思うが。
始めまして!
FileListbBoxに表示されているファイル名をダブルクリックしたときに、
とある処理を行いたいのですが、どうすれば良いでしょうか?
以下のような事を行って見ましたが、ダブルクリックしても反応なしでした。

type
TForm1 = class(TForm)
FileListBox1: TFileListBox;
procedure FileListBox1OnDblClick(Sender: TObject);

(途中省略)

procedure TForm1.FileListBox1OnDblClick(Sender: TObject);
begin
ShowMessage('dblclick ok');
end;
360デフォルトの名無しさん:02/03/24 05:37
ListBoxのAutoCompleteプロパティについての質問です。
Delphi6のヘルプには、

>ユーザーがさらに文字を入力すると,一致する文字列が長くなるため,
>ItemIndex はそれより後の項目に変更されます。

とあるのですが、このような動作をさせるためには、どうすればいいのでしょうか?
361360:02/03/24 06:00
自己解決。
SortプロパティをTrueにしなきゃいけなかったのね。

ところで、このキー入力時は一定時間内に連続して入力しないと
リセットされてしまうようですが、どこかで変更できるのでしょうか?
procedure TForm1.FormCreate(Sender: TObject);
begin
word := 'おはよう';
lebel1. 
end;

label1.でコード補完するとDelphiが止まってしまいます。既出ですか?
wordなんて使わないから予約語だなんて知らなかったんですよ。マジで。
当方Delphi6です。
俺んとこだとちゃんと一覧出るよ。
>>362
何が言いたいのか分からない・・・とりあえず変数は定義すれ
あ、宣言っつったほうが正確か
>>362
たいへん、おもしろうございました。
367デフォルトの名無しさん:02/03/24 15:03
例外が発生した際に、その例外メッセージをダイアログではなく、
他の方法で表示したいのですが、

try
 ...
except
 ReportError( '例外メッセージ' );
end;

このとき、例外メッセージはどのようにして取得することが出来るので
しょうか。
try
except
 on E:Exception do
  ShowMessage(E.Message);
end;
つかヘルプ嫁
369デフォルトの名無しさん:02/03/24 18:00
PQCompoを使ってPOSTGRESQLに接続している人に教えて頂きたいのですが、
他で排他にてレコードが参照されている場合に、こちらが、レコードがロックをかけて
更新しようとすると待ちになってしまい固まったように見えてしまいます。
今から更新しようとするレコードがロック状態なのか否かを先に調べて、メッセージ
でも表示させたいのですが、どのように実現すればよいのか判りません、何か
SQLで状態を参照したり出来るのでしょうか?

板違いのような気もしたのですが、Delphi+PQCompoってことで一応こちらで質問
させて頂きました。

環境は、D6(WinXP home)+PQCompo1.5+PostgreSQL-7.1(Linux)です
>>369 折れも、昔同じ部分でひっかかったよ、そして解析してみたんだが厨房なもんで結局諦めた、
折れの解析によると、libpqの仕様だったとおもうよ、非同期問い合わせ関数を使えば、なんとかなる
のだが、ちょっと試した限りじゃ難しくて手に負えなかった、つーか、最初から非同期問い合わせで
やつ作りにしてなかったんで、トランザクションが中断された場合を考えるとジャー臭くなって止めた。
そんなこんなで、独自にロックしてるよ!って情報を蓄積するテーブルを1つ作成して、そのテーブル
を参照してから処理するようにした。当時はレコードロックが無かったんで今よりは意味があったが、
今ならレコードロック可能なんで、作りと運用を工夫すればロックの待ちで長時間放置されないよう
なことも可能なのでは?
371369:02/03/24 19:49
>>370
やはり・・・・・・・。
大体ワカリマシタ有難う御座いました。
>>362
Update 当ててからテストしてみ。
373デフォルトの名無しさん:02/03/24 20:23
アマゾンで注文してた
Sams teachs you DElphi in 21 days
という本が届いたので、またDelphi を始めます。
電話帳みたいに分厚いです。


374デフォルトの名無しさん:02/03/24 20:24
直前にフォーカスがあったウインドウのハンドルを得るにはどうしますか?
直前にアクティブだったウインドウのハンドルはGetNextWindowで得ることができるんですけど・・・
>>374
フォーカス当たったらその値を記憶していく。
376デフォルトの名無しさん:02/03/24 20:57
初めてプログラムに手をつけるなら
Delphiがいいと言われたので、ダウンロード、インストールしました。
でもそれから何をすればいいか分かりません。
Delphi初心者のために全て解説してくれてるサイトとか
ありませんか?基本だけでも分かるような。
>>376
本買いな。
基礎をしっかり覚えるならそれが一番いい。

どうせPascalを完璧に解説してるサイトなんて・・・ある?
>>376
50MBも落とすのは馬鹿らしいんじゃなかったっけ?
379デフォルトの名無しさん:02/03/24 21:01
>>378
?それは僕じゃないですよ。
僕は1ですから。
380デフォルトの名無しさん:02/03/24 21:02
>>376
まずはメモ帳とdcc32.exe、これ最強。
IDEはしばらくは起動しない。
>>380
Delphiの楽しさがこれっぽっちも・・・w
382374:02/03/24 21:05
>>375
外部プログラムのフォーカスがあったウインドウハンドルって意味なんですけど、
それを監視するってことでしょうか?とりあえずやり方サパーリですけど・・・

さらに質問なんですけど、外部プログラムをアクティブにするやり方なんですけど、
SetForegroundWindowだと最善面にくるもののアクティブにならず(なるやつもある)、
SetActiveWindowだと何の音沙汰もなし・・・で、非常に悩んでおります。

※フォーカスはキー入力先、アクティブはフォーカスのあるウインドウを含むって意味です。
>>382
HOOKする。
何か起動したら一瞬で消えました。
黒い画面が出てきて文字がバーッて書かれたあとに。
385デフォルトの名無しさん:02/03/24 21:07
>>384
DCC32か?コマンドプロンプトから起動しる。
>>384
プログラムの前にWindowsのお勉強が必要かもしれない・・・。
コマンドプロンプトとは・・?
388デフォルトの名無しさん:02/03/24 21:08
DOSプロンプトともいう。
ん、結局どうすればいいですか?
できたら詳しく教えてもらうと嬉しいのですが・・。
>>389

>>377

無視はいかんよ。いいこと言ってる方のレスだけ・・・。
つまり本屋に行くまでは
諦めなければダメですか?
>>391

まぁいいか。
Delphiを機動・・・

って言うかシリアルナンバーとか取得した??
393デフォルトの名無しさん:02/03/24 21:20
メモ帳を開く。
おもむろに
---------------------------------
{$APPTYPE CONSOLE}
program hoge;
begin
Writeln('はろーわーるど。');
end.
---------------------------------
と打ち込み、hoge.dprというファイル名で保存。
コマンドラインから dcc32 hoge.dpr を実行すると、 hoge.exe が完成。
すばらしい。
>391
半日待っても問題ないだろ。
それまではサンプル端から起動していけ。
Delphiでどんなことができるかなんとなくわかるから。
本なんていらねーよ
>>395 んだ
自分のやりたいことがはっきりしていればヘルプを見るだけで
十分アプリは作れる

Delphiが出た当初
「特に行き詰まることもなく覚えられるから本は必要ない」
とう話もあったように思う
397デフォルトの名無しさん:02/03/24 23:21
うそつけ。Pascal がわかんなきゃなんにもできねーよ。
>>397
Pascalの文法なんか知れてるよ、ヘルプを見るまでもないくらい

サンプルを参考にするだけで自然に使えるようになると思うよ
399デフォルトの名無しさん:02/03/25 00:02
あんたがそう「思う」のは自由だ。
んだ
>>376
インストール出来たんだね。 そしたら ファイル(F) プロジェクトを開く
そして Delphi6\Demos\RichEditl\richedit.dpr から開いてみて

そこから F12 を押してフォームとコードが切り替えられる
F9 を押すと実行出来る

このDemosのディレクトリには他にもサンプルが色々あるから、これを読み込んで
は眺めたり実行させたりして操作を試してみて
それと、Delphi6のアップデート1は最低あてておくこと
http://www.borland.co.jp/download/delphi.html

あと、F1がヘルプだから、 あちこちで押してみる。
procedure とか文字が見えたらそれをマウスでクリックしてf1を押して調べてゆくようにしたらいい
403デフォルトの名無しさん:02/03/25 00:33
漏れのバージョンは
6.0(build 6.163)
なんだけど、パッチ必要?
漏れのは 6.240 UP2
初心者向け
Do It YourSelf---Life with Delphi http://home.onestop.net/mineko/index2.html
ゼロからDELPHI講座 http://www.text2music.com/mine/delphi/index.html

初心者向け
Do It YourSelf---Life with Delphi http://home.onestop.net/mineko/index2.html
ゼロからDELPHI講座 http://www.text2music.com/mine/delphi/index.html

初心者向け
Do It YourSelf---Life with Delphi http://home.onestop.net/mineko/index2.html
ゼロからDELPHI講座 http://www.text2music.com/mine/delphi/index.html

406デフォルトの名無しさん:02/03/25 01:36
>>404
今パッチ当てたらそうなった。
やっぱり必要だったんだ。
あとほかにパッチはいらないよね?
407デフォルトの名無しさん:02/03/25 02:24
>>406
BW_108b.exe
Star_108b.exe
408デフォルトの名無しさん:02/03/25 02:27
\Borland Delphi Personal Installer\documentation
に入ってる、pdf読みナよ。
409デフォルトの名無しさん:02/03/25 02:42
というかやはり
何のexeでも開くと一瞬で消えてしまうのですが、
どうすればいいですか?
410デフォルトの名無しさん:02/03/25 03:35
>>409
DOSプロンプトから起動
411デフォルトの名無しさん:02/03/25 03:44
すいません、さっきもそれ言われたんですが
わかりません。
スタート→プログラム→アクセサリ
みたいな感じで説明してもらえませんか?
412デフォルトの名無しさん:02/03/25 03:46
あ、できました。
黒い画面が出てます。
この後どうすればいいですか?
413デフォルトの名無しさん:02/03/25 05:30
ComboBox のスタイルが csSimple のとき、
ダブルクリックすると2回イベントが発生するんですが、
回避方法をご存知の方、教えていただけないでしょうか。
414413:02/03/25 05:47
補足:
エディットのところだと1回なのですが、下のリストをダブルクリックすると
ダブルクリックイベントが2回発生してしまいます。
comboboxはバグだらけ。まともに使えるのはcsDropDownだけ・・・これまじよ
416デフォルトの名無しさん:02/03/25 07:57
procedure TForm1.Button1Click(Sender: TObject);
var
H:HWND;
begin
H:=GetNextWindow(Application.Handle,GW_HWNDNEXT);
SetForeGroundWindow(H);
keybd_event(VK_CONTROL,0,0,0);
keybd_event(Byte('V'),0,0,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
keybd_event(Byte('V'),0,KEYEVENTF_KEYUP,0);
end;

だめね・・・これじゃ貼付が上手くいかないわ・・・どうすればいいのかしら?
操作に慣れたら、自分で作ってみよう
※ファイル->新規作成->アプリケーション
  これだけで骨格が作られるからすぐに 名前を付けて保存しておこう
※ファイル->プロジェクトに名前を付けて保存
 Unit1に名前をつけて保存 と出たら 新しいフォルダを作成をして Helloフォルダを作ろう
  そしてクリックしてunit1.pasのまま保存する
 すぐに Project1に名前を付けて保存とでるから、これの名前を Hellow.dprとして保存しよう

まず、画面にこんにちはと表示してみよう
※F12を押してフォームが表示されている時にF11を押す
※イベントと書かれたタブをマウスでクリック
※OnPaintと書かれた右側の空白欄をダブルクリック
 これで画面に表示するイベントが書ける状態になった
  begin と end の間にコードを書けばいい
たとえば
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Ellipse(1,25,80,50);
Canvas.TextOut(10,30,'こんにちは');
end;
 と2行を追加する。 
 そして、F9を押せば実行されるだろう。
この行のそれぞれの意味はマウスでクリックしてF1を押して調べてくれ
418デフォルトの名無しさん:02/03/25 09:00
Delphiをはじめたばかりのobject pascalも
ぜんぜん分かってない厨房ですが よろしくお願いします。

終了時に closeを使ったら、ファイルセーブもなく終わってしまうので
見よう見まねで、データが変更されてたらメッセージを出るようにしましたが
これをファイルのオープンなどにも再利用したいのです。

終了時に書いた"procedure TFo…"の1ブロックをよその"procd…"の中で
呼べない物でしょうか?

あとbutton1〜10.Enabled:=True;とまとめて処理をしたいのですが
どの様に書いたらいいのでしょうか?
>>418 もう少し具体的に書いてくれた方がいいなあ

まず>>417 の TForm1.FormPaintを 例に Form2から呼び出すには
 Form1.FormPaint(Form1);
 のように Form1を付ければ呼び出せる。
 ただし、当然描画されるのは Form1に描画される

 Form2に描画させたいなら、
procedure TForm1.FormPaint(Sender: TObject);
begin
 with Sender as TForm do begin
  Canvas.Ellipse(1,25,80,50);
  Canvas.TextOut(10,30,'こんにちは');
 end;
end;
 と、両方に描画出来るように作っておいて Form1.FormPaint(Self) と引数でどれに描画するか指定する


まとめて処理する方法は、 for i:=0 to ControlCount-1 do begin で 
if Controls[i] is TButton then with Controlst[i] as Tbutton do
 begin
  Enable:=True;
  ・・・ 他の処理
 end;
みたいな感じかな
>>419
さっそく教えて頂きありがとうございます!

一つめのほうですが、質問のニュアンスがちょっと違いまして
たとえば"TForm1.Exit1Click"以下必要なコードを書いた上で
"TForm1.Button1Click"のコード中で、先の"Exit1Cllick"を呼びたいのです。

単純にButton1.Clickで
begin
Exit1Click;
end;
と書いてコンパイルすると「実パラメータが足りません」と蹴られてしまいました。

教えて頂いた別のフォームからの呼び出しは、今後の参考にさせて頂きます。

二つめのまとめて処理する方法は、咀嚼して後でやってみます。

本題とズレるのですが、sageで書くのが正解なのでしょうか。
421デフォルトの名無しさん:02/03/25 10:33
shift+Delと言うキー割り当てをしたいのですがどうしたら良いですか?

Deleteだけだと46でいけますよね。

>>420
 同じですよ

TForm1.Button1Click(Sender:TObject)
begin
Exit1Click(Sender);
end;
みたいにするといいです。
Exit1Clickの 引数 つまりSenderを使ってないなら Exit1Click(nil); みたいに nil を渡しても同じです

もし Exit1ClickでSenderが Exit1である事が期待されているなら
Exit1Click(Exit1);
のようにします
>>421
ShortCut:=Shift+Del
>>422
たびたびありがとうございます。
教えて頂いた方法は○でしたが、でも欲しい所で×でした。
ちょっと長くなりますが、そのまま貼ります。

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
i: Integer;
SaveAnswer: Word;
begin
if Table1.Active = True then
for i :=0 to Table1.Database.DataSetCount - 1 do
if Table1.Database.DataSets[i].State in [dsEdit, dsInsert] then
begin
SaveAnswer := MessageDlg('内容が変更されています。保存しますか?',
mtConfirmation, [mbYes, mbNo, mbCancel], 0);
if SaveAnswer = mrYes then
begin
Table1.Database.DataSets[i].Post;
CanClose := True;
end
else if SaveAnswer = mrNo then
CanClose := True
else
begin
CanClose := False;
Exit;
end
end
else
Exit;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
FormCloseQuery(Sender);
end;

やはり「実パラメータが足りません」とエラーが出ます。
ホントに厨房ですみません・・・
 そのまま貼ると半角スペースは消えてしまうのですね、きっと。
ヘルプのOnCloseQuery見れ
つーかCloseQuery呼んでも終了しないし。
Form1.Closeでいいんじゃないの?
>>426 >>427
Closeを呼ぶとそれが呼ばれるのでしたか。
OnCloseQueryの本当の意味が分かってなかったです。
ありがとうございました。
>>424
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
と定義されているんだから、このメソッド(手続)は2つの引数がある

だから 呼び出すには 2つの引数を用意しなければいけない。
そして2番目は var だから参照渡し、つまり2つめの引数は変数を渡さなければいけない

・・・というふうに読む
 ただし、これを Exit1Clickで呼び出しても無意味だけどね
430デフォルトの名無しさん:02/03/25 13:23
DLLってどうやって作れば良いんですか?
関数をまとめて入れちゃえば良いの?
>>430 DLLウイザードで骨格作って 

 関数を宣言するように

exports
 関数名 index 1;
と外部に提供する関数名を書いておく

フォームが必要なら新規作成でフォーム作って必要なタイミングで作成するだけ


>>429
こちらも回答ありがとうございます。
まだ教えて頂いた内容はまだ咀嚼できてませんが
次からの参考にさせて頂きます。

それと最初に回答をくださった >>419のかた
重ねてお礼申し上げます。
433デフォルトの名無しさん:02/03/25 14:30
DOSプロンプトを開いたらどうすればいいのですか?
まったくの初心者で何も分かりません。
>>433 なに? どういう事? 誤爆?
>>433
昨日の高校1年生? ならお名前欄に 高1#覚え易い英字 とでも入れておくれ

Delphi32 と入力して改行すれば、Delphi IDEが開くから そこから >>401
436高1 ◆mI/k17xg :02/03/25 14:42
改行したら
コマンドまたはファイル名が正しくありません
といわれました。
カレントディレクトリを
C:\Proglam Files\Borland\Delphi6
にしてから、
delphi32と入力してみましょう
438高1 ◆mI/k17xg :02/03/25 14:55
おっ!できた!
form1とか出てます。
そしたら、F9押してみな。
何もしないプログラムの完成だ!!
ありがち。。。
441高1 ◆mI/k17xg :02/03/25 14:58
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


と出てきました。
ちなみに起動は一回一回delphi32と入力しなければ
いけないのですか?
DOSプロンプトから起動する必要はない。
スタート>プログラム>Borland Delphi6>Delphi6
で機動
443高1 ◆mI/k17xg :02/03/25 15:05
>>401
さんのでデモを開くたびにエラーみたいのが出て
無視するかみたいの聞かれるんですが。
>>443
正確に書かないと判らないよ。
445デフォルトの名無しさん:02/03/25 15:12
>高1
ちん毛は生えてますか?
>>436
それはどうも正しくインストールされていないように思う。
もしかしてパソコンがWin2000かXPでは?
447高1 ◆mI/k17xg :02/03/25 15:14
>>445
ああ。
>>444
クラスTImageが見つかりません。
といっています。
>>447 やっぱりちゃんとインストールされてないね
 インストールの途中でエラー出なかった?

再度インストールして >>402 のアップデートも実行してみる事
449高1 ◆mI/k17xg :02/03/25 15:22
BorlandDelphiPersonalEditionJP.exe

これですよね?
前にダウンロードしたファイルなどは全て削除してから
再度やった方がいいですか?
>>447
再インストールしましょう。


>>449
コントロールパネルの アプリケーションの追加削除で Delphi6アンインストールしてあれば
削除する必要はないよ。

ここの連中は放置というものを知らない
>>452 放置できるだけしないから 聞きたい事あったらどうぞ (Delphiに限る)
Delphiに関する質問であれば放置はしない
455デフォルトの名無しさん:02/03/25 17:00
>>454
何で同じことを言い直したんですか?
>>454
何で同じことを言い直したんですか?
対応がスレタイトルと違うと言う奴が現れたから、
態度変えたらこんどは452のような奴が。結局はアラシがもくてきですか。
「もくてき」は「目的」という漢字なんですよ。
459高1 ◆mI/k17xg :02/03/25 18:34
再インストールして最後に、
今リスタートしますか?ってとこを
はいにしても何もならなかったから
自分で再起動しようとしたらビジー状態です
みたいになって待機押しても変わらなくて
結局強制終了ボタン二回押してした。
>押してした。
なにをした? オナニーか?
はーい、先生!!
ここは誰かの日記スレじゃありませーん!
Delphiに関係ある質問にやさしく答えるスレでーす!
高1くんは話し相手が欲しいなら馴れ合い板にでもウセロって感じです!!!
>>459 しょうがないねえ・・・とりあえず そのへんの報告は自分のたてたスレで報告しなさい。
 それから使ってるパソコンのメモリとはHDの空容量とかWindowsのバージョンとか書くといいよ
463高1 ◆mI/k17xg :02/03/25 19:09
もういい、諦める
>>463 まあプログラミングは18になってからでも遅くない。
 今は色んな事やったり本読んだりして人間としての経験値を上げなさい。
そろそろC#を使った人にDelとの比較が聞きたいな〜
466中2 ◆mGm.IRgU :02/03/25 19:52
Delphi 6 Update Pack 2 って、Personal版でも使えますか?
>>466
公式サイトに書いてあるでしょ
まず公式サイトを嫁
http://www.borland.co.jp/delphi/del6up.html#del6up2
>>466
ヘルプ読め!
469中2 ◆mGm.IRgU :02/03/25 19:57
トライアル版 = Personal版
のような気がしたんで。違うんですね?
>高1
そんなことより、ともっちスレでともっち継いでみない?
>>469
トライアル版というのはEnt版のトライアルじゃないかな
>>469
Personalにはトライアル版は存在しません
無料でダウンロードしたやつも立派な製品版です

Delphiの場合、トライアル版というのはEnterpriseのやつのこと

だからPersonalでもUpdatePackを当てる必要があります
473416:02/03/25 20:13
。・゚・(ノД`)・゚・。 誰か教えて・・・>>416
474中2 ◆mGm.IRgU :02/03/25 20:16
>>471
>>472
Thx!
MS HTMLのヤツがうまくコンパイルできなかったから、当ててみる価値ありそう。
475デフォルトの名無しさん:02/03/25 20:22
>>407
それは何?

>>408
どのPDFの何ページ目を読めばいいの?

なんかパッチあてないとやばいの?

>>416
GetNextWindowでHWnd取れてるの?
477416:02/03/25 20:38
>>476
レスどうもです。getnextwindowで直前にアクティブだったウインドウのハンドルを取得できてます。
それでsetforegroundwindowでそのウインドウを最善面にすることもできてます。
でも問題は最善面にくるものの、アクティブにはならず・・・ってとこです。
setforegroundwindowの説明では最善面にしてアクティブにするって書いてるのに・・・
しかも貼り付けできたりできなかったりなんですよ。例をだすと秀丸はできてメモ帳はできないって感じで・・・
479416:02/03/25 21:14
>>478
えーとこれは確か最前面に出ずにタスクバーが点滅するって問題ですよね?OSの仕様が変わって・・・。
僕が困ってるのは最前面に出るけどアクティブにはならないってことなんですけど、これと関係あるんでしょうか?
OSはMEとXPです。一応試してみますけど・・・
>>416
これでできるんじゃないの?

>一応試してみますけど・・・
はネーヨナ。

これでもダメならもっと良い方法もサンプルで転がってたし、
もっと自分で探せ。
最近失礼な人が多いですわ。
482416:02/03/25 22:44
いやぁ、表現が悪くて申し訳ないっす。
もっと良い方法やサンプルを探してみますm(_ _)m
まあ、2chで礼儀云々言っても仕方ないと思うが
いくら2chでも相手が真面目に答えてるならそれなりの礼はつくすべきだろう
484DELモナー:02/03/25 23:21
>>481
(前から思っていることを言っているだけ。416さんに言っているわけではないよ。)

  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<  本当に無礼な人が書いたものであれ、そういうつもりが
 (    )  | なかった人のものであれ、字面だけ追いかけてくと失礼に
 | | |  | 見えるものがあるよね。
 (__)_)  \__________________________

言い回しひとつで不快な感じになってしまうから、
書き込む人(特に質問者)は注意なくちゃね。
例えば質問するときに、ただ疑問形の文を一文だけ書くようだと、
失礼に見える可能性がある。
逆に、丁寧語を使うと回答されやすいこともある。
誤解を与えない日本語を書くようにしたほうがいいと思うよ。
(それが案外難しいこともあるけど、
日本人なら日本語ぐらいちゃんと書きたいね。私も含めて。)

あと、無礼な人ついて思うのは、
このスレをヲチしてる人(回答者)は別に質問者の質問に
答えなくても全然構わないのに、わざわざ数分〜数十分の時間と、
ヘルプなどで裏を取る手間をかけて答えるのだから、
多少礼儀を持って質問をすることは必要かと。
(でも回答者が威張っていいということは、決してない。)

当たり前なことだとは思うんだけど・・・。
485484:02/03/25 23:25
>>484
といいながら前半部分がなんだか無礼な人を擁護しているように
見えるように書いてしまった・・・。擁護するようなことは決してない。
整数の正負を知る命令ってありますか?
487デフォルトの名無しさん:02/03/25 23:49
QBasicならSGNで調べられるが、Pascalにはないっぽい。
>>487
無いんですか。
ありがとうございました。
489デフォルトの名無しさん:02/03/25 23:59
Delphi6になかったっけ Sign 関数。
sign

>ただ疑問形の文を一文だけ書くようだと
に対するネタかと思ったぞ(藁
>>484
反対の賛成(古い!)

いろんな香りのする集団があった方が良いと思う.
言い回しとか気にせず、放置されることも前提の上で好きなことを言い合えるのが
2ch の存在意義。わずかでも儀礼を必要とするのなら、別のところに行け。
492デフォルトの名無しさん:02/03/26 00:02
それよりもなによりも、Object Pascal 言語ガイドを見ていて発見。
(. .) は [ ] と同等らしいな。知らなかった…
いや、知っていても何の役にも立たないんだけど、

var hoge: array (.0..4.) of Integer;
begin
 for I:=0 to 4 do
  Sum := Sum + Hoge(.I.);

なんて書き方が出来るってナンか新鮮。
膳膳
いや、MLに比べればものすごーく気が楽だと思うけど。
MLなんて敬語やらそれに対する返答やら、面倒でイヤ。
純粋に聞きたいことを聞きたいではないか。

失礼だが、2chがわずかな礼儀をも必要しないと
思っているのはあなただけなのでは。

http://www.2ch.net/before.html
>暴言や第3者を不快にさせるような発言はやめましょう
>人間的モラルやルール・ネットマナーに反した発言はやめましょう
495素数2:02/03/26 00:08
>>492 やると見にくい
だからうぜーってんだよ
アフォをアフォととがめる奴はより異常にアフォなんだよ
いちいちレス付けんなよ
つーか投げーんだよ
無視するか市ねヴォケの一行にしとけ
497デフォルトの名無しさん:02/03/26 00:10
[エラー] Unit1.pas(30): 未定義の識別子 : 'sign'
498素数2:02/03/26 00:11
0と比較してやれば良いんじゃない? <正か負か
( ´∀`)マターリ♪
>>497
今まさに心から言おう
「逝ってよし」と
>>489
>>490
ありましたか!
ありがとうございます。
502デフォルトの名無しさん:02/03/26 00:14
テキストボックスに数字を入れて、ボタンをクリックすると、signが発動して正か負か判断してラベルに表示する、というつもりで書いたんだけど

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption := sign(val(edit1.Text));
end;

end.

[エラー] Unit1.pas(30): 未定義の識別子 : 'sign'
[エラー] Unit1.pas(30): 実パラメータが足りません
[致命的エラー] Project1.dpr(5): 'Unit1.pas' ユニットはコンパイルできませんでした

となります。
ヘルプ嫁
ともさかりえ堂々と交際宣言・・・どうでもいいことだね・・・
505デフォルトの名無しさん:02/03/26 00:21
そろそろ雪降らすの出来たか?
休み明けだぞ。
>>505
シュガー?
507デフォルトの名無しさん:02/03/26 00:25
上の方で「雪を降らす効果はどうやったら良いのか?」って話題に出てたから
前スレから言ってたぞ。

前スレの雨の応用で行けるんだけどね。
508416:02/03/26 00:43
ああ僕は愚かでした。これでできましたm(_ _)m

procedure TForm1.Button1Click(Sender: TObject);
begin
keybd_event(VK_MENU,0,0,0);
keybd_event(VK_TAB,0,0,0);
keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,0,0);
keybd_event(byte('V'),0,0,0);
keybd_event(byte('V'),0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
end;
>>508
強引だねぇ・・・いや、俺はスマートなやり方わからんけどね・・・
>>502
Help使ってる?
signにカーソル当ててF1な
>>509
自分で解決したって勝ち誇ってらっしゃるのよ。ホットケ。
512416:02/03/26 01:40
>>511
いや実はそうなんですけど、ひょっとしたら誰かの役に立つかもしれないし・・・
ってことで↓のほうがよいですm(_ _)m

procedure TForm1.Button1Click(Sender: TObject);
begin
keybd_event(VK_MENU,0,0,0);
keybd_event(VK_ESCAPE,0,0,0);
keybd_event(VK_ESCAPE,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,0,0);
keybd_event(byte('V'),0,0,0);
keybd_event(byte('V'),0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
end;

いや、もうこれで最後です。カキコするの・・・すいませんでした・・・
>>512
その通りです。
一度質問をして、それが回答によって解決しても、よらずに解決しても、
見ている人の参考になるので、どういう風に解決したか書くべきです。
514デフォルトの名無しさん:02/03/26 02:08
>>475
とりあえずQs.pdfを全部読んで試してくれ。
Object Pascalはoplg.pdfを読めば分かる。
>>502
usesにMathを追加。
で、ヘルプでvalを見る。
(゚∀゚)おはよー
(゚∀゚)オメデトー>511
2典やっと来たよ。
519デフォルトの名無しさん:02/03/26 12:55
質問です!
ネット上のサーバーににある(自分のサーバーとする)テキストをGetする方法って無いですか?
もしくはそのテキストに書かれてる内容を読んで来る方法など。

ローカルのファイルと比較がしたいんです。

>>518
2典結構おもしろい。
特に文末の語りが。
表紙をはずすと・・・。
520519:02/03/26 13:04
本にはInternetタブのNMHTTPを使えって書いてあるけどそんなの無いし。
もちろんプロフェッショナルです。

そもそもこのコンポーネントでファイルのGet出来るのかな?
521519:02/03/26 13:06
FastNetって言うタブにあった・・・>NMHTTP
本にだまされた。

これ以外に「こっちの方が使えるよ」って言うコンポーネントあります?
>>521 Indyはどうよ?
>>521
Indyのほうがマシだよ。
524519:02/03/26 16:06
Indyって何するコンポーネント?
テキストデータ以外にも扱えるかな。

アーカイブファイルを拾って来たり。
525519:02/03/26 16:13
テキストを持ってくるのは出来たんですけどバイナリファイルを持ってくるのが出来ない
NMHTTPでやるとファイルがhtmファイルになってダウンロードされるし。
>>524
プロ版なら右のほうのタブにIndyあるでしょ。タブが3つくらい。
httpだけなら目的はNMHTTPと同じだよ。
でも、使い勝手はIndyが上。ソースもついてくる。
IndyならidHTTP1.Get(URL, Stream); 形式で呼べばバイナリだろうがテキストだろうがOK
つか、Demoにサンプルあるから見てみ。
527526:02/03/26 16:36
ごめん。↑の2行目が意味不明だ。

×httpだけなら目的はNMHTTPと同じだよ。
○TIdHTTP(Indy)とNMHTTPの目的は同じだよ。
528519:02/03/26 16:39
>>526
>IndyならidHTTP1.Get(URL, Stream); 形式で呼べばバイナリだろうがテキストだろうがOK

Streamって言うのは保存するファイル名でしょうか?
さっきIndy使ってみてこのメソッドを触ってみたんですがなんかエラー出るんです。
529デフォルトの名無しさん:02/03/26 16:49
Delphiでファイル名を変える方法とファイルの削除の方法を教えて下さい。

実行ファイルと同一ディレクトリにあると想定してです。
「名前を付けて保存」「プロジェクトから削除」
531デフォルトの名無しさん:02/03/26 16:56
>>530
いや、違います。
プログラムからファイルの操作です。
532519:02/03/26 17:05
ヘルプ!

procedure Get(AURL: string; const AResponseContent: TStream); overload;
これを使うとエラー出ます。

エラー内容
[エラー] Uupdate.pas(79): 指定された引数で呼び出すことのできるオーバーロード関数 'Get' が
定義されていません

 HostFile := 'http://www.???.com/hoge.zip';
 IdHTTP1.Head(HostFile);
 IdHTTP1.Get(HostFile,LocalFile);
これだけじゃ駄目なんですかね?
533ちょっとスゴイかもよ♪:02/03/26 17:06
>>529 RenameFile, DeleteFile
>>532
まんま、HostFileかLocalFileの型がおかしんじゃねえの?
535デフォルトの名無しさん:02/03/26 18:30
Delphi6 Personal で TMemo を使った簡単なメモ帳を作っています。
TSaveDialog と TOpenDialog について困っています。

「名前を付けて保存」の時に新規のファイルだった場合は、
'新規.txt'となるように、
   FileName プロパティ = 新規
   DefaultExt プロパティ = txt
としました。

1. 自作メモ帳を起動させて、メニューバーから「名前をつけて保存」を
  選ぶと、セーブダイアログのファイル名の所には'新規'とあらかじめ入力された
  状態となりました。
  そのままダイアログの保存ボタンをクリックすると'新規.txt'と保存されました。

2. 次ぎに、メモ帳の中身を編集して、もう一度「名前をつけて保存」を押して
  セーブダイアログを呼び出すと、今度はダイアログのファイル名の所には
  '新規.txt'と拡張子付きであらかじめ入力された状態になっています。

3. これを'TEST'として保存ダイアログの保存ボタンを押すと、
  当たり前ですが'TEST.txt'として保存されます。

4. そして再度、「名前をつけて保存」を押してセーブダイアログを呼び出すと、
  ダイアログのファイル名の欄には'TEST.txt'と入力された状態になります。
  今回はこのまま保存を選びました。

5. 次ぎ。今度はメニューバーから「開く」を選び、OpenDialog を呼び出します。
  オープンダイアログから一番最初に保存した'新規.txt'を選び開きます。
  '新規.txt'が開かれました。

6. '新規.txt'が開かれた状態で「名前をつけて保存」セーブダイアログを呼び出すと、
  ダイアログのファイル名の欄には先程保存した'TEST.txt'のままになって
  しまいます。

長くなりましたが、6番で保存ダイアログのファイル名の欄を
現在開いているファイル名(6番の場合'新規.txt')にしたい場合、どうすれば良いですか?

また、開くファイルを新規にウインドウを作って開く(現在編集中の
メモ帳ウインドウはそのままで)ようにするのに良い方法はありますか?
536535:02/03/26 18:33
> 6番で保存ダイアログのファイル名の欄を
> 現在開いているファイル名(6番の場合'新規.txt')にしたい場合

  ↓ ↓ ↓ ↓ ↓

6番で保存ダイアログのファイル名の欄を
現在開いているファイル名(6番の場合'新規.txt')が入力された状態にしたい場合

分かりづらい文章ですみません
537デフォルトの名無しさん:02/03/26 18:35
TstreamとStringが互換性無いって言われる
どうしたら良いですか?
>>537
確かに互換性はない。
>>535
SaveDialog1.FileName:=OpenDialog1.FileName;

> また、開くファイルを新規にウインドウを作って開く
自分をもう一つ起動させればいいんでは?
C++,VC++,C,Delphiの中で初心者にうってつけの言語はどれですか?
C#!!
>>537
というか、>>528での、
>Streamって言うのは保存するファイル名でしょうか?
ここで、根本的に間違ってると思われ。
TStream型の所をヘルプでじっくり読んでみるといいかも
String型で受け取るなら、>>164 参照。
>>540
Delphi。
最も美しいから。
そして1番の理由はここがDelphiスレだから。
544535:02/03/26 19:32
>>539さん、
ありがとうございます。

> SaveDialog1.FileName:=OpenDialog1.FileName;

これは以下(>>545-546)のどの段階で(何処に)入れればいいのでしょうか?
あまりに初心者質問で申し訳ないっす。


> > また、開くファイルを新規にウインドウを作って開く
> 自分をもう一つ起動させればいいんでは?

開くファイルを持ったままもう一つ起動させるってことですよね?
理屈は分かるのですが、書式(?)が分からなくて・・・
いま、リファレンスが書いてある本を探しているのですが、
自宅近くの書店には入門書しかなくて・・・(VBやVCはたくさんあるのに・・・)
545535:02/03/26 19:32
<<名前をつけて保存>>現在のソース

procedure TForm1.SaveAs1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin

if SaveDialog1.FilterIndex=1 then
begin
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

if SaveDialog1.FilterIndex=2 then
begin
SaveDialog1.DefaultExt:='html';
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

if SaveDialog1.FilterIndex=3 then
begin
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

CFileName:= ExtractFileName(SaveDialog1.FileName) ;
Form1.Caption := CFileName + '試作メモちょう';
end;
end;


※オブジェクト インスペクタの変更箇所

  FileName プロパティ = 新規
  DefaultExt プロパティ = txt
  Filter = テキストファイル (*.txt)|*.txt|HTMLファイル (*.html;*.htm)|すべてのファイル (*.*)|*.*
  FilterIndex = 1
  Options.ofOverwritePrompt = True
546535:02/03/26 19:33
<<開く>>現在のソース

procedure TForm1.Open1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName) ;
CFileName:= ExtractFileName(OpenDialog1.FileName) ;
Form1.Caption := CFileName + '試作メモちょう';
end ;
end;

※オブジェクト インスペクタの変更箇所

  Filter = テキストファイル (*.txt)|*.txt|HTMLファイル (*.html;*.htm)|すべてのファイル (*.*)|*.*
  FilterIndex = 1


長くなってすみません
>>545
CFileName:= ExtractFileName(SaveDialog1.FileName);の前にOpenDialog1.FileName:=SaveDialog1.FileName;
>>546
CFileName:= ExtractFileName(OpenDialog1.FileName);の前にSaveDialog1.FileName:=OpenDialog1.FileName;

> 開くファイルを持ったままもう一つ起動させるってことですよね?
> 理屈は分かるのですが、書式(?)が分からなくて・・・
ヘルプのコマンドラインユーティリティのところ読むと良いと思われ。
Delphiって他の言語に応用効くの?
プログラム始めたいんだけど、何から手をつけていいのかサパーリわからん。
もし応用効きそうならDelphiから始めてみようかな。
Delphi5で入力データをEXCELへ出力する方法のサンプル
または参考文献などありましたら教えていただけませんか。
Excelxxxxx.Renge[A1,C3].Value := 'TEST';
のような使い方ではなくセル範囲を可変で使用したいのです。

VBなら
xxxxx.Cells(i,j);
と記述できるんですが...
550535:02/03/26 20:17
>>547さん
どうもありがとうございました。

 今まで何気なく使っていたフリーウェアが
 こんなに細かいことまで考えて作られてるとは・・・
 自分がプログラムに手を出して初めて分かった気分です。
>>548
応用って言葉が微妙だが

Object PascalとVCLという面ではあまり応用効かない(BCB使うときくらい)
WindowsのプログラミングやOOを学ぶという面では応用が効く

C++やJavaと比べるとPascalのほうがなんとなく初心者にはよさげ。
とりあえずPersonalダウンロードしる!
>>548
>Delphiって他の言語に応用効くの?

文法こそ違えど考え方と機能はほぼCと同一。
テンプレートなどを除いたC++と言ってしまってもいい。
>>551
了解。とりあえずPersonalダウソしてみるよ。でもDelphiってどの程度の
プログラムが作れるの?こんなこと言っちゃ誤解を生むかもしれないけど
仕事として使えるくらいのことできる?例えばだけどDelphiを使ったソフトって
どんな物があるのかな。
554535:02/03/26 20:41
>>548さん、自分も金曜日に Personal を DL したばかりの初心者です。
ObjectPascal(Delphi で使われる言語)の知識が C/C++ や VB に応用が利くかは
ワカランですけど、プログラムの構造(?)は学べると思いますよ。
条件分岐や変数などの考え方は一緒だと思います。
Delphi は VBなどと並んで素人が理解しやすい部類だと思いますけど、
Personal はフリーで DL できますから、とりあえず手を着けてみるのもアリかと。
自分は入門書買ってしまいましたが、ネットでもたくさん解説されたサイトがありますし。
555535:02/03/26 20:44
ちょっとレスが遅かったか・・

> 例えばだけどDelphiを使ったソフトって
> どんな物があるのかな。

このスレが参考になるかと(ネタ含む)

delphiで作られた有名ソフトって何がある?
http://pc.2ch.net/test/read.cgi/tech/990056026/
>>555
DelphiはDelphiで作られています。
>>554-555
ありがとう。なるほど「かちゅーしゃ」もDelphiで作られてたのか。
ちょっと感激。んじゃ早速ダウソしてみようかな!
558プログラム初心者:02/03/26 21:55
>550
>今まで何気なく使っていたフリーウェアが
>こんなに細かいことまで考えて作られてるとは・・・
>自分がプログラムに手を出して初めて分かった気分です。

禿同です。自分も同じように
規定の文字数を入れると自動的にカーソルが次の入力BOXに移動する、とか
そういうのはいちいち自分で書かないといけないんだなぁと思ったことがあります。

たしかに面倒ではあるけど、
細かいところまで気が利いてるソフトって使いやすいですよね。
C++BuilderもDelphi製だし(w
560デフォルトの名無しさん:02/03/26 22:55
519さんと似た質問なんですが
WebサーバーにGetリクエストPostリクエストを送って返事を得たいのですが
どうすればいいのでしょうか。

Personal版のせいかヘルプでそれらしいものを調べても(TWinSocketStreamなど)
リンクが見つかりません、と出てしまいます。

「プロフェッショナル版を買え」等と言わずにPersonal版で何とか実現できませんか?
karekano
TClientSocketでWinsockを直に使う <- 調べれ
Indy使う <- Janeのソース見れ
WinInet使う <- monazillaの資料見れ
プログラム初心者が仕事で使えるとか気にするなっつーの!!
>>562
抜けてる。
WSA系とsocket bind accept recieveAPIを直接呼ぶ。
565560:02/03/26 23:56
>562,564
Indyってフリーソフトだったんですね。
てっきりプロフェッショナル版のコンポーネントだと思ってました。

助言を参考に、もうちょっといろいろ試してみます。
>>549
可変というのが変数で指定したいというのなら
↓お試しあれ

uses ComObj;

procedure ExcelTest;
var
 i : Integer;
 j : Integer;
 vOleApp: Variant;
 vOleWnd: Variant;
begin
 vOleApp:=CreateOleObject('Excel.Application');
 try
  vOleApp.Workbooks.Add;
  vOleWnd:=vOleApp.ActiveSheet;
  for i:=1 to 10 do
  for j:=1 to 10 do
  begin
   vOleWnd.Cells[i, j].Value:=i*j;
  end;
  vOleApp.Visible:=True;
 finally
  vOleWnd:=Unassigned;
  vOleApp:=Unassigned;
 end;
end;
567デフォルトの名無しさん:02/03/27 04:57
《゚Д゚》ゴラァァァァァァァァァァァァァァア!!!!!!!!!!!!!!!!
【コンポーネントパレットの[Additional]ページにある
ActionManagerコンポーネントをダブルクリックして,フォームに配置します】
ってあるけどActionManagerなんてねェぞ!
ほんとはどこにあるんですか?
>>567
買う
(゚∀゚)オハヨー
>>567
散々がいしゅつです。これで56回目です。
Personal版にはActionManagerはついていません。
571 :02/03/27 07:41
アプリ起動時にbsSizeToolWinで作成し、
起動している間は常にインスタンスを保持し続けるフォームがある。
その間、ユーザの操作により、幾度と無く表示・非表示を切り替えられる
のだけど、そのVisibleの値を終了時に保存したいんです。

で、OnDestroy()でVisibleの値を取ってみたら、常にFalseなんです。
まぁ当然といえば当然なのかも知れませんが…

出来ればそのフォームの中で値の保存を完結したいのですが、
(゚д゚)ウマーな方法って無いでしょうか?

Delphi5 Up1 + Win2kPro


>>570 しかし、よく数えたなぁ…
TEditで 数字とBS、Enterのみ入力を受け付けるようにしたいのですが
どうしたら良いのでしょうか?
そしてEnterが入れば、次のTEditの移動もさせたいです。

すみませんが教えてください。
>>572
onkeydownは?
574デフォルトの名無しさん:02/03/27 09:02
PageControlでTabSheetを動的生成して、その上にScrollBoxを置きます。
そのScrollBoxの上にImageを置くにはどうすればよいでしょうか?
>>574
parentをScrollBoxにすれば?
576574:02/03/27 09:39
>>575
そのやり方がいまいちわからないんですよね・・・どう記述すればよいのか・・・

tabsheet:=TTabSheet.Create(self);
tabsheet.PageControl:=PageControl1;
with TScrollbox.Create(self) do begin
parent:=tabsheet;
align:=alClient;
end;
with TImage.Create(self) do begin
parent:=(゚∀゚)ワカラン・・・
>>571
CloseQuery内でやれ
578567:02/03/27 09:52
そうだったんすか・・・
逝ってきまp
《゚Д゚》ゴラァァァァァァァァァァァァァァア!!!!!!!!!!!!!!!!
579571:02/03/27 10:03
>>577
それだと、メインフォームを閉じられたときとかCloseQuery通らないんですよ。
んで状態を保存できないと…
それに動的にユーザがShow/HideするのでOnCloseも使えないし…

メインフォームのOnDestroyだと既にToolWinな窓は破棄済でAV出るし…(;´Д`)
>>579
OnHide、OnShowで記録とか
581577:02/03/27 10:22
>>579
だからメインフォームのCloseQuery内でやれって
582572:02/03/27 11:05
>>573
OnKeyPressで、if (Pos (Key, '1234567890-') = 0) and (Key <> #8) and (Key <> #13) then ・・・と
それらしいのを作ったのですが、EnterだけはWindowsの警告音が鳴ります。
やはり基本的に間違ってるのでしょうか・・・

それとSelectNext(ActiveControl, True, True);・・・で
Enter入力で 次のTEditには飛べました。
583デフォルトの名無しさん:02/03/27 11:11
NMHTTPでサーバー上のファイル容量を取得する方法って無いですか?
IdHTTPなら出来るそうなんですが。

それとローカルにあるファイルの容量も知りたいです。
584574:02/03/27 11:58
>>574 
(#゚Д゚)<馬鹿、氏ね、頭悪すぎるわ・・・俺・・・
585571:02/03/27 11:58
>>581
あ、そう言うことでしたか、誤解スマソ。
それでやったらうまく逝きました。
禿しく感謝です。

>>580サソもレスサンクスコです。

>>583ローカルなら、
FindFirst
FindNext
あたりでPathをFileまんまにして使ってみたら?
確かTSearchRec構造体にSize: Integer;
ってメンバがあったと思われ。
これで出来るはず。
ディレクトリ中なら、再帰検索で問題ナッスィング。
>>582
if (AnsiPos(Key, '1234567890-')=0)or(Key=#13)or(Key=#8) then
  Key:=#0;
587572:02/03/27 12:39
>>586
やはりEnterを入力すると、Windowsの一般警告音がなります。
なんでしょうか・・・

あと遅れましたが、>>573 >>586さん、レスありがとうございます。
>>587
TEditのOnKeyPressに>>586コピペしてもなるの?
>>587

Key=#0;
でキーを判定してSelectNext(ActiveControl, True, True)
とかする前後でキーの内容をクリアしないと音が鳴ってしまうが、その話と違うのか?


>>589
日本語マトリックスが壊れていたらしい、

キーを判定してSelectNext(ActiveControl, True, True)
とかする前後でキーの内容を Key=#0; 等としてクリアしないと
音が鳴ってしまうが、その話と違うのか?

です。
591572:02/03/27 13:27
>>588
はい、数字やBSはokですが、Enterは入力その物はokですが警告音が出ます。
592572:02/03/27 13:29
>>589
いえ、そう思ってSelectNextを外してますがやはり鳴ります。
593デフォルトの名無しさん:02/03/27 13:48
みんな#13とか使っているんですか?私は Char(VK_RETURN)って書くけどね。
別にどうでもいいのですけね(w
けね(w
595デフォルトの名無しさん:02/03/27 14:11
Mainmenu−MenuItem−プロパティーのショートカットに
’+’を指定したいんですが、怒られました。
どう書けばいいんでしょうか・・。
596デフォルトの名無しさん:02/03/27 14:30
freeはなぜ使うのかを教えてくれ。
>>596 今迄の言語遍歴とか教えてくれんとどう説明していいか判らん
598デフォルトの名無しさん:02/03/27 14:49
>>597
中級らへんです。
599傍観者:02/03/27 14:52
>>572
キーボードで入力するだけじゃなくて
クリップボードから貼り付けることもできるんだけど・・・。
アルファベットとかを貼り付けられたら・・・。

あとEnterで次のコントロールにフォーカスを移動するのは
Windows標準の動作ではない。Tabキーを使う。
Enterはダイアログボックスだったら、[OK]ボタンを押すのに使われる。
600572:02/03/27 15:00
>>599
クリップボードからの処理カットは、次のステップで考えます。
標準操作は確かにTabですが、続けての項目なのでEnterでも
処理ができると便利だからです。
>>595
 テンキーの所にある”+”ですよね? 実行中に設定するには
  なんとか.ShortCut:=ShortCut(VK_ADD,[]);
 と設定します。

プロパティエディタにどう入力すればいいかは

procedure TForm1.FormCreate(Sender: TObject);
begin
Caption:=ShortCutToText(ShortCut(VK_ADD,[]));
end;
みたいに書いて実行した結果の通り書けばOK
--------Textショートカット一覧------
Scroll Lock
BkSp
Tab
Enter
Shift
Ctrl
Alt
Esc
変換
無変換
Space
PgUp
PgDn
End
Home
Left
Up
Right
Down
Sys Req
Ins
Del
Num *
Num +
Num -
Num Del
Pause
Scroll Lock
Right Shift
Caps Lock
ひらがな
半角/全角
603初心者B:02/03/27 16:08
バイナリデータを読み込む方法を教えて下さい。
>>603
TFileStreamを使えばいいのでは?
605デフォルトの名無しさん:02/03/27 16:58
>601
 できましたー。ありがとうございました。「Num +」「Num -」でした。
って、かなり初歩なんだろうな・・・。でも、色々Tips読みあさったけど全然なかったんで・・。
>>598
カエレ
>>598 長らくだれも答えないようなので答えよう。

freeってオブジェクトの破棄のFreeだよね。
自分で作成したオブジェクトはFreeを呼び出して破棄しなければならない。
それは、自分で作成したものは自動的に破棄されないから。
きちんと最後にFreeをしないと、おそらくメモリリークになると思われ。
別に自分は詳しいわけでもないので、これ以上のことはヘルプの
「VCL リファレンス
TObject.Free」とかを読んで。

>>606 そんな冷たいこと言わないで。マターリといこうよ。
608初心者B:02/03/27 18:33
>>604
TFileStreamってなんですか?
詳しく教えて下さい。
>>608
ファイルを扱いやすいように抽象化したって位のもの。

くわしくはヘルプ嫁。
610デフォルトの名無しさん:02/03/27 20:41
Del6のIDEの検索・置換ダイアログで勝手に文字列が設定されるのがジャマ過ぎ。
本当にイライラしてストレスがたまる。OFFにできない?
>>572 は、Enterキーで警告音が鳴るとかって言っていたのは解決したのか?

解決してないならOnKeyPressのソースを貼ってみろ、あと、教えてくれてる奴の方法を
ちゃんと読んで理解してるかな?
612572:02/03/27 21:23
>>611
残念ながら、まだ未決です。
うちのソースを貼りますので、ご指南頂ければありがたいです。

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if (Pos (Key, '1234567890-') = 0) and (Key <> #8) and (Key <> #13) and (Key <> #27) then
   begin
   Key := #0;
   ShowMessage('半角数字とハイフンだけが入力できます。');
  end;
end;

本当は、Enter入力でTabを兼ねるようにしたいのですが
上の分が解決できてないのでそれも止まっています。
>>612

例えば、Enterだけ言えば、これをそのまま貼ってみて、音が鳴るか試して

   if (Key = #13) then
   begin
      SelectNext(ActiveControl, True, True);
      Key := #0;
   end;

   if (Pos (Key, '1234567890-') = 0) and (Key <> #0) then
   begin
      Key := #0;
      ShowMessage('半角数字とハイフンだけが入力できます。');
   end;

あと、Enterで移動したいなら、FormのKeyPressにEnterでの移動用のコード
を書いて KeyPreviewをTrueにした方が楽だと思うけど、どーよ。
>>610
できる。
環境オプションのエディタ見れ
615572:02/03/27 22:03
>>613
ありがとうございます。貼ってみたらokでした。

ただ
> if (Pos (Key, '1234567890-') = 0) and (Key <> #0) then
の、(Key <> #0)でまたキー入力を消してますが
ここの場所ではどんな仕事をしているのでしょうか?

Enterと合わせてBSなど追加してやってみましたが
上記の有無で結果が変わってきました。
まだプログラミングのなんたるかを理解してないので
この差が分かりません。
解説して頂ければ助かります。
>>612
ENTER,とかESCみたいな特殊キーはOnKeyDownで見た方が良さげ。
>>615
上のIF文でEnterだったら Key:=#0 にしてるんで、Enter入力だったのに次のIF文で、
ひっかからったら嫌かな?と思って書いてあるだけです。

ちゃんとした書き方をすれば書けるんでしょうが、貴方が書いたソースの流れから
大きく変化させない方が解り易いかと思いそのように書きました。

あと、今回のように行き詰ったら、ソースを分解したり段階的に試したりして、
シンプルにしてデバッグしやすいようにして試して見てください。
618572:02/03/27 22:25
>>616
これは指摘があったのでやってみたのですが、charとwordの違いで
うまくいかなかったです。
これは私の不勉強ゆえちゃんと使えるとは思うのですが・・・

>>617
はい、わかりやすかったです。
それと指摘通り次のIF文でやはり引っかかりました。

いろいろ教えて頂きありがとうございました。
619デフォルトの名無しさん:02/03/27 22:28
質問です。

私はDelphi6PROを使用しています。
でもって私の会社はムカつくことにDelphi6パーソナルを使用してるんです。
(営利目的では使用しちゃダメだとわかっててやってるから腹ただしい・・)

そこでお願いなんですが。
私が今組んでるプログラムを他の会社の人に渡したときに開けない様にする方法って無いでしょうか?
言いたいことは、「Proで開発したものだからパーソナルでは開けません」 と、言いたいんです。

Proにしかない特殊な物をusesに突っ込むとか、コンポーネント使うとか・・・。

教えて下さいませ。
620619:02/03/27 22:30
それに以前「キミのプロフェッショナル持ってきてくれる?」って言われたこと有るし。
なんで不正使用の片棒担が無いとだめなんでしょうか?

「Proには認証があるから・・・」と逃げましたけど。
>>619
意味がわかりません。本当に論理的思考ができるプログラマの方ですか?
まあまあ。割れを使わないだけましとおも割れ
>>619
DB関係のコンポーネントを仕込んでおいて(使っていようといまいと)
→これでPersonalではプロジェクトをコンパイルできんはず

実行時パッケージを使うようにすればいいんでないかい?
→これでパッケージを配布しなければ実行もできんはず
>>620
ソフト自己負担かよ!

凝ったことやると自然とpersonalでは開けなくなるかもしれん。
>if (Pos (Key, '1234567890-') = 0) and (Key <> #0) then

これは if not (Key in ['0'..'9' , '-',#0]) then と同じかな?
BDEなんかどうよ?
Personal付いてないでしょ。
訂正・・・かな
>DB関係のコンポーネントを仕込んでおいて(使っていようといまいと)
>→これでPersonalではプロジェクトをコンパイルできんはず
プロジェクトを読み込んだときにそのコンポーネントが削除されるだけ
という気もしてきた
ソースのusesにDBとかを分かりにくいように入れておくのがいいかもね
>>620
>「Proには認証があるから・・・」と逃げましたけど。

何故かワラタ
>>618
普通は、#13とかchr(13) とか使いません。
理由は、キーコードを直接使用するとソースの見通しが悪くなる点等があります。

OnKeyDownでやる場合、

if (key = Windows. とここまで入力して見てください、
コード補完で VK_〜 の部分にキーが出てきますので、それを使ってください、
Enterは VK_RETURN です。
ソースの一部をわざと消して渡せばパーソナルでもプロでもコピーできない。
っていうか、プロ買わせろよ。仕事だろ。学生に頼めば諭吉3本で買えるし。
アップグレードはお店じゃ買えないでしょ
>>631
学生ってアカデミック版?それ商用に使えたっけ?
>>633
無理
>>634
だよね
>>634
つーか、俺の知ってる会社では、会社でアカデミック版を仕入れて普通の会社に
売っている、まぁDelphiの話じゃないけど、SQL-ServerとかVBとかWin2000Serverとか
だが、これって小売やってる所じゃ当然のように行われている事みたいだ。
一旦売ってしまえば、ユーザ登録の段階ではアカデミック版なのか通常版なのか
のチェックは無いからね。
いっそ、アカデミック版の小売は廃止して直販のみでの販売にして欲しいと願う昨今。
ショップでも店員と親しくなると、アカデミック版をこそっと売ってくれるし、まぁ、いかがな
ものかと。
637619:02/03/27 22:50
たとえPro買ったとしてもみんなで使い回すのが目に見えてる。

見せしめに家の様な会社が摘発されて晒されます様に・・・。
告発すればいいんじゃないかな?
>>637
いろいろありますな・・・。
640572:02/03/27 23:07
>>625
はい、今やってみてうまくいきました。
こっちのほうがキレイですね。

>>618
やはりキーコードを書くのは良くないんですよね。
そうじゃないかなと思ってました。

コード補完で出てくる候補で何とかなりそうです。

レスありがとうございました。
641頭が直ったDELモナー:02/03/27 23:20
>>640
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 572さん頑張ってるね。
 (    )  \__________
 | | |
 (__)_)
642デフォルトの名無しさん :02/03/27 23:23
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | 次でボケて   |
 |_________|
    ∧∧ ||
   ( ゚д゚)||
   / づΦ


619は自分で速報板にスレ立てて自分の会社晒して
644デフォルトの名無しさん :02/03/27 23:25
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 次でボケて   |
|_________|
    ∧∧ ||
   ( ゚д゚)||
   / づΦ
>>642,644
ずれてる
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
|    ヘタクソ      |
|_________|
    ∧∧||
   ( ゚д゚)||
   / づΦ
>>619=貧乏会社の癌
早く潰れちまえ
648デフォルトの名無しさん:02/03/27 23:47
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | 次でキメて    |
 |_________|
    ∧∧ ||
   ( ゚д゚)||
   / づΦ


649デフォルトの名無しさん:02/03/28 01:47
サーバーにあるファイルを書き換える方法って無いですか?
(サーバーは自分のサーバーだと想定して)

サーバー上にあるテキストファイル http://www.xxxxx.co.jp/hoge.txt が
”あああああ”
だとしたらローカルのプログラムから書き換えて更新したいんです。
”あああああいいいいい”とかに

Delphiで出来ますでしょうか?
CGIかFTP覚えれ
619の話も驚いたけど、>>636の話はホント驚いた!
>>619さんもACCSとかにタレこみすれば?
タレこみ先によっては報奨金が出るって話。
ただそれで会社が潰れたら困るね・・・。

>>648 次にパス。
652デフォルトの名無しさん:02/03/28 01:55
(´-`)。o ○ (「出来るか?」って質問、よく見るけど「出来る」or「出来ない」って一言レス
もらって、何かウレシイのかな?)
ウザイヨ?
654デフォルトの名無しさん:02/03/28 02:08
>>649
HTTPコンポーネントでput出来なかった?
ファイルをGetしてからローカルで書き換えてそれをput

ダメ?

誰かフォローキボンヌ!
>>652
お前はsageが出来るのか?
656デフォルトの名無しさん:02/03/28 02:16
>>655
元々あがってるスレッドをsageる必要性とは?
657デフォルトの名無しさん:02/03/28 02:44
>>649
Indyで出来た予感
サンプルで似た様な事やってたし

違った?
658572:02/03/28 09:19
昨日はアドバイスを たくさん頂きありがとうございました。
また質問をしてすみませんが、モニターの表示解像度が変更されても
起動するソフトが常に真ん中に表示されるようにするのは
どうしたら良いのでしょうか。
659デフォルトの名無しさん:02/03/28 10:07
すっごい基本的なことかもしれませんが…
イベントプロシージャって、かならず "Sender: TObject" を引数に取りますよね。
これってどういう意味があるんですか?

今まではそういうもんだと思って、余り気にしていませんでした。
>>659
呼び出し元を特定するため。
100個のチェックボックスがある。
それぞれOnCheck書いてたら死にたくなる。
そういう場合は100個のOncheckイベントを一つのプロシージャに割り当てることができる。
その場合、呼び出し元がわからないとどのチェックボックスがクリックされたかわからない。
そこでSenderのnameを確認する。
>>660
nameを確認するより、
Senderをチェックボックスにキャストしてアクセスした方が良いのでわ?
それか、Objectがあるチェックボックスとイコールか調べるとか。
使い方は人それぞれとw。
人それぞれですけど、僕はこれのおかげで女の子にモテモテになりました。
いや、俺の知り合いはこれのおかげで会社やめたよ?
>>664-665
禁煙パイポかい!w
667デフォルトの名無しさん:02/03/28 11:34
引数の事教えて下さい

たとえば実行ファイル起動時に引数を渡して起動すると、Edit1にその引数が代入される
って言うのをやりたいのです。

出来るんでしょうか?
>>667
ParamStrを使う・・・詳細はヘルプでどうぞ
>>667
argv>>667
http://www.google.co.jp/search?hl=ja&newwindow=1&q=delphi+%83R%83%7D%83%93%83h%83%89%83C%83%93%88%F8%90%94&lr=

検索できない子は趣味とは言えどプログラマとしては問題外。
>>658
TForm.Position で不足する機能は何?
>>658
TFormのヘルプを開いて、プロパティに目を通しておこう
やりたいことの多くがプロパティを設定するだけでできてしまうことが分かるだろう

Delphiのクラス(VCL)はそのように設計されている
「MFCとは違うのだよ、MFCとは」
672572:02/03/28 11:59
>>670-671
ごめんなさい、そんな項目があったのですね。
見逃してました お手を煩わしすみませんでした。
673デフォルトの名無しさん:02/03/28 14:37
aviファイルを実行ファイルの中に埋め込みたいんですがどうやれば良いのでしょうか?
かちゅ〜しゃはaviを埋め込んでますよね。

Aviの再生にはTAnimate使ってます。
675デフォルトの名無しさん:02/03/28 14:51
Resource Workshopってどういうものなんでしょうか?
Delphi6には見あたらなくて・・・
イメージエディタと言うのならあるんです。

それともフリーなんでしょうか?

>>675 こっちで聴いてみたら?
Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/
677デフォルトの名無しさん:02/03/28 15:04
>>675
Delphi6に付いてなかったっけ? >Resource workshop
Delphi6とかのメニュー部分(ファイルとかって部分です)って移動出来ますよね、
あれを俺のプログラムでもやりたいのですが、ControlBarの上に何を乗せたら
あのような事が出来るのでしょうか?

ToolBarでやろうとすると、ペロっとメニューのようにはならないみたいで悩んで
います、某ツールでDelphi自身の該当箇所のクラスを調べてみると、
TDockToolBar らしいのですが、こんなのありませんし、どーしましょうか。


みんなの知恵をオラに少しわけてくれ!
679デフォルトの名無しさん:02/03/28 15:07
>>678
ControlBarにControlBar乗せてみ
>>675
Pro版ならCDに入ってる。Personalだとどうだろ。
rcファイルを自力で記述して、brcc32.exeでコンパイルすればworkshopが無くても逝ける。
ttp://halbow.cool.ne.jp/Chap19.html#Chap19-3
なんか見とけば逝けるんでは。
681679:02/03/28 15:11
>>678
あとラベル貼りたいならLabeledEdit
小さいのがいいならActionMainMenuBar

そのたActionToolBar、もいける
682デフォルトの名無しさん:02/03/28 15:17
>>680
Professionalです。
CDは家にあります。
急いでる訳じゃないので帰ってからやります。

CDの中にコッソリ入ってるんですかね?
Delphi5は入ってる記憶が有ったんですが。
>>681
できたよ、ありがとう。どーも新しい機能が使いこなせてないです。(反省)
>>682
大丈夫。カキコ前に確認したから。丁度インストし直したばっかなもんで。
俺自身はworkshop入れてないけど。
FreeBSDにCLIが移植されて、C#だとWindowsのバイナリがFreeBSDでも動くらしいが、
これって 将来的にDelphiと関係ありな事?それとも無関係?
ひょっとして .NET が広まったら、Kylixって無意味になるのでしょうか?
Delphi.NETで世界を制覇できるようになる?圧倒的なよーわからん戦略でC#が蔓延
してしまい、大好きなDelphiでは仕事をさせてもらえなくなる可能性あり?
>>685
 去年の夏に言われてたけど さあどうでしょうね
 公開されたのはCLR ではなく そのサブセットのCLIだけのようだし

C#が成功するなら JAVA にだってチャンスはあった筈でしょうしね
687デフォルトの名無しさん:02/03/28 16:01
>>685
言ってることがようわからん。
バイナリが動くならC#以前からもあるが。
XWindow上でwineやWinエミュレーター動かせばそのまま動く。
Windowsの電卓も動いたし。

で、それがどうしたの?

DelphiとkylixはCLXによってなりたってるでしょ。
両者ともGUI統合環境と言うサポート上で。

そもそもWindowsのバイナリをそのままBSDで動かすと言うのが危険きわまりない。
Win依存だらけのソースだったらどうするべ?
>>687
CLI/CLRは wine とは全く意味が違うとおもわれ。

> BSDで動かすと言うのが危険きわまりない。

この部分は同感。
つーか、せっかくのBSDを不安定にしたいなら使っても
いいけど、サーバ用途で使ってるBSDで動かす気には
なれんな。
689デフォルトの名無しさん:02/03/28 16:11
Lindowsが全て解決してくれるよ?
Lindowsなんて使い物にならんだろ、そもそもあれこそwineの塊だろ?
つーか、激しくすれ違いな気がする(w
691デフォルトの名無しさん:02/03/28 17:00
カレントディレクトリ(ExtractFileDir)にある実行ファイルの存在有無ををチェックして
その後ファイルが実行されているかどうかを調べる方法は無いですか?

前者は出来ると思うんですが後者は難しそう・・・

UNIXだとshellコマンドで出来たんですが。
>>691
もっといい方法があるかもしれんが、今すぐ思いつくのだと、プロセスを列挙して、
各プロセスの実行ファイル名とそのファイル名が一致するかどうかの判断かな。
Win9xではToolHelp32、WinNTではPSAPI.DLLを使用すれば面倒だが出来たはず。
>>690
Lindows 作っているところは、Kylix の Wine を移植したところよん。
>>691
Windowsで?
なら、EnumWindows API
Lindows日本語とおるなら 99$払って買うよ
>>695
DEBIANベースでって部分までは好感持てるのだが、
全てのユーザがroot権限ってのが /.Jに書かれていたのを読んで幻滅した。

DEBIANベースならLinux側は日本語もそこそこ使えるだろうが、Windowsアプリ
だったらWINEがどこまでチューンされるかによるんじゃないの?
最近のWINEは試してないけど、以前のは日本語関係は駄目だったように記憶している。
697デフォルトの名無しさん:02/03/28 21:32
A、B、C、D、E、Fの6チームがリーグ戦を行った。
勝敗の結果は次のようであった。Fが勝った相手はどのチームか。

 1 Bは1勝2敗2引き分け
 2 EはBに敗れ、3勝2敗
 3 Dは1勝もできなかった
 4 Cは2勝3敗
 5 Fが勝ったのは1回のみ


>>697
また宿題ですか・・・。
>>697
判った!Dは阪神!
…sage
>>697
Delphiで解こうというのでない限り、
激しくスレ違い、いや板違い。
>>1
>DELモナーがどんな厨房疑問でもやさしく答えます。
というのは、質問の内容が、Delphi初心者がつまづくような内容でも
やさしく答えよう、という意味。
スレ違いの質問や、厨房のような姿勢での質問は、
どこであろうと晒される。

ちなみに答えはC。
>>700
俺は熱狂的なCファンだ!CがFに負けるわけねーだろ、このウスラハゲ!
>>699
今年は阪神が優勝するのだがなにか?
703700:02/03/28 23:45
>>701
勝敗表。5つの条件からここまで矛盾することなく分かる。
 A B C D E F 勝-負-分
A\○○?○? ?-?-?
B●\●△○△ 1-2-2
C●○\○●● 2-3-0
D?△●\●△ 0-?-?
E●●○○\○ 3-2-0
F?△○△●\ 1-?-?
EはBに敗れているので、
\ABCDEF
A\??????-?-?
B?\??○?1-2-2
C??\???2-3-0
D???\??0-?-?
E?●??\?3-2-0
F?????\1-?-?

Cに引き分けが無い以上、BはCに敗れている。
\ABCDEF
A\??????-?-?
B?\●?○?1-2-2
C?○\???2-3-0
D???\??0-?-?
E?●??\?3-2-0
F?????\1-?-?

CはDに敗れておらず、かつ引き分けでないので、
\ABCDEF
A\??????-?-?
B?\●?○?1-2-2
C?○\○??2-3-0
D???\??0-?-?
E?●??\?3-2-0
F?????\1-?-?

Cの2勝が決まり、Cに引き分けが無いので、CはFに負けている。
よって、FはCに勝った。
>>673
かちゅーしゃはaviを埋め込んでいません
>>673
お前の目は節穴か。
anime.avi ってファイルがおもっきりあるだろーが。
707デフォルトの名無しさん:02/03/29 10:37
実行ファイルにAVI埋め込み上手くいきました。
FONTとかも埋め込められるんですね。

それにしてもResource Workshopは使いづらかった・・・。
単に埋め込むだけなら、Delphiのプロジェクトに .RES を入れるだけでいいぞ
別にWorkShop使わなくても
jconvertってのを拾ってきてEUC <--> SJIS のプログラムを書いてるんだけど、
日本語が部分的に化けてしまう、jconvertって結構有名だと思ったんだが、
使ってる人いますか?使えてますか?
又は、EUC<-->SJISのコンポとかで完璧なのがあれば教えて下さい。
よろしくお願いします。
710デフォルトの名無しさん:02/03/29 11:27
>>709
EUCにも色々あるけど
>>710
EUC-JPだと思うけど、漢字が使えるEUCって沢山あるのでしょうか?
デルファイってよくBeginとendがいやだって言う人居るじゃん。あれってなんでかな?
ルールに乗っ取った書き方だけどエイリアス出来ないのかな?
不可視にしちゃうとか。
ぁ、自分はなれてるから大丈夫だよ。
インプライズ時代からの付き合いなんで・・その前からも。
さぎょうしてると周りの人がBegin、endにやたらと、
いちゃもん付けてくるもんだらか。
コーディングによっては逆に見やすくなったりもするんだけどね。
うまく説明出来ないけど。
>>712
> デルファイってよくBeginとendがいやだって言う人居るじゃん。あれってなんでかな?

仕様ルールをよく知らない人間のただの戯言だろ、それが仕様なんだ、従うのが
嫌なら使わなきゃいいだけだ。
しかし、そんなレベルのプログラマはおそらく他の言語でもマトモなプログラムは書いて
ないと思う、相手にしなくてもいいよ。
>>712-713

日本人はbegin/endはキーを打つのが嫌いで、{}は楽で好き。
英語圏の人はbegin/endが読みやすくて好きで、{}が記号みたいで嫌い。
715デフォルトの名無しさん:02/03/29 13:08
俺はBegin、Endの方が断然見やすいけど。
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Delphi
韓国には EUC-KR がある。理屈の上では EUC-xx で xx にほとんどの国が入る。

EUC ってのは Extended Unix Code の略で、ひとことでいうと8ビット目をセット
するだけ。エンコード規則だと思えばよい。

Unicode 以前にすでに多くの国で符号化集合の規定が進んでいて、基本として
7bit 単位で符号化することにし、8bit 目で、複数の符号化集合(通常の日本語文書だと
8 bit 目が0の時は残り 7 bit は US-ASCII 相当。8 bit 目が 1 の時は二つ分 14 bit で
漢字一文字)を指定する。

で、規格上は 8 bit 目 0 と 1 の時の符号化集合を指定するエスケープシーケンスを
送らなきゃいけないのを、どうせひとつの環境ではいつも同じ符号化集合の組み合わせだ。
ってんで省略したのが EUC

だから EUC-KR や EUC-中国(-ch かなぁ?わすれた)が存在する。使われているかどうかは
別ですが。
>>707
WorkShopはTurbo Pascal for Windows時代の遺物だから・・・
でも他のアプリケーションのリソースを抜き取ることができる利点はある
(IEとかはだめだけど)
719デフォルトの名無しさん:02/03/29 14:40
720デフォルトの名無しさん:02/03/29 14:41
OpenDialogでファイルを選択すると絶対パスしか取得出来ないのですが、
選択ファイル名だけを取得するにはどうしたら良いでしょうか?
>>720
ExtractFileName
>>721
出来ました
ありがとう御座います
>>722
関数のヘルプは「Delphiヘルプ」-「VCLリファレンス」にあるよ
724初心者B:02/03/29 15:07
Q1.タスクトレイにプログラムを常駐させる方法を教えて下さい。
Q2.メインアイコンを32×32と16×16で分ける方法を教えて下さい。
725デフォルトの名無しさん:02/03/29 15:22
>>712
メール見たら・・・
なんて巧妙な縦読みだ。
>>724
A1.トレイにアイコン表示するコンポでも使え
A2.アイコンリソースに32×32と16×16の両方を入れたアイコンを使え
>>712
そこまでいくと個人の好き嫌いになっちまうよ。
俺だってincludeが嫌いってだけでC言語がきらいだよ。
たてーよみーかぁぁぁ
>>712
かなり手の込んだ縦読みだな。
文章も普通だし。
731デフォルトの名無しさん:02/03/29 18:41
文字があったとし徐々に横にずらしていくのはどうしたら良いでしょうか?

VBでは簡単に出来たんですが。
>>731 やりたいことが伝わってこないんだけど
Webがどうたらじゃなく基本的な動作なら
「VBなら簡単だけどDelphiでは難しい」
なんてことはまずないと思うよ(>>723のヘルプを参照)
733初心者B:02/03/29 19:17
>>731

private
I : Integer;
Str2: string;

procedure TForm1.OnFormCreate(Sender : TObject); //起動時の初期化処理
var
N : Integer;
Str : string;
Retry : Boolean;
begin
N := 20; //ずらす回数
Str := 'Hello.'; //ずらす文字
 Retry:= True; //繰り返す→True 繰り返さない→False
end;

procedure TForm1.OnTimer1Timer(Sender : TObject); //TTimerコンポーネント
begin
if I < N then
begin
Str2:= ' '+Str2; //' 'の中身はスペース
I := I+1;
end
else
if Retry then
begin
Str2:= Str;
I := 0;
end;
Edit1.Text:= Str2; //コンポーネント名はご自由に
end;

こんなもんではどうでしょう?
このソースでは、Str入力した文字列がN回ずらされてEdit1に出力されます。
今速攻で作成したので文法には自信ないです。
>>731
2つの事を知れば解決します
 1、AnsiStringはシフトJISなので1文字単位に処理したいなら WideStringを使う
 2、VBのMid相当の関数は copyである
735初心者B:02/03/29 19:18
733 ずれた、鬱だ。
>>733
酒の肴になりそうです
どうもありがとう
737初心者B:02/03/29 19:23
>>731
すいません。
こちらをコピペしてください。↓
http://simfan.cn1.jp/other/source1.txt
>>737
コンパイラが答えを出してくれるだろうね

           / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          | >>193-194のリンク集の
          | リンク切れを修正して、再編集したよ。
          |
          | 次スレの先頭に貼ろうと思うんだけど、
          | ここに追加してほしいサイトとか、
  ∧_∧  | このリンク集の中で特に(・∀・)イイ!っていうサイトが
 ( ´∀`)<. あったら、次スレになる前に教えて。
 (    ) .| (・∀・)イイ!サイトは星印でも付けようと思うよ。
 | | |  | かなりでかいけど、よろしく。
 (__)_)  \_________________________
740Delモナー ◆fPymXWHY :02/03/29 21:54
■関連サイト
Delギコさん作成のものを再編集しました。

○入門
Do It YourSelf---Life with Delphi
http://home.onestop.net/mineko/index2.html
ゼロからDELPHI講座
http://www.text2music.com/mine/delphi/index.html
Delphi(デルファイ)のページ
http://www.threeweb.ad.jp/~satou/

○VBからの移行
Deep Forest - Switching Delphi / VB
http://member.nifty.ne.jp/deepforest/vbdel.htm
Visual Basic から Delphi/Kylix への移行ガイド(公式)
http://www.borland.co.jp/delphi/papers/vbtodel/
Delphi Acid Floor+
http://www.wwlnk.com/boheme/
741Delモナー ◆fPymXWHY :02/03/29 21:55
742Delモナー ◆fPymXWHY :02/03/29 21:56
STUDIO MU - Delphi Q&A
http://www.para.tutics.tut.ac.jp/~ohno/mu/devroom/delphi_qa_g.html
中村の里 - Delphi
http://www.asahi-net.or.jp/~HA3T-NKMR/delphi.htm
Ken's Software HomePage - Delphiの話題
http://homepage1.nifty.com/kens-hp/delphi.htm
Katsuya's Home - Tips
http://www.apionet.or.jp/~tubokura/k_tips.html
Programming Library - Delphi Page
http://homepage1.nifty.com/MADIA/delphi/index.html
DEKOのアヤシいお部屋。 - Delphiによるテクニック&アルゴリズム
http://homepage1.nifty.com/ht_deko/techalgo.html
Goditi la vita ! - 也工房
http://www.asahi-net.or.jp/~GV4J-SGUR/narik/nari.htm

○特定分野
Win32 API by Object Pascal of Delphi(API)
http://halbow.cool.ne.jp/top.html
Delphi Programming(API、コンポーネント)
http://www.takenet.or.jp/~ryuuji/delphi/
Ak's Laboratory[Delphi Construction] (画像処理)
http://www2s.biglobe.ne.jp/~aks-lab/delphi_lecture.htm

○コンポーネント
Delphian World
http://home1.infonia.ne.jp/~delphian/delphi/
Delphi Super Page(英語)
http://delphi.icm.edu.pl/
(続く)
743Delモナー ◆fPymXWHY :02/03/29 21:57
○バグ
Delphi Bug-List Project
http://www.infonia.ne.jp/delphi/

○環境のカスタマイズ
GExperts
http://www.gexperts.org/
FUU's Software フリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/

○コミュニティ・ML
Osamu's Square - Delphi-ML過去ログ検索
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi
USERS GROUP - Delphi メーリングリスト
http://www.users.gr.jp/ml/delphi.aspx
Delphi広場
http://www.sakaki.keiaikai.or.jp/
Borland Maniacs!
http://member.nifty.ne.jp/h_kova/
NIFTY SERVE Delphi Users' Forum: FDELPHI(@niftyの会員になる必要あり)
http://www.nifty.ne.jp/forum/fdelphi/faq/title.htm

○書籍案内
Delphi 関連書籍(公式)
http://www.borland.co.jp/bookinfo/delphi.html
USERS GROUP - Delphi 関連書籍
http://www.users.gr.jp/books/delphi.asp
(終わり)
744Delモナー ◆fPymXWHY :02/03/29 21:59
>>739-743
思ったよりかなり行数を取るな・・・。
もっと短くしよう。
俺的には、ここが結構分かりやすかったが...。
flow of water
http://isweb21.infoseek.co.jp/computer/wblue/
746Delモナー ◆fPymXWHY :02/03/29 23:47
>>745
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< ありがとう。追加しておく。
 (    )  \__________
 | | |
 (__)_)
747Delフサギコ ◆zE1iiRdQ :02/03/30 00:10
   ∧,,∧    /リンク集。このあたりにレスしておくと
  ミ,,゚Д゚彡 < 次から、引用がしやすくて
   U  つ゛  \他の人も参照しやすくなるかと思われ
 @ミ  ミ
   ∪''∪ 
Delphiお役立ちサイト(コピペ)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538

どんどん追加してヨシ
748デフォルトの名無しさん:02/03/30 00:22
age!
749デフォルトの名無しさん:02/03/30 01:48
Zlibユニットを使ってZIPファイルの圧縮&解凍はできますか?

TCompressionStreamを実際に使ってみたところ、ヘッダも一緒に
吐き出してるようなのですが・・・。
ただ、zip32j.dllで同じファイルを圧縮しても、バイナリ的に
符合しないので見当がつきません。
750デフォルトの名無しさん:02/03/30 02:12
超初心者にオススメの本はありますか?
書籍スレでも探せませんでした。みなさんのオススメを教えてください
751デフォルトの名無しさん:02/03/30 02:24
>>750
Delphi付属のマニュアル。本気です。
あとは、TryPCとかが出してるムック本かなぁ。
752デフォルトの名無しさん:02/03/30 02:26
>>750
>>745でいいんじゃない?
753750じゃないよ。:02/03/30 02:28
基礎だけがわかった初心者向けの本はありませんか?

IDEの使い方、ifやforなどの構造文、classの作り方とかは分かったのですが
それの例題みたいなのがたくさん載ってる本とかないですか?
TBitMapで透過させる方法はどうすればいいのでしょうか?
IamgeはTransparentをTrueにするだけで出来たのですが・・・
TBitmap.Transparent
>>753
そこまで理解できてるんなら、本なんか頼んないでも、
なんか自作してみたら?
その方が随分と勉強になると思うけど・・・。
>>755
それをTrueにしただけでは透過しないんです。
コードはこうなってます。

Img := TBitmap.Create;
Img.Width := s;
Img.Height := s;
Img.Transparent := True;
Img.Canvas.CopyRect( Rect(0,0,s,s), Form2.Image1.Canvas, CharRect(0,0,x,i,s) );
CharImg[x+1,y] := Img;
>>757
半透明の事を言いたいのか?
>>757
灯火させるようなBMPになってんの?
760757:02/03/30 02:43
>>758
半透過というのでしょうか?
>>759
Imageの段階では透過してます。
761757:02/03/30 02:45
http://www.geocities.co.jp/SiliconValley-Cupertino/6174/puyo2ch.bmp
ビットマップはこれを使用してます
762通りすがりですが:02/03/30 02:54
>761
お、おもしろそう。
完成の暁にはぜひ一言声かけてください。
>>761
いいねぇ、なんかゲームとしての仕組みはあれだが・・・。
なんか、たぶんあるであろう連鎖以外に特別な技が欲しいな。
>>757
検証しやすいようにもう少しソースを貼ってみて
(コンパイルが通る程度に切れないかい?)
>>761
コンパイルに通報します
コンパイルってまだ生きているno?
767757:02/03/30 03:17
>>764
   Image1.Picture.LoadFromFile('puyo2ch.bmp');
Img := TBitmap.Create;
Img.Width := 32;
Img.Height := 32;
Img.Transparent := True;
Img.Canvas.CopyRect( Rect(0,0,s,s), Form1.Image1.Canvas, Rect(0,0,32,32) );

CharImg := Img;
Img := CharImg;
Form1.Canvas.CopyRect( Rect(0,0,s,s), Img.Canvas,Rect(0,0,s,s));
こんな感じです。
ただ実際はBackImg(TBitmap)に描いてからformに書き込んでます
名前をもっと変えた方がいいんじゃにゃいの?ギコギコとか
モナモナで
>>767
最後のここ
Form1.Canvas.CopyRect( Rect(0,0,s,s), Img.Canvas,Rect(0,0,s,s));

こーする
Form1.Canvas.Draw(0,0,Img);
771757:02/03/30 03:35
>>770
出来ました!!
本当にありがとうございます!!
>>771
うむ、完成したら報告よろしく。
でも、ちゃんとゲームとしての速度が出るか不安も残る・・・
773757:02/03/30 03:43
ここに報告するのはどうかと思うのでリンクを貼っておきます。
ttp://incoming.jp/puyo/index.html
>>772
Delphiなら普通に作れば大丈夫
775デフォルトの名無しさん:02/03/30 04:02
TimageってBitmapしか使えませんでしたっけ?
JpegやGifが使いたいんですが。
Jpegはいけたと思うよ
777デフォルトの名無しさん:02/03/30 11:08
ジェダーイに逝ってTGifImage採ってこい。
778Delモナー ◆fPymXWHY :02/03/30 11:28
>>747
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< >>740-743を貼っといた。
 (    )  \__________
 | | |
 (__)_)
こちらへ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
779デフォルトの名無しさん:02/03/30 11:31
Rubyyyyyyyyyyyyyyyyyyyyyyyyy!
>>779
それなんですか?
>>780
激しくすれ違いな奴は相手にするなよ、報知でよろしく
782初心者B:02/03/30 15:09
>>724
リソースに入れるアイコン名を教えて下さい。
783飯 ◆z/PMXgLI :02/03/30 16:48
Delphi6でブラウザを作ってみたいのですが、
Delphi6でIEコンポーネントを使うにはどうすればイイのですか?
教えてください。
784Delモナー ◆fPymXWHY :02/03/30 16:58
>>783
>>123,126で既出。
それともこれ以上の情報がほしいとか、そういう質問?
>>782
プロジェクトオプションで選択しる!
786飯 ◆z/PMXgLI :02/03/30 17:08
>>784
わーお。既出でしたね。
すみません。
787名無し募集中。。。:02/03/30 17:11
>>783
[コンポーネント]→[ActiveXコントロールの取り込み]
で、Microsoft Internet Controlsをインストール

ActiveXタブにWebBrowserが追加されてるはずなので、
これをフォームに貼り付ける。

ついてに、ボタンも貼って、

procedure TForm1.Button1Click(Sender: TObject);
begin
 WebBrowser1.Navigate('http://www.yahoo.co.jp');
end;

みたいな感じ
788デフォルトの名無しさん:02/03/30 18:23
Robyyyyyyyyyyyyyyyyyyyyyyyyy!
ギf
790デフォルトの名無しさん:02/03/31 03:48
実行ファイル(exe)を削除しようとするときに、そのファイルが実行されていたら
消せませんよね?
これってエラーを吐いてちゃんと分岐処理って出来るんでしょうか?

・実行されていなかったら・・・削除する
・実行されいたら・・・削除できないからエラーダイアログを返す

こんなのです。
実行されてるファイルのハンドルを見て存在したら…
なんて言う分岐が出来たと思います。

指定したプログラムを終了させる事も出来るはずなので、
実行されていたらダイアログを出して終了させても良いか確認し、
OKなら終了させて削除なんて事も出来たと思いますよ。
>>790
ファイルを削除−>まだある
793初心者B:02/03/31 13:52
>>760
DeleteFile関数の出力で分岐する方法です。↓
http://simfan.cn1.jp/other/source2.txt
794初心者B:02/03/31 13:58
コンポをOnFormCreate中で、Createコマンドを使って
作成しようとすると、書き込みエラーが発生するのですが、
正しい作成方法を教えて下さい。

>>793
レス先間違えた。正しくは、(>>790
procedure TForm1.Form1FormCreate(Sender: TObject);
begin
 Button1 := TButton.Create(Self);
end;
ってかんじー
>>795
1.Button1をちゃんと宣言しているかどうかチェック
2.Butoon1.Parent:=Self; を書いておく
とりあえず以上で・・・
漏れもレス咲き間違えた
× >>76
>>75
76→796
75→795

撃つ出汁脳
799初心者B:02/03/31 19:52
早速レスありがとです。
やってみます。
800デフォルトの名無しさん:02/04/01 00:46
ImageでJPEGを読み込もうとするとエラーが出るんですが何故ですか?

Img1.Picture.LoadFromFile('C:\aaa.jpg');

ってやるとエラーが出るんです。
801us:02/04/01 00:52
jpeg
802デフォルトの名無しさん:02/04/01 01:05
>>801
どういうことですか?
やまなし、おちなし、いみなし
無駄なレスが増えるからちゃんと書いてやれよ
usesにjpegを追加だ。わかったな
TImageが読み込めるのはIconとMetaFileとBitmap・・・JPEGは対象外でしょ
今手元にあるのはDel5(6は隣の部屋)だけど多分変わってないはず
>>805 自己レス
ヘルプを鵜呑みにした・・・読めるね・・・恥・・・討つだし脳
>>805
普通にJPEG読み込めましたよ?
プロパティから設定すると。
808デフォルトの名無しさん:02/04/01 01:15
読める
809デフォルトの名無しさん:02/04/01 01:20
読める… 読めない… 読める… 読めない… 読める… 読めない…………
読める!
810デフォルトの名無しさん:02/04/01 01:24
usesにjpegを追加するだけで何故読めるようになるんだろう?
ってのは中村氏も最初疑問に思ってたぐらいだしね。
811デフォルトの名無しさん:02/04/01 01:26
>>810
なんで?
812デフォルトの名無しさん:02/04/01 01:27
>>810
うわ!
本当だ
usesにjpegって記入しただけで読めちゃった。

なんて単純な・・・
813デフォルトの名無しさん:02/04/01 01:41
>811
 jpeg ユニットによって、TGraphic から派生した TJPEGImage クラスが定義される。
 んで、TImage.Picture は TPicture で、自分が解釈できるものに合わせて適切な
TGraphic を呼び出すから、この時点で TGraphic として TJPEGImage が使われて、
正しく読めるんだな。
 TImage.Picture がアイコンなら TIcon を、メタファイルなら TMetaFile を勝手に選択
して生成利用しているのと、原理はいっしょ。

 オブジェクト指向をうまく使っている例だよ。
 これを応用すれば、GIF や PNG を読めるクラスを TGraphic から派生で定義してや
ることで、JPEG と同じように使えるんだな。
アダプタパターンだっけか?
815素数2:02/04/01 03:12
質問です。
CSVファイルをTstringgrid に突っ込んでデータベースとしているのですが
自作の検索フォームの動作がうまくいかんのです(クエリーと言うのか?)
TCombobox TCombobox TEdit と並んでいて 検索結果を TListboxに表示 と言うのを作っております


例えば

「名前」  「含む」 「モナー」 かつ
「色」  「含まない」 「オレンジ」  かつ
「頭身」 「=」 「8」 

これで 8頭身モナー(オレンジ以外) の一覧が TListbox に表示される
と・・・

よく見る機能なのですが自分では実装できませんでした・・・
このような機能を作る際の定石などがあればご教授いただけたら幸いです。
816素数2:02/04/01 03:19
>>815 ちなみに 開発環境は Del6 Pro です。
カードゲームのテキスト管理ソフトを作ってます(データは1000〜2000件程度)
>>813
TGraphicから派生してクラスを定義して、usesしただけでどうして読めるようになるんでしょうか。
疑問なんですが。
>>817
VCLソース嫁。勉強になるぞ
>>815
データベースを使うのが楽ちんでいいと思うけど、テキストファイル
ということなんで、その部分をコーディングしなくちゃならん
(CVSファイルを検索するためのライブラリって無いのかなあ)。

で、どうやるかというと、木構造を使ってレコードが条件にマッチ
するかどうかを一つ一つ判定していくのが定石だと思う。電卓の
プログラムなんかが参考になると思ったんで探してみたんだけど
いい感じのが見つからなかった(w
>>815
D6使ってるみたいだし、MyBase使ってみれば?
まさにこういう用途にうってつけだと思うが。
>>817
何で読めないと思うのかが不思議。
822素数2:02/04/01 07:17
mybase・・・難しいなぁ データベースは触ったこともないから・・・。
とりあえずどっかしらから頑張るっす。
どんどん機能拡張していったものだから根本を変えるのは大変かなぁ (現在β22。
>>820
MyBase使ってるの?
どっかに優しい説明書無い? 情報キボーウ!
824デフォルトの名無しさん:02/04/01 08:55
自分もDelphiでデーターベースソフト作ろうと思ってるんだけど、何が一番良いですか?
csvやらアクセス取り込むやら方法はいっぱいあるじゃ無いですか。

これが一番簡単で手っ取り早くて良いって言うのを教えてください。

csvは中見られたらおしまいなんですよね・・・。
825素数2:02/04/01 08:57
ぼやき;
うーん Tstringlist は引数に使えないのか、戻り値に使えないのか・・・エラーが出る。
commatextで事なきを得たが いまだに動作は変だ・・・
>>815 も1項目だけなら簡単にできるんだが、2項目目からはもはや理解不能なコードを書いてる俺。
826817:02/04/01 09:50
TPicture.RegisterFileFormatをInitializationでよんでいるわけですね。なるほど。
jpeg.pasがないので残念がっていたら、
中村さんのwebページにまんま解説ありました。
827初心者B:02/04/01 09:54
すごく初歩的な気がするんですけど、
DLLの読み込み方法を教えて下さい。
ヘルプとか見てもいまいち良くわからないです。
>>827 スタテック?それとも動的に読みたいの?
1)Tstringlist を引数に使うより TStrings を引数に使って TStringListを渡すのが普通

2)戻り値に使える。ただしインスタンスの寿命管理の問題がややこしくなるので注意する事

3) >>815のような事で楽したいなら 正規表現検索の出来るコンポーネントを入手して
  検索条件から正規表現を動的に作り出したらいい
830デフォルトの名無しさん:02/04/01 11:13
やたあああああああああああ
復刊.COMからメールだああ
---------------------------------------------------
復刊ドットコムをご利用いただきありがとうございます。
下記の書物に対して投票数が規定数に達しましたことを
ご連絡いたします。

(略)

交渉の状況や結果は、可能な限りメールにてお知らせ致しますのでお待ち下さい。
また、交渉状況表をご覧いただければ、交渉中に入ったかどうかわかりますので、ぜひご覧になってください。
http://www.fukkan.com/nego.php3

登録No.4407 登録日時 2002/04/01 08:56:22
------------------------------------------------------------------------------
 ジャンル   : コンピュータ
 書名     : Delphi オブジェクト指向プログラミング
 著者名    : 塚越 一雄
 出版社    : 技術評論社
 本の内容   : 1997年に発行された、Delphiでのオブジェクト指向を分かりやすく解説した、
Delphi中級者以上のユーザ必須の書。
ISBM4-7741-0427-2 C3055

 現在の得票数 : 100
831DELモナ:02/04/01 11:27
>>815
まあ、このコードでも使ってみなさいと。

type TFindOption = record
 FEnable:Boolean; //有効か否か
 FIncluding:Boolean; //キーワードを含むか否か
 FKeyword:string;
end;

type TFindOptions = record
 FName, FColor, FTall:TFindOption;
end;

function Match(CommaText:TStrings; FindOptions:TFindOptions):Boolean;

 function MatchProc(AText:string; FindOption:TFindOption):Boolean;
 begin
  Result := True;
  if not FindOption.FEnable then Exit;
  Result := FindOption.FIncluding = AnsiSameText(CommaText[0], FindOption.Keyword);
 end;
begin
 Result := MatchProc(CommaText[0], FindOptions.FName) and
      MatchProc(CommaText[1], FindOptions.FColor) and
      MatchProc(CommaText[2], FindOptions.FTall);
end;

procedure Find(Data, Result:TStrings; FindOptions:TFindOptions);
var
 I:Integer;
 C:TStrings;
begin
 C := TStringList.Create;
 for I:=0 to Data.Count-1 do begin
  C.CommaText := Data[I];
  if Match( C, FindOptions ) then
   Result.Add( Data );
 end;
 C.Free;
end;
832デフォルトの名無しさん:02/04/01 11:34
>>825
まずは、戻り値に使えない理由を知るべきでしょう。

function GetTStringList:TStringList;
begin
 Result := TStringList.Create;
end;

↑みたいに、Result 変数に対してちゃんと
TStringList.Create しないとダメよ。

もしくは、

var
 GlobalTStringList:TStringList;

function GetTStringList:TStringList;
begin
 if not Assigned( GlovalTStringList ) then
  GlovalTStringList := TStringList.Create;
 result := GlovalTStringList;
end;

これは Create - Free の関係を(あまり)気にする必要がない。
Singleton パターンもどき。
833デフォルトの名無しさん:02/04/01 11:39
エクスプローラでファイルを右クリックしたときに出てくる
シェルメニューの編集をしたいです。

そこでレジストリを調べてみました。拡張子毎の情報は HKEY_CLASSES_ROOT
\.* にあって、キーを頼りに情報を捜すということは分かりました。

問題は、恐らくDLLを参照しているであろう {XXXX-XXXXXX-XXXX} みたいなキーの場合です。HKEY_CLASSES_ROOT\CLSID\{XXXX-XXXXX-XXX}\InprocServer32\
の標準キーにDLLのファイル名が書いてありますね。
多分、DLLにあるメニュー項目取得関数を呼び出して
動的にメニューを構築していると思うのですが、
なんという名前の関数を呼び出せばよいのですか。


834Delモナー ◆fPymXWHY :02/04/01 12:54
>>831
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 私以外のDelモナー、久しぶりに見たよ。
 (    )  \________________
 | | |
 (__)_)

私は「元祖」じゃないけど。
>>831 訂正.
含むか、含まないか であれば

MatchProc 関数内の

AnsiSameText(S1, S2) の部分を
( AnsiPos(S2, S1) >= 1 )

にした方が良いですな
836デフォルトの名無しさん:02/04/01 13:40
C++からDelphiに移ったんですが、C++みたいに構文の途中で変数の宣言などは出来ないのですか?
837DELモナ:02/04/01 13:59
Pascal では、変数の宣言場所はあらかじめ決められていて、
それ以外の場所で宣言することはできないよ。

自分は、途中で宣言可能なよりも、一括して宣言しなければ
ならない Pascal 文法の方が見やすくて好き。
838デフォルトの名無しさん:02/04/01 14:01
VBみたいに全角文字変数も駄目なのかな?
上司のソース見たらもの凄いことになってた

全部Public変数だし全角で宣言してるし・・・
四角 as〜って言う風に
839Delモナー ◆fPymXWHY :02/04/01 14:43
>>838
全角って入力しにくくないのかねぇ。
そういえば、VBの初心者向けの本で、
関数名を全角で宣言しているというすごいものがあったな。
普通の言語なら半角英数字で書くものだけど・・・。
>>836
素直にC++Builder使っとけとか言ってみる。
841Delモナー ◆fPymXWHY :02/04/01 15:24
>>835
あなたが「元祖」DELモナさんですか・・・。
この名を借りさせてもらいました。
このスレも立てさせていただきました。
勝手にしてスマソ。
842デフォルトの名無しさん:02/04/01 18:58
Formをセンターに持ってくる方法って無いですか?

Form1.Position := poDesktopCenter;
では無く別の方法で求める方法です。

Formshowでこれをやろうとすると
「OnShow/OnHide イベントの処理中は表示状態の変更は出来ません」
って言うエラーが出るんです。

Screen.DesktopHeightなどから求められないかなと思いまして・・・
どうも上手くいかず。
843デフォルトの名無しさん:02/04/01 19:14
>>842
いつフォームをセンターに持ってくるかは別にしてまずは
ボタンが押されたらセンターに持ってくるコードを書いてみたら。

フォームの幅・高さとScreen.DesktopWidth, Screen.DesktopHeightを
使えばセンターは求まる。
D6はほんと買いなの?
MyBaseはみんな使ってないつうか、使い方聞いても無視されちゃうし・・・
ちょっと愚痴、スマソ
845デフォルトの名無しさん:02/04/01 20:03
>>842
Form1.Top := Screen.DesktopWidth div 4;
Form1.Left := Screen.DesktopHeight div 4

これでいけました。
どうもありがとう御座います。

あってるかわからないけど・・
;
>>845
4ってどこから・・・。
847 ◆fwK7enJI :02/04/01 21:36
>>845
 Self.Top := Screen.DesktopHeight div 2 - Self.Height div 2;
 Self.Left := Screen.DesktopWidth div 2 - Self.Width div 2;

これで中央によります。
848846:02/04/01 21:37
>>847
だよね。
個人的には

Self.Top := (Screen.DesktopHeight - Self.Height) div 2;
 Self.Left := (Screen.DesktopWidth - Self.Width) div 2;

だけど。
>>844 Paradoxは使って見た?
>>844
漏れ仕事でつかってるけど買いだと思う。
DBクライアントつくるなら最強(ただしEnterprise)

MyBaseは単に使ってる人が少ないだけだと思うが(w
C/S構成でCをSから切り離して動かすときとか便利そう。
時間が空いたら手をつけたいとは思っているが・・・

MyBase単独で使う分にはParadoxと大差ないと思われ
851デフォルトの名無しさん:02/04/01 22:00
簡単なMyBaseの使い方。(これ以上を僕に訊かないでね。僕も知りませんから)

・TClientDataSetを配置する。
・ClientDataSet1のコンテキストメニューから「項目の設定」を選ぶ。
・出て来た小さい窓のコンテキストメニューの「項目の新規作成」でフィールドを追加。
・ClientDataSet1のコンテキストメニューから「データセットの作成」を選ぶ。(これでオブジェクトツリーの「?」が消える)
・TDataSet経由でTDBGridなんかに繋げば、編集できる状態になる。
・ClientDataSet1.SaveToFileでdfXMLを指定すればXMLとしてセーブできる。(デフォルトはバイナリーセーブ)
・ロードのときは一旦ClientDataSet1.ActiveをFalseにして読み込んでからまたTrueに。
・変更記録が延々記録されているので、時々はClientDataSet1.MergeChangeLogで整理。
852デフォルトの名無しさん:02/04/01 22:30
>>838
 英数字以外を変数名に使うのは置いといて、
>全部Public変数だし
 なぜ皆ここに突っ込まん(w
853デフォルトの名無しさん:02/04/01 22:39
簡単なメッセーンジャーを作ろうとDelphiに着手しましたが
>15のソースを実行しても出来ません・・・鬱・・・
あれ以外になにか宣言とかいるんですか?ちなみにエラー等はまったくで無かったです。
Del6Personalです。
854デフォルトの名無しさん:02/04/01 22:39
>>852
おやじプログラマがよくやる。
Publicを覚えたらアホの一つ覚えみたいに使いまくるって奴ね
>>844
Delphiで一番気軽に扱えるDBは間違いなくParadox

でも、C/Sでクライアントの数が多いようなら
InterBase(FireBird)を使ってみるのもいいのでは
・・・IBXはくせがあるので最初はそれなりに苦労するけど
(dbXで接続するよりはずっと高速なのでやっぱりIBXがお薦め)
>>844
Delphiで一番気軽に扱えるDBは間違いなくTInifile
>>857
>>857
質問です
TIniFileでDBGridを使う方法を教えてくだちゃい
あんまり触ってないがADOも結構よさげ。
BDEよりかは素直?な感じがする。
BDEは何回使ってもTransactionが挙動不審なような(鬱

ただし遅いがな。(Access2000で試したところ)

D6に移行してからは
 RDBMS : dbExpress(or BDE)
 お気軽アプリ : ADO or TIniFile(w
てなかんじに切り分けてるかな。

あと、MyBase(MidasLib)使うと運用ライセンスかかるんじゃなかったけ?
値段忘れたが
もうDelphi7出るのかよ!
862Delモナー ◆fPymXWHY :02/04/02 00:04
>>861
本当?初耳だよ。ソースは?

書き込みが02/04/01 23:59ってなってるんだけど・・・w
ぐ・・・漏れの会心のエイプリルフールネタが不発に終わってしまった・・・
また来年頑張ろう・・・。
864Delモナー ◆fPymXWHY :02/04/02 00:20
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< こんなもの作ってみたよ。
 (    )  \________________
 | | |
 (__)_)

このスレのソース置き場を作ってみました。
このスレに載せきれないソースは、よかったらここへどうぞ。
インデントも使えるのでぜひどうぞ。ファイルのアップロードもできます。
○3000行までOKです。
○ソース書き込み時は等幅に設定してください。インデントが使えます。
○激しく長いソースは、同時にソースファイルを添付しておくと(゚Д゚)ウマーです。
○置くのはソースでなくても構いません。
ファイルのアップローダーとしてもどうぞ。

こちらへ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1017673221

http://www2.to/source/ からも行けます。


>>863 やっぱりそうだったのね(w
865寒い。  :02/04/02 00:22
寒い。  
866デフォルトの名無しさん:02/04/02 00:47
URLDownloadToFileで応答が無いと、
その間、操作不能になるのですが、
もっと便利なヤツ、または操作不能にならない方法は無いですか?
867client:02/04/02 00:56
get
868866:02/04/02 01:15
>>867
ClientSocketを使うのですね?
ありがとうございます。
使った事無いので調べてみます。
869素数2:02/04/02 01:37
>>815です。
なんかできました。
とにかくなんでもTstringlistに入れて比較したら何とかなりました・・・みなさんありがとう。
勉強になりましたです。
870デフォルトの名無しさん:02/04/02 02:32
Windowsの起動時にアプリを起動させるにはスタートアップやレジストリに登録させるなりして
起動できますが、Windowsの終了時にソフトを起動させたい場合はどうしたら良いでしょうか?
>>870
Windowsの終了を監視するアプリを常駐させておくくらいしか思いつきません。

でも終了処理中って新しいプロセスを起動できなかったような。
872デフォルトの名無しさん:02/04/02 02:39
まあ、Delphiは1年ごとにバージョンアップするから、
秋頃に7が出ても不思議ではない。.NET対応?
>>872
Delphi.NETってより、密かにC# Builderの開発に余念がないと思われ。
Delphi7.NET対応->C#Builder->半年程度でDelphi8.NET発表 って構図な予感
( ゚д゚)ポカーン  おらDel6Perosonal・・・
( ゚д゚)ポカーン  スペルミスしてるし↑
すみません、QuickReportをもっと活用したいと思うのですが
Borlandから間接的にもソースを買えましたでしょうか?

それともフリー/シェアで、良いコンポーネントがあれば
ご紹介頂ければありがたいです。
ちなみに当方は、よくDBを組んでおります。
877初心者B:02/04/02 08:23
>>870
Windowsタスクに登録すれば?
878デフォルトの名無しさん:02/04/02 10:08
今日の朝Builder6届いたんだけどこれも認証あるのかな?
認証あった方が嬉しいんだけど。
>>878
なんで嬉しいの?
880デフォルトの名無しさん:02/04/02 13:18
>>879

割れ物使ってる会社がヒィヒィ言い出すから

まあボーランドの認証はあってないような物だけど俺が嘘ついて
「15日経過すると使えなくなりますよ」って脅す。
881社長:02/04/02 13:32
>>880
ちみ、転勤ね。
>>876
LightRep
>>880
パーソナル使ってライセンス違反してる会社なら知ってるけど、
割物使ってるような会社が存在するのか?情けないね、倒産してみたら?
>>883 まあ会社ってさあ 社員雇ってると毎月必ず給料払わなければならないんだよ
 やってみれば判るけど、これってスゴイプレッシャーだよ。
 たいていの人間が起業したらトイレで流す水までウルサク言うようになるさ
 人売会社でもやれば別だけどさ
>>884
だからってやっていい事と悪い事がある。 【タイーホ!
まるで政治家みたいだな。
>>853
いまさら遅いと思うけど同じ所で詰まったので・・・
あのページの下の方でサンプルをダウンロードできます。

で、ダウンロードしたやつを開いてみるともう少し微調整が必要なことが分かります。
888デフォルトの名無しさん:02/04/02 16:46
Delphiで顧客データを扱うソフトを作らなくちゃいけないんですが、
どのようなDBがお勧めですか?
出来るだけ配布時に手間のかからない物が良いです。
BDEのインストールとかは避けたいですね。

実行ファイル単体で動く物にしたいと思います。
csvにしようかと思ってるのですが、中が丸見えだし・・・。

何かオススメありますか?
>>888
1000件程度なら普通にバイナリで保存しろ、適当な圧縮ライブラリ
拾ってきて使ったら、簡単な暗号化にもなるぞ。
んで、起動時に前件メモリに読み込んじゃえ。早いぞ!
890デフォルトの名無しさん:02/04/02 17:23
前の派遣先でVB使ってたんだけど、そこの一人がDelphi6Personal使って一部GUI作って
そのま納品してたよ・・・これってライセンス違反だよね?バレル可能性はあるの?
891デフォルトの名無しさん:02/04/02 17:25
>>890
あとでプロフェッショナルで組み直せば何ら問題なし。

>890
その人がその仕事で直接・間接的に給料をもらってなければ
良いんじゃない?

というか、これ「他人がやってる事だけど…」と言いながら
自分がやってることがばれるかどうか不安で書き込んでるじゃ…
>>849-851
MyBaseのレス、ありがとです。
確かにParadoxって手もありだが現行パッケージって売ってたっけ?
リンクして他の事もしたいのでMyBaseでやってみます。
でもレスが少ないとこみると、やっぱ使ってないんだろうね・・・
>>893 やくざさんへ

皆が言ってるパラドックスは Paradoxテーブルを使って勉強しろという意味だと思うぞ
Demosにあるだろ? あれを見てみたら?
おい、お前ら、マウスのホイールについて教えてください。

ホイール1単位回したときにスクロールする行数はMouse.WheelScrollLinesで取得できるけど、
1単位回したら一ページ分スクロールする設定であることを調べるにはどうすればいいんだ?
レジストリ見るしかないのか?
>>895
俺たちは、アプリ側でiniファイルを作成して独自に設定するようにしています。
>>891
開発自体が業務だから、問題あるだろ!ゴルァ!
898デフォルトの名無しさん:02/04/02 22:40
>>888
どの程度のデータを扱うのか知らんけど、
MySQLあたりはどうかな?手軽で早いよ。


899素数2:02/04/02 23:16
天本英夫って生きてたんだ・・・
900素数2:02/04/02 23:16
済みません・・・・↑誤爆です
901デフォルトの名無しさん:02/04/02 23:30
そろそろ次スレ準備しておいて!

早めによろしく! >やさしいモナー
902デフォルトの名無しさん:02/04/02 23:39
自作メモコントロールを作りたいのですが、
IMEの変換ウィンドウを指定した場所に持ってくるにはどうすれば
良いのでしょうか。
>>902
IMM系API
>>902
SetImeCompositionWindow
905Delモナー ◆fPymXWHY :02/04/02 23:49
>>901
  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 分かりました。
 (    )  \________________
 | | |
 (__)_)

次も立てさせてもらうよ。
すでに多少準備はしてあるんで。
906( ´∀`)さん :02/04/03 00:14
DelphiのPersonal版を製品版で買うのはお金がもったいないですかね?
やっぱり無料で手に入れる方がいいんですかね?
907素数2:02/04/03 00:24
4800円だから買ってもいい気がするけど。言語ガイドついてくるし
わざわざ店に出向いたり、注文して届くのを待ったりするより
ADSLでサクッと無料版落とした方が良いと思う。
言語ガイドはPDFだけど付いてるし。
言語ガイドを本にするためだけに4800円払うのはどうかと。
909素数2:02/04/03 01:24
あっ、PDFでついてるんだ・・・知らな買った。
>>893
ParadoxはDelのPro以上なら普通に作成して使えるよ
(データベースデスクトップは製品版Paradoxのサブセット)
ローカルデータベースとしては十分に高性能
911別に作るワケじゃないが:02/04/03 01:54
「解説・説明サイト」で使ってるデルファイの画像って無断なのかな?
いちいち断って使ってる人っているのかな?
つーか、気にするもんでもない?
やっぱりやり方ってスクリーンショットがあると無いでは大違いだと思うんだな。
アプリケーションの実行時画面のスクリーンショットにも著作権あるの?
ゲームとかならあるみたいだけど…
913デフォルトの名無しさん:02/04/03 02:05
>>906
CDも無料で貰えるよ
Borlandに申し込んでみてん
初心者ならCD付き解説書を買うのが良いかも。
915デフォルトの名無しさん:02/04/03 02:14
カーソル座標を取得したいんですが、以下のコードで
どこが間違ってるのか教えてください。Del6Personalです。

procedure TForm1.Memo1Click(Sender: TObject);
var
   i: Integer;
   p: TPoint;
begin
   Memo1.Perform(EM_GETSEL, 0, LPARAM(@i));
   Memo1.Perform(EM_POSFROMCHAR, WPARAM(@p), i);
   Caption := IntToStr(p.X) + ',' + IntToStr(p.Y);
end;
916デフォルトの名無しさん:02/04/03 02:26
ListViewで、OwnerDataを使ってるときにCheckBoxの表示は出来ないのでしょうか?
917デフォルトの名無しさん:02/04/03 03:11
>>915 EM_POSFROMCHARは、
     WParamに文字位置を入れて、LParamには0を入れます。
     で、戻り値にXとY座標が16bitずつ分かれて返ってきます。

DWord p = Memo1->Perform(EM_POSFROMCHAR, i, 0);
Caption = IntToStr(LOWORD(p)) + ", " + IntToStr(HIWORD(p));

(Delphiで書くとたぶん間違えるのでC++で書いてます)
918915:02/04/03 03:24
>>917
ありがとうございます。私もたった今わかったので、自己解決レスを
書き込もうと思ったら、>>917さんのレスが...。
Del6付属のWinHelpにも、BorlandサイトのTipsにも

>WParamには、TPoint型の変数へのアドレスを渡します。

と書いてあるので、すっかり騙されてました。
Borlandもお茶目なことしますね。(w
ボーランド、品質が落ちたな。
>>918
>Borlandもお茶目なことしますね。(w

MS 製のヘルプが間違っていた(過去形)ことが原因
責任は転嫁するもの。
922初心者B:02/04/03 08:23
質問です。
 TStringsから適当な行を取り出すことは出来るようになったのですけど、
 stringから適当な文字を取り出すにはどうやるのでしょうか?
>922 pos と copy を使います (マルチバイト文字用のもある)

var s:string;
var n:integer;

s:='適当な文字';
n:=pos('な',s);
result:=copy(s,n,High(Integer));
924( ´∀`)さん:02/04/03 08:31
>>913
DelphiのCD無料で貰えるんですか?
>>910
MyBaseを差してるのだから、BDE無しに興味があるんじゃないのかな?
あいにく僕は、D5proしか持っていないのでそれ以上のコメントが出来ないが・・・
>>923
Posなんか使わず全部AnsiPosにしる!



…今ソース公開されてるけど1Byte文字しか考慮されてない
コード直してる最中なんだよぅ(;´Д`)
927デフォルトの名無しさん:02/04/03 10:07
>>924
もらえるよ
スターターキットって言うの
928888:02/04/03 10:10
機能質問した>>888です。

1000件以上データが有る場合はやっぱりデータベースが良いのでしょうか?
2000件くらいになりそうなんですが・・・。

配布に手こずらずにもっとも手軽に扱える物って無いでしょうかねぇ・・・。
>>928 どんなふうにしたいかによると思うけど
1000件でもデータベース機能を使えば TDbGridが使えるし
SQLが使えるから検索・抽出はとても楽だ
自前でやると、そういうのを作らなければいけない。

まあ、作るのはたいした事ないけど
自分の勉強を兼ねてという事ならSQLくらい使えるようにならないとさ

930デフォルトの名無しさん:02/04/03 11:10
えと、自分のアプリでしかつかわないデータを、
楽に管理したり表示したり編集したりするために
DBコンポーネントを使いたいのですが、
そういった場合でも利用者側のPCに
BDEをインストールしなければならないのでしょうか。
>>930 D5pro 迄ならそうだね ent 又は D6proなら MyBaseがあるだろう
932デフォルトの名無しさん:02/04/03 11:29
>>930
たぶん駄目。
BDEやめて欲しい・・・。
933デフォルトの名無しさん:02/04/03 11:31
>>931
MyBaseは配布時によけいな物付けなくて良いの?
商用じゃ無いから問題ないと思うけど

実行ファイル以外によけいなものくっつけるのいやだし・・・。
D6Pro持ってないから具体的には知らんけど
http://www.borland.co.jp/kylix/db/benefits.html

>アプリケーションを配布する際にも、面倒なコンフィギュレーションを必要としません。
>クライアントには、実行ファイルを配布するだけです。

>MyBase を使っても、アプリケーションのファイルサイズは 300K バイトしか増えません。
>MyBase は、他のデータベースエンジンファイルを必要としないため、アプリケーションを容易に配布できます。
935デフォルトの名無しさん:02/04/03 11:46
TForm を独自拡張した TFormEx を使いたいとします。

IDE のツールバーにある「新規フォーム」で、この
TFormEx を出すようにするにはどうすれば良いでしょうか。
>>935 常にという事ですか? リポジトリに登録して利用するんじゃなくて
よく判らんけど
”デフォルトの新規フォームを指定する”
でヘルプをひいてみたら
938デフォルトの名無しさん:02/04/03 11:56
>>934
Delphi6proなんだけどMybaseって言うのが見あたらない

別途インストールしなくちゃ駄目なのかな
939デフォルトの名無しさん:02/04/03 12:05
DBGrid使うだけでも配布にBDE必要なんですかね?
>>938 某のサイトで Kylixの使用レポートを丹念に読むといいよ
>ClientDataSetをフォームに張り付けて、名前をDSetにしましょう。
>MyBaseとして機能させるにはFieldDefsをクリックしてそれぞれフィールドを追加し、
>右クリックで作成することでできます。
>>939 データセットに BDE以外のもの 例えばMyBaseとか使えばそういう事はない

他には
http://www.torry.net/db_text.htm
942Delモナー ◆fPymXWHY :02/04/03 12:22
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. 新スレ立てました。
 (    ) .| ただし、このスレが980に行くまでは、
 | | |  | 新スレはsageておいて下さい。
 (__)_)  \_________________________

新スレはここ
モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/test/read.cgi/tech/1017803412/
書き込みに一部失敗しました。スマソ。

このスレの終わりが近くなったらもう一度知らせます。
>>933
前にギコスレに書いた気がするが
MyBase(TClientDataSet)を配布するときはMidas.dllが必要になるが
MidasLib.dcuとスタティックリンクすれば実行形式のみで配布できる。
>>942
GoodJob!!

> 3と4が逆になってしまったー!!!
> >>3-4は逆にして読んでください。
これくらい(゚ε゚)キニシナイ!!

こういうシリーズ物のスレ立てるツールってあれば便利なのにねぇ。
>1から>nまで、だーっと一気にnGetされることもなく書き込んでくれるヤツ。
945Delモナー ◆fPymXWHY :02/04/03 12:54
>>944
ありがとう。
一応クリップボードのユーティリティを使ったが・・・。

あと、新スレの3
http://pc.2ch.net/test/read.cgi/tech/1017803412/n3
を30行に収めたつもりなのに、最後に余計な改行を入れてしまった・・・。
省略されてるよ。失敗。
946デフォルトの名無しさん:02/04/03 13:00
なんかDB使うの面倒になってきた
csv使っちゃおうかな

でもデータ容量がもの凄いあるし・・・

アクセス使えないかな・・・
DelphiでDBはFireBird+IBXが最強、只だし
948デフォルトの名無しさん:02/04/03 13:03
>>947
BDE無しでいける?
>>948
いける
アプリの配布はFireBirdのインストーラを別にすれば
exeだけでOk
950デフォルトの名無しさん:02/04/03 13:11
>>949
出来れば別のインストーラーも無しで行きたいけど・・・
FireBirdって言うのでやってみるよ
951ソケット ◆NIEdbLqs :02/04/03 13:13
いきなりですが
DelphiでSAPIを使い方等があるサイトありませんか?
>>950
ADOはだめなのれすか
954デフォルトの名無しさん:02/04/03 13:25
>>952
VBの時はADO使ってたんです
MDB(Access)を使って
そういえばDelphiでもAdo使えたんだ
955デフォルトの名無しさん:02/04/03 13:26
DelphiのAdoは不要な物をインストールとかしなくて良いんですかねぇ。
VBの時はAccess入ってないユーザーが使えないために7MBくらいのインストーラ作った覚えが・・
>>950
FireBirdのインストーラもただのexeファイルだし
(CD-Rにでも焼いておいて最小クライアントで一度インストールすれば終わり)
InstallShieldを使う必要もないから配布はとっても楽だよ
>>946 どうめんどくさいの?
>>955
漏れはいまADO(Access2000)で作ってるけど
BDEいれるよりはいいかなーてくらいで選択。
MSからダウソロードしる!とかいっても通用しそうだし(w

よくわからんけど、Win2kとかなら標準で入ってるのか?>ADO
FireBirdって2.6Mしかないのか・・・
すげー魅力的だな
961デフォルトの名無しさん:02/04/03 13:49
で、結局どうしたらイイですか?

・配布時にexeファイル以外不必要とする。(データベースのデータファイルは別)
・件数が1000や2000件行っても大丈夫。
・Delphi6proで扱える。
・出来れば中を見られない

この条件に当てはまった物です。

もうMybaseやらBDEやらAccessやらでぐちゃぐちゃです。
>>961 では宣託を与えよう

キミは MyBaseを使いたまえ
963デフォルトの名無しさん:02/04/03 14:05
>>962
そういえばMyBaseってSQL機能持ってないですよね
>>963 yes
965デフォルトの名無しさん:02/04/03 14:12
>>964
ぎゃふん!
966デフォルトの名無しさん:02/04/03 14:14
一応ファイルを開くところまで行ったんですが・・・
データベースファイルってどうやって用意すれば良いんですか?
作り方です。

Adoの時はMDBをそのまま開いてたしアクセスで作成出来ましたけど・・・。
>>966 MyBaseがどうたらいう人ですか? なら 名前欄で判るようにお願いします
MyBaseの話なら >>940

一般的には BDEなら 付属の DataBase DiskTop で作るのが簡単でしょう
 後、SQLが使える人なら SQLのCreate文を用意しておけば色々と楽です。
968初心者B:02/04/03 14:38
>>923
では、文字列のN番目の文字の抽出方法を教えて下さい。
>>968 VBと同じようにやりたいなら AnsiStringsではなく 一旦WideStringにして使うといいよ
970DB:02/04/03 14:51
>>967
名前付けました

やっぱりcsvなどのカンマテキストで数千件のデータを扱うのは無謀でしょうか?
>>970
 無謀ではないと思いますよ。
 ただ他人から見ると、検索とか一覧とか作り込む程になんて無駄な労力をかけてるのだろうかと

 一度 データベースコントロールを触ってみてから判断するといいでしょう
972DB:02/04/03 15:07
>>971
だってexe以外に余計なものくっつけて配布出来ないし・・
MyBaseなら大丈夫なんだっけ?

やってみるよ。
973デフォルトの名無しさん :02/04/03 16:18
ちょっとしつもん。Del5で、TComboBoxなのですが、
StyleをDropDownやDropDownListのままで
各行の色を変えたい(DrawItemを呼びたい)のだが、どうすれば良いですか?

切り口だけでも教えてください。
974デフォルトの名無しさん:02/04/03 16:45
オーナードローを使いましょう。
OnDrawItem とかそんな感じのイベントがあるから、
Rect などの引数を元にして Canvas に描けばよいです。
975デフォルトの名無しさん :02/04/03 17:05
>743

OnDrawItem イベントは,Style プロパティが csOwnerDrawFixed か
csOwnerDrawVariable の場合にのみ発生します。

なんですよ。なので、StyleがDropDownのままだと、
イベント自体が上がってこないのよ。

一応TWinControlからTCustomComboBoxの真似て作ってるんだが。
どうにも、思うようにならないのよ。
976973:02/04/03 17:12
>975 の >743 は >974 の間違いですな。
>975⊃>974≠>743
978デフォルトの名無しさん:02/04/03 17:48
ZLibを使おうとおもい、サンプルコードを書いたのですがナゼかエラーがおこります。どうしてでしょうか。

uses ZLib;
{ Edit1 〜 Edit5 と、Memo1、Button1 を配置する }
{ Edit1 に文字列を入力して Button1 をクリックすると、
Edit2 に圧縮前のバイナリ、Edit3 に圧縮後のバイナリ、Edit4 に展開後のバイナリ、
Edit5 に展開後の文字列が表示される。Memo1 にはサイズが表示される. }
procedure TForm1.Button1Click(Sender: TObject);
procedure ReportFmt(Fmt:string; Params:array of const);
begin
Memo1.Lines.Add( Format( Fmt, Params ) );
end;
var
P:PChar;
PSize, I:Integer;
POut:Pointer;
Ms:TMemoryStream;
begin
{ ストリームに文字列を読みこむ }
Ms := TMemoryStream.Create;
P := PChar( Edit1.Text );
Ms.Write( P, Length( P ) );

{ 圧縮 }
ZLib.CompressBuf( Ms.Memory, Ms.Size, POut, PSize );

{ サイズ報告 }
ReportFmt( '----------------',[] );
ReportFmt( '圧縮前 %d バイト', [Ms.Size] );
ReportFmt( '圧縮後 %d バイト', [PSize] );
979978:02/04/03 17:48
{ 圧縮されたデータをストリームに書き込む }
Ms.Position := 0;
Ms.Write( POut, PSize );


{ 圧縮前のバイナリを表示する }
Edit2.Text := '';
for I := 1 to Length(Edit1.Text) do
begin
Edit2.Text := Edit2.Text + UpperCase(IntToHex(Ord(Edit1.Text[I]),2))+' ';
end;

{ 圧縮後のバイナリを表示する }
Ms.Position := 0;
Edit3.Text := '';
while Ms.Position < Ms.Size do
begin
Ms.Read(P, 1);
Edit3.Text := Edit3.Text + UpperCase(IntToHex(Ord(P[1]),2))+' ';
end;

{ 展開する }
Ms.Position := 0;
ZLib.DecompressBuf( Ms.Memory, Ms.Size, 0, POut, PSize );

{ 展開されたデータをストリームに書き込む}
Ms.Position := 0;
Ms.Write( POut, PSize );
980978:02/04/03 17:49
{ 展開後のバイナリを表示する }
Ms.Position := 0;
Edit4.Text := '';
while Ms.Position < Ms.Size do
begin
Ms.Read(P, 1);
Edit4.Text := Edit4.Text + UpperCase(IntToHex(Ord(P[1]),2))+' ';
end;

{ 展開後の文字列を表示する }
Ms.Position := 0;
Ms.Read( P, MaxInt );
Edit5.Text := P;

Ms.Free;
end;
981Delモナー ◆fPymXWHY :02/04/03 18:00
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. このスレはまもなく終了します。
 (    ) .| 新たに質問をする場合は、新スレでどうぞ。
 | | |  | このスレはもうageないでください。
 (__)_)  \___________________

新スレはここ
モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/test/read.cgi/tech/1017803412/

>>978-980
長めのソースには、
ソース置き場用意したんで、そっちを使ってもらえたら・・・。
>>864 参照。
9821000:02/04/03 19:57
1000
埋め立て協力
984
985 
       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       | 埋め立て
       \
          ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
         ∧_∧
         ( ´Д`)
       /⌒    ⌒ヽ
      /_/|     へ \
    (ぃ9 ./    /   \ \.∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
       /    ./     ヽ ( ´Д` )< しますた
      (    /      ∪ ,  /   \_______
       \ .\\     (ぃ9  | ビシッ!!
        .\ .\\    /    /  ,、
          >  ) )  ./   ∧_二∃
         / //   ./     ̄ ̄ ヽ
         / / /  ._/  /~ ̄ ̄/ /
         / / / )⌒ _ ノ     / ./
       ( ヽ ヽ | /       ( ヽ、
        \__つ).し          \__つ
    ∧_∧            ((
   ( ´Д`)  ウメー       ) )
  /    \          ノ
  | |     | \        ((  ((
  | | /⌒|⌒|ヽ二二つ    )    ) 丿
  ヽ二二Ο./      \ (( (   ノノ
  (_| |_| |_       \ ∴∵
    .(__)__)       //》||ヾミ\
             __
            />、",:: …ヒマだし…
         ,.-!` <::
       /, ,、,、/,/::
        / ,>、''' /!::
      `´ノ `~ /::
        /,>' ノ::
       / /:::
     ( <::::
      |\\:::
    \ | ,!::\~!:
     _,! i、:: '-':
     '-‐'´\
          /⌒彡:::
        /冫、 )::: ・・・埋めとくか・・・
       __| `  /:::
      / 丶'  ヽ:::
     / ヽ    / /:::
    / /へ ヘ/ /:::
    / \ ヾミ  /|:::
   (__/| \___ノ/:::
      /    /:::
       v
      (゚ω゚) <そろそろ出番だな
     /(  )\        
      /'\
埋め
|  | ∧
|_|Д゚)
|文|⊂)
| ̄|∧| 992ゲト
993:02/04/04 00:06
    Λ_Λハッ!  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
__( ;´Д`)__< 9・・・994っ!
|  〃( つ つ   |  \_______
|\ ⌒⌒⌒⌒⌒⌒\
|  \           \
\  |⌒⌒⌒⌒⌒⌒|
  \ |_____________|
 あいやー
       v
     <(゚ω゚) <うっ!
      (  )\        
      /'>
       v
      (゚ω゚)> <はっ!
     /(  )        
       <'\
998998:02/04/04 00:11
       v
     <(゚ω゚)> <うっ!
      (  )        
      /'>
999999:02/04/04 00:12
       v
      (゚ω゚)/ <はっ!
     /(  )        
       <'\
10001000:02/04/04 00:12
     v       w
    (゚ω゚)/ \(゚δ゚)<ジーンギスカーン!
   /(  )    (  )ゝ
     <'\    / >

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。