トップページ⇒tech
1001コメント309KB

Delphi相談室その4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Delphi関連の Tips Q&A はこちら。

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

■気楽な雰囲気がよければこちら
モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/test/read.cgi/tech/1017803412/

つづく >>2-3 あたり
0153デフォルトの名無しさんNGNG
>>152 ただしその場合は、例外は出るので デバックRUNすると一旦停止してしまう
0154デフォルトの名無しさんNGNG
ミ゚ω゚彡
0155デフォルトの名無しさんNGNG
>>150
その問題を修正するには Update1 で十分。ということ。
Update2 を当てればより多くの問題が修正される。
なお Update2 は Update1 を含んでいるので、両方落とす必要はない。
回線が太ければ両方落としてもよいけどね。
0156デフォルトの名無しさんNGNG
フサギコさんはVBに移ったのですね。
0157デフォルトの名無しさんNGNG
 >>151 >>152 >>153 >>155
どうもありがとうです。

 >>151-153
例外っていうのが、よくわからないのですが、とりあえず>>152の様にやってみます。

 >>155
Air H"なので、Update1だけにしときまふ。
0158デフォルトの名無しさんNGNG
例外が出るのが嫌なら val を使って

var dmy1,dmy2:Integer;
・・・

val(Edit1.Text,IntBunshi[1],dmy1);
val(Edit2.Text,IntBunshi[2],dmy2);
if(dmy1<>0) or (dmy2<>0) then ShowMessage(E.Message);

と書く事も出来るよ。

ただし 動作は少し違う。
 Edit1でエラーでも Edit2の数字が代入されてしまう
0159デフォルトの名無しさんNGNG
 >>158
何故かE.MessageのEが未定義の識別子として怒られてしまうのですが。(苦笑
多分打ち間違えてないはず…???

Val() ってどうやって使うんですか?
>>151によれば数字かどうか判定するらしいですが、ヘルプを見てもサパーリわからなかったので。。。
0160デフォルトの名無しさんNGNG
>>159 ああ ゴメン
val(Edit1.Text,IntBunshi[1],dmy1);
val(Edit2.Text,IntBunshi[2],dmy2);
if(dmy1<>0) or (dmy2<>0) then ShowMessage('値が入力されていません') ;

val は数字なら 数字にして代入してくれて
数字でないなら 何文字目が数字でないと思ったかを3番目の引数で返してくれる

で3番目の引数が0かどうか見れば数字だったかどうかがわかるという事
0161デフォルトの名無しさんNGNG
>>159
前者
Exception(ExceptObject).Message
0162デフォルトの名無しさんNGNG
>>36さんのページを見てブラウザを作ってみようと
思うのですが、コンポーネントパネルのところに
Win32とか無いんです(激泣
無償版を落としたんですけどどうしてなんでしょう?
Standardはあるのですが、中にはFrameだけです。
それ以外のコンポーネントっていうのがありません。

おわかりになる方どうか教えてくださいです。
0163デフォルトの名無しさんNGNG
>>162 悩む前に再インストール
0164デフォルトの名無しさんNGNG
あ、HKEY_USERS\Software\Borland\Delphi\6.0 の内容を控えておいた方がいいよ

と書いて何の事か判らなければ、無視してね
0165デフォルトの名無しさんNGNG
>>163
再インストールしたら出てきました(あぅぅ
indyというのをインストールした際におかしく
なってしまったのかもしれないです。
今度は慎重にやってみます。
ありがとうございました。

>>164
すみません。
見る前にアンインストールしちゃってました。
今更遅いですよね?

お二方、厨な質問にお答え頂けてありがとうございました。
逝ってよし!と言われずに教えてもらえてよかったです。
0166デフォルトの名無しさんNGNG
   http://pc.2ch.net/test/read.cgi/tech/1019185100/
0167デフォルトの名無しさんNGNG
 >>160
キタ━━(´�D`)━( ´�D)━(  ´)━(  )━(´  )━(�D` )━(´�D`)━━!!!!!
その方法でできました。
感謝感謝!
Val の用法もよくわかりました。

でも、
Edit1.Text := Bunshi[1];
Edit2.Text := Bunbo[1];

if (Edit1.Text1 = '') or (Edit2.Text = '') then
ShowMessage('');

の場合にエラーが出るのが理解できていないのですが、
↑はどうして悪いのですか?
例外と言われてますが、何の例外なんですか?
0168デフォルトの名無しさんNGNG
>>167ですが、さきほど作ったものを、一つの実行ファイルとしてまとめてみようと思っています。
本によればInstallShield Express Borland Limited Japanese Editionという物を使うみたいなんですが、
それが見当たりません。
それは元々Delphiに付属しているものなのでしょうか?
付属しているとしたら、どこにあるんでしょうか?
0169デフォルトの名無しさんNGNG
>>168 ええと どう考えてもその段階でそれが必要になるとは思えないのですが

どれとどれをまとめようと思ったのですか?
0170デフォルトの名無しさんNGNG
 >>169
別に必要じゃないんだけど、試してみようと思って。
.pasとか.dfmとかあるでしょ?
それを一つにまとめられるんですよね???
0171パソナラーNGNG
(´-`)。o ○ (パソナルにインストシールドは無いよーん、と言ってみるか…)
0172デフォルトの名無しさんNGNG
激しく勘違いしてるね
0173デフォルトの名無しさんNGNG
>>170 .pas も .dfm もコンパイル前のソースであって・・・・・えい なんて説明すればいいんだ
0174デフォルトの名無しさんNGNG
>>170
もうすでにどこかに*.exeが出来てるはず。それを配布するだけ。
ただし、初心者は*.exeがどこにできるかわからんという罠。
0175デフォルトの名無しさんNGNG
>>170
http://www.geocities.co.jp/SiliconValley-Oakland/6548/
Lesson8参照
と再び自分のサイトを晒してみるテスト
0176デフォルトの名無しさんNGNG
 >>171-175
どうもありがとう!
実行ファイル、見つかりました。
自動で作成されてるとは…
知らない間にそのアイコン見てました。(苦笑

 >>175
おっ!
サイトがパワーアップしてる!
タブブラウザかぁ…( ̄ー+ ̄)
0177素数2NGNG
>>175 6proだとMicrosoft Internet Controlsが既にインストールされてるっぽいのでその旨書いて置いてくれると・・・
インストールできねー と悩んでしまったら internetタブに既に在った。
あと SampleIconフォルダ って何処にあるのでしょうか。検索掛けても見つからなかった・・・
0178デフォルトの名無しさんNGNG
>>177
ネタだろ。ネタだと言ってくれ。

Lesson6をもう一度、目を皿にして見直せ。
0179デフォルトの名無しさんNGNG
おー今初めて見たけど、>>175氏のサイト良いね。
0180デフォルトの名無しさんNGNG
おいおい、>>175 のページ理解りやすいですよ!
マジでマジで。
表彰したくなっちゃいましたよ。

んじゃ。
0181素数2NGNG
>>178 済まない、本気で解らないや・・・
0182素数2NGNG
と思ったら在りました<sampleIcon。
更新される前のキャッシュを見ていました・・・
0183デフォルトの名無しさんNGNG
>>175
(゚Д゚)ウマー
0184デフォルトの名無しさんNGNG
175氏、とっつきやすくてよかったよ〜。
0185デフォルトの名無しさんNGNG
(´-`)。oO(…175氏、塩は使わない方が…)

Yahoo!Geocitiesの新ガイドラインを考える
http://kaba.2ch.net/test/read.cgi/news2/1003331784/l50
(ほとんど保守書き込みな罠... 過去スレログとか読んだほうが(・∀・)イイ!です)
0186デフォルトの名無しさんNGNG
>>175
いいっすねえ。次はゲーム作り編とかやってほしいな。
0187175NGNG
おっ、好感触♥
俺自身素人なので、ひょっとしたら嘘教えているかもしれないという罠…

>>177
6proうらやますぃ…
じゃなくて、わかりました。書き足しておきます。

>>185
全然知らなかった…
もしジオでソフト公開したらどうなるんだろうか…
教えてくれてありがとです。
移転、検討します。

>>186
あっ、俺もゲーム編見てみたい。
でも俺はブラウザしか作ったことないので、まだ無理です…
0188デフォルトの名無しさんNGNG
use ComObj;
objExcel := CreateOleObject('Excel.Application');
with objExcel do begin

with objExcel do beginで
レコード、オブジェクトまたはクラスのいずれかが必要です
と怒られてしまうんですが、こういう使い方はダメ?

0189デフォルトの名無しさんNGNG
自分で変数を用意すれ。
0190デフォルトの名無しさんNGNG
でもDelはゲーム制作は効率悪いかもねえ
0191デフォルトの名無しさんNGNG
どこらへんが効率悪いんですか?
0192デフォルトの名無しさんNGNG
さぁ?
0193デフォルトの名無しさんNGNG
DirectX絡み?
0194デフォルトの名無しさんNGNG
VB絡み?
0195デフォルトの名無しさんNGNG
処理速度絡み?
0196デフォルトの名無しさんNGNG
>175氏
自分はDelじゃなくてBCBなんだけど、参考になったよ。
これからも更新頑張ってほしい。

サーバスペースだけど、自分鯖持ちだから用意できるっす。
で、連絡しようと思ったら連絡先が書いてない罠・・。
0197175NGNG
>>196
そういえば、メールアドレスとか書いてなかったっけ。
トップページに書いておきます。
ホントに貸してもらえるのなら、とても有り難いです。
でも、もし、「あれ?♥とか書いちゃって、こいつ女?」とか下心が有るのなら、アレです。
がっかりさせてごめんなさい。ちゃんとブランブランとした感じのが付いてます。
ついでに男食の趣味も無いです。ゴメンナサイ。
しかもヒッキーです。
それでもよければ、おながいします。
と、真面目にお願いしてレスが返ってこなかったら悲しいから、
違う角度から攻めてみたとか言ってみるテスト。
0198デフォルトの名無しさんNGNG
(*゚ー゚)b ぐっ!
0199デフォルトの名無しさんNGNG
( -_-)=○)'Д') グ゙ッ!

0200196NGNG
>197
>下心が有るのなら、アレです。
そんなんじゃないから大丈夫っすよーw
ついでに、男色の趣味ももちろんありません。

メールアドレス見つけ次第メールしますね。
0201Delフサギコ ◆zE1iiRdQ NGNG
  ,,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < しつもんっす。
  UU"""" U U    \_______________

FileExists('A:\')とか'A:'と入ると
> ---------------------------
> Sendtoinformation: SendToInformation.exe - ディスクがありません
> ---------------------------
> ドライブにディスクがありません。 ディスクをドライブ A: に挿入してください。
> ---------------------------
> キャンセル 再実行(T) 続行(C)
> ---------------------------
このような表示がされて迷惑なんで、、表示させたくないのですが
何か方法ありますか?
DirectoryExistsもダメだったです。

ディスクが入ってなかったらFileExistsにはFalseを返してホスイ

環境依存でしょうか?
0202デフォルトの名無しさんNGNG
SetErrorMode(SEM_NOOPENFILEERRORBOX);
かな。
0203デフォルトの名無しさんNGNG
>>202 が嫌なら
GetVolumeInformation の帰り値で判定するとか
0204Delフサギコ ◆zE1iiRdQ NGNG
      ∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ミ*゚Д゚彡<  サンクスコ!!>>202さん
      ミ⊃⊃   \
    〜ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ⊂'`J    ピョン
      ||
      ||
      ωωω
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
とりあえず、こっちで解決しました。
 SetErrorMode(SEM_FAILCRITICALERRORS);
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=042840

このエラーモードってアプリ内で有効なんだろか?
ErrorModeを元のままにしておきたかったら
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=042823
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=042822
ここが参考になったです。


Windows.pasには
const
 SEM_FAILCRITICALERRORS = 1;
 {$EXTERNALSYM SEM_FAILCRITICALERRORS}
 SEM_NOGPFAULTERRORBOX = 2;
 {$EXTERNALSYM SEM_NOGPFAULTERRORBOX}
 SEM_NOALIGNMENTFAULTEXCEPT = 4;
 {$EXTERNALSYM SEM_NOALIGNMENTFAULTEXCEPT}
 SEM_NOOPENFILEERRORBOX = $8000;
 {$EXTERNALSYM SEM_NOOPENFILEERRORBOX}
こんな風に定義されてるっすね。

>>203さん
GetVolumeInformation 調べてみます。
0205デフォルトの名無しさんNGNG
ネームプレース
0206デフォルトの名無しさんNGNG
あら、おかげで俺もやりたい事のやり方がわかった。
ドライブ一覧の取得をしたかったんだけど、
GetLogicalDriveStrings
で出来るっぽい事がわかった。

>>201-204
サンクスコ!
0207デフォルトの名無しさんNGNG
c++とdelphiの型や構文の対応表が載っているようなページがどこかにあったと思うのですが、
URLを忘れてしまいました。誰か知ってる方がいたら教えて欲しいのですが。
0208デフォルトの名無しさんNGNG
>>207ですが自己解決しました。
http://hp.vector.co.jp/authors/VA014436/prg_memo/delphi/c_d.html
http://www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
http://homepage1.nifty.com/susho/windoze/datatype.html
http://www2d.biglobe.ne.jp/~katsu_k/borland.html
他色々ありました。
0209Delフサギコ ◆zE1iiRdQ NGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
追加しときました。

        ∫
   ∧,,∧ ∬       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ,,゚Д゚ノ,っ━~  < パクリぺーじは元ファイルに直リン。
_と~,,,  ~,,,ノ_. ∀  \_________
    .ミ,,,/~),  .| ┷┳━
 ̄ ̄ ̄ .し'J ̄ ̄|... ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄   .┻ 堂々とパクるのはいかがなものかと。
0210Delフサギコ ◆zE1iiRdQ NGNG
それにしても、>>201の現象が起きるマシンと
起きないマシンがあって...同じ、Delphi6コンパイルのWin2kProだが。。。

   ∧,,∧    /
  ミ,,゚Д゚彡 <  どういう環境依存なんだろ?
   ミつ つ゛  \
 @ミ  ミ      
   ∪''∪     ま。いっか。

んで、ERRORMODEは
 SEM_FAILCRITICALERRORS = 1;
 SEM_NOOPENFILEERRORBOX = $8000;
どっちがええんや?
0211デフォルトの名無しさんNGNG
クラスの構成要素に、フィールド・メソッド・プロパティと3つあるそうですが、
フィールドは何となくわかりました。
メソッドとプロパティってどういうもので、例えばどういう風に使うんですか?
0212デフォルトの名無しさんNGNG
>>211
言語ガイド嫁
0213デフォルトの名無しさんNGNG
>>211

>例えばどういう風に使うんですか?

つ、使ったことないの?
0214211NGNG
使ったことないっす。(汗
最近「Borland Delphi 6 オフィシャルコースウェア応用編」っていう、
アスキーから出てる本を読み始めたんですけど、最初にその内容が出てきて挫折。(泣
0215デフォルトの名無しさんNGNG
最初に基本的な事を理解しようとするより、
まず何か作ってみる方がいい気がする。
色々調べながら必要な知識を吸収していくうちに、
基本的な事も少しずつ分かってくるし、そういうやり方の方が遣る気を持続出来る。

0216デフォルトの名無しさんNGNG
少し前迄は CDROMにDelphi1が入っていた。
このDelphi1にはコーチというのが付いていて、
操作しながら覚えるというような形式のものだった。

今ついていたとしても NT系では動かないから 2000とか XPでは動かないだろうけど
こういうのをまた作ればいいのになあ・・・
 それかオンラインソフト的に2千円程度で
0217211NGNG
そ〜いうモンなんですかねぇ?
でも知識がないので、作りたい物が作れないっす!(泣きぃ
今は時計が作りたいんですがね。
関数とかわからないんで、無理みたいです。(プ
Delphiの予約語の辞典みたいなのが欲しいところです。
そんなもんは存在してるんですかね?
書店には無かったんですが。
0218デフォルトの名無しさんNGNG
http://www.text2music.com/mine/delphi/3.html
時計が作りたいなら、まずはこことか。

時間に関する関数はヘルプの
VCLリファレンス
 ルーチン一覧(カテゴリ別)
  日付時刻ルーチン
に載ってるよ。
0219211NGNG
|o∈
|  ・・・・

|ハヽo∈
|�D`) …コソーリ…

|ノハヽo∈
| ´�D`)<>>218しゃん、ありがとうれす

| サッ
|彡
0220211NGNG
時計を作ってみたのですが、以下の機能を拡張したいのでアドバイスください。

一、 フォームを透明化にしても、ラベルの文字が透明化されない方法

一、 実行時にフォームを常に一番前に表示させる方法

よろしくお願いします。
0221デフォルトの名無しさんNGNG
またしてもイタイやしが現れたな

>>211はなによりもまずDelphiについてるヘルプをよく読むことだな
フォームの透明化〜はどうやって透明化してるかによる
フォームを一番手前はフォームのプロパティにある
0222211NGNG
イタイやしですまそ。
Delphiのヘルプは難しいからなぁ。
読めるようになったら読みますぅ。

フォームの透明化はフォームプロパティのAlphaBlendとAlphaBlendValueでやっておりまする。
一番手前…あったあった♪

それと話戻るけど、メソッドはわかったじぇ!
よく使う処理とかをまとめておいて、値を受け渡したりできるっていうのだよね?
VBでいう、凡用プロシージャみたいな。
0223デフォルトの名無しさんNGNG
もう来なくて良いよ。
0224211NGNG
はい・・・
0225デフォルトの名無しさんNGNG
>>222
 メソッドは クラスに対して指示するのに使います。

 クラスメソッドと間違えないようにね・・・・なんて混乱させてみる。
0226デフォルトの名無しさんNGNG
>>211
モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412/l10
こっちの方がいいんじゃないの?「やさしい」だからして(藁
つーか、
>メソッドとプロパティってどういうもので、例えばどういう風に使うんですか?
↑これが、どーゆー意味で書いてるのかが分からん。
0227デフォルトの名無しさんNGNG
なんか、>>222見てると、VBにはメソッドも、プロパティもないみたいに見えるんだけど・・・。
0228211NGNG
 >>225
とりあえず、メソッドはオブジェクト内部で定義された関数・手続きらしいね。
理解できないけど。(プ

 >>226
Valを説明してくれてる>>160の様に日本語の説明と具体的な使い方が知りたかったのれす。

 >>227
う〜ん、ごめんなさい。
VBだと、Form1.Line x1, x2 y1, y1 みたいなのはメソッドって言いますよね?
プロパティはプロパティウィンドウに表示されてるヤツがそうだけど、他にもあるんですよね?(泣


も っ と わ か り や す い 本 買 っ て き ま す 。 。 。
0229デフォルトの名無しさんNGNG
さっぱり分からないのに「応用編」を買うのが間違い。
0230デフォルトの名無しさんNGNG
>一、 フォームを透明化にしても、ラベルの文字が透明化されない方法
ラベルの文字を一度ビットマップに書き出して、
それをスキャンしてリージョンを生成するのが一番手っ取り早い。
小細工みたいな方法だと、所詮実行結果も怪しい(「遊ぶDelphi2.0J」みたいに)
0231デフォルトの名無しさんNGNG
うーん ためしにやるには便利だろうけど
AlphaBlendとAlphaBlendValue では遅いし環境依存だし
自前で処理する方法考えた方がいいんじゃない?
0232デフォルトの名無しさんNGNG
>>228
だ か ら 、 メソッドも、プロパティも ヘ ル プ に書いてあるって言ってんだろうが!!!
0233デフォルトの名無しさんNGNG
>>228
VBわかるみたいだから、とりあえず、VBユーザーの為のDelphi入門、みたいな本が
あったと思うから、そういうの見たほうがいいのでは?
持ってないから内容に関してはなんともいえないけど。
0234名無しヘタぐらま ◆B18Bks.Y NGNG
>>228
プロパティもメソッドもVBのとほとんど同じです.

<PRE>
procedure TForm1.Button1Click(Sender: TObject);
begin
// 実行時にプロパティを読む,書く例
Edit1.Text := '「' + Edit1.Text + '」 ナンテシラネーヨ! ウワァァァァン!!';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
// Clear メソッド
Edit1.Clear;
end;

</PRE>

VBでもこれとそっくり同じことができる(はず).
0235名無しヘタぐらま ◆B18Bks.Y NGNG
>>234
あれ? PRE タグって埋められないのか(^^;恥ずかしい(///).
2ちゃんでのタグの使い方ってどこに行けばあるのでしょうか….
0236211NGNG
>一、 フォームを透明化にしても、ラベルの文字が透明化されない方法
結構複雑なんですね。(^^;)

>>232
読んでくれ := >>222.Lines[3];
0237デフォルトの名無しさんNGNG
ヘルプも読めんやつが読んでくれとかぬかすな市ね
0238デフォルトの名無しさんNGNG
要するにVB馬鹿か。
0239デフォルトの名無しさんNGNG
あ、238>>さん馬鹿は、いけません
0240デフォルトの名無しさんNGNG
要するにVB馬鹿か。
0241デフォルトの名無しさんNGNG
あ、240>>さん馬鹿は、いけません
0242デフォルトの名無しさんNGNG
要するにVB馬鹿か。
0243デフォルトの名無しさんNGNG
要するにVB馬鹿か。   
0244デフォルトの名無しさんNGNG
あ、1-1000>>さん馬鹿は、いけません
0245外人NGNG
ヨォウスルゥルーニー、ヴィビィブァカァカ。
0246デフォルトの名無しさんNGNG
要するにVBマヌケか
0247デフォルトの名無しさんNGNG
一応、ネタスレじゃないのでマジレスしときます。
Cマガジンの2001年7,8月号にVBからDelphiへの移行(移植)の記事があります。
参考になると思うのでバックナンバーを取り寄せてみてはいかがでしょう。
0248デフォルトの名無しさんNGNG
今までDelphi Personalを使ってたが、Delphi Enterpriseを買った。
やっとインストールが終わり起動してみる。
やたらと時間が掛かる。まぁ、他にもいろいろアプリ動かしてるから当たり前か。

そして翌日、パソコンを起動して、一番始めに起動してみる。
おっせぇぇぇぇぇぇぇ〜〜〜〜〜!!!
どうやら我が家のCPUがヘナチョコなだけだったらしい。
でもせっかく買ったものだし、起動さえすれば困ることはないのでいろいろ頑張ってみることにする。

これだけだ、特に意味は無い。
0249デフォルトの名無しさんNGNG
えんたぁぷらいず・・・・・
(((( ;゜Д゜)))))ガクガクブルブル
0250デフォルトの名無しさんNGNG
Enterprise買う金でパソコン買え
0251デフォルトの名無しさんNGNG
さては>>248は立地万だな?
0252デフォルトの名無しさんNGNG
起動時にデフォルトで読み込むコンポーネントの数減らせば起動早くなりませんか?
■ このスレッドは過去ログ倉庫に格納されています