モナーの *やさしい* Delphi質問スレ
レス数が1000を超えています。これ以上書き込みはできません。
0001DELモナ
NGNGDELモナは時に私であり、時には別の人。
他のスレに書き込んで罵倒される前に、まずここで質問しよう。
∧ ∧
( ´∀`)( )
0951デフォルトの名無しさん
NGNGお前らにはDelよりHSPのが合ってそうだな。
一回試してみろよ。きっと気に入るよ。
0952デフォルトの名無しさん
NGNGお前にはDelよりN88BASICのが合ってそうだな。
一回試してみろよ。きっと気に入るよ。
0953デフォルトの名無しさん
NGNGみんな見てると思うぞ。
実際役立つTipsも有るし、ネタが有る所は見るんじゃないかな・・
俺は役立ちそうなスレ片っ端からwgetしてNamazuしてる
# 繋いじゃうと何かと無駄な時間が・・・(笑
0954デフォルトの名無しさん
NGNG最近のレスといえば、H と q だけど、ご両人はあそこでは古株
だろう? だれのこといってんの?
もっともご両人ともここ見てるってことはあるよな。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNGオレはフサギコのキャラ好きだよ。
でも、このごろフサさん、忙しそうであまり出現しないんだね。
ちょっと、あのスレ、廃れ気味だよね。
がんばって、細く長く続けるのには異議なし! です。
09591000
NGNG0960デフォルトの名無しさん
NGNGvar
S : String ;
I : Integer ;
begin
I := Length(S) ;
end;
てな具合ですが、バイト数を求める版Lengthってありますか?
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGI := Length(AnsiString(S));
// 2バイト文字を1個としてカウントするので文字数がわかる
I := Length(WideString(S));
0964デフォルトの名無しさん
NGNG2で割ると文字数が分かるってのは知ってるが。
0965960
NGNG960のコードだと961さんがおっしゃるようにバイト数が求められました。
Lengthで文字数、バイト数ともに求められたのですね。
ありがとうございました。
0966デフォルトの名無しさん
NGNGヘルプまんまだよ....
0967デフォルトの名無しさん
NGNG以前はあたかも文字数を返すような説明だった記憶が・・・
0968デフォルトの名無しさん
NGNGアメ公には1バイトも1文字も同じ。連中にとっては Length は“常に”文字数を返すんだよ。
>>964
MBCS / 1バイト2バイト混在文字列の場合、「2で割ると文字数」とはならないぞ
0970デフォルトの名無しさん
NGNGそれを実現したいのですが、TListViewで配列の要素をPOPしたりPUSHしたり
SHIFTしたりってどうするの?TListViewのメソッドには無いですよね?
0971デフォルトの名無しさん
NGNG結局 Delphian World に登録されてる「CosoleApplication リダイレクト実行ユニット」
てのを改造して使いました。
stdin, stdout, stderr を string で受け渡しできます。
後で見つけたんで使わなかったんだけど、Torry's Delphi Pages に登録されてる
「DOSCommand v.2.0」ってのも良さそうでした。
0972デフォルトの名無しさん
NGNGソース見るかぎり全然良さそうじゃない
0973デフォルトの名無しさん
NGNG価値観の相違ですね( ̄ー ̄)ニヤリ
0974デフォルトの名無しさん
NGNGTStringsで処理
0975デフォルトの名無しさん
NGNGどういう風に使い分けてますか?
そもそもどうして2箇所に書けるようになってるんだろう。。。
混乱してます、誰かヒント下さい。
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNGなるほど、ありがとうございます。
ちょうど 975 を書いた後に循環参照でコンパイル出来ないトラブルに
当たってたところでした。
片方を implementation部に移しても問題ない場合は循環参照を回避
できるけど、両方の unit が interface部で互いを参照しちゃってるような
場合はどうしようもないんですね。
こういう場合は同一 unit に入れとけってことなんでしょうな。
なかなか Pascal も難しい。
0978デフォルトの名無しさん
NGNGこういう場合は「自分の設計が悪い」と思い込むことにしてます。
本当に設計が悪いのかは別にして。
0979デフォルトの名無しさん
NGNGクラスの参照なら TObjectを受け入れるようにするとか
09801000
NGNG0981デフォルトの名無しさん
NGNG次のスレどうするの?
それとも相談室に統合?
MLウオッチネタはどこにいけばいいのよ?
0982Delフサギコ
NGNG,,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < ちゃうがな。
UU"""" U U \_______________
>>978-979さんでガイシュツですが
抽象化って呼ぶのかどうかしらませんが
Unit1とUnit2で同じ型やクラスを使いたいなら
新しくUnit3を作ってそこに記述するといいです。
Unit3からはUnit1やUnit2の定義は参照しないように。
フサは自作でも他作でも
interfaceのusesは汎用クラスライブラリ
implementationのusesはそのアプリだけの処理ユニット
として使い分けてます。
汎用クラスライブラリ的にコードを書くと
ソースがきれいになりますよ。
0983デフォルトの名無しさん
NGNG>MLウオッチネタはどこにいけばいいのよ?
マ板に作って!
09841000
NGNG0985デフォルトの名無しさん
NGNG>>両方の unit が interface部で互いを参照しちゃってるような場合
>こういう場合は「自分の設計が悪い」と思い込むことにしてます。
>本当に設計が悪いのかは別にして。
設計が悪いかどうかは別にして、複数のユニット/クラスの依存関係が強い
ことは明らかだから、ひとつのユニットに押し込むか依存関係が強い部分を
抜き出してひとつユニット/クラスをこしらえる。
早い時期にやっておいたほうが跡で困るより楽だよ。
0986デフォルトの名無しさん
NGNGつくるなら、ML に特化しないスレタイトルをキボンヌ
09871000
NGNG0988デフォルトの名無しさん
NGNG// 1トラック目から最後までを再生し
procedure TForm1.Button1Click(Sender: TObject);
var
mpp: MCI_PLAY_PARMS;
begin
// 再生を終えたら MM_MCINOTIFYメッセージを送る
mpp.dwCallback:=DWORD(hWnd);
mpp.dwFrom:=MCI_MAKE_TMSF(1, 0, 0, 0);
mciSendCommand(wDeviceID, MCI_PLAY, MCI_FROM or MCI_NOTIFY, DWORD(@mpp));
end;
というのをやったらhWndのところで'エラーが出ました。
カッコの部分がおかしいというのですがhWnd(???)とするのでしょうか?
でもHWNDに引数はいりませんよね?
0989デフォルトの名無しさん
NGNG0990988
NGNGコールバック用のハンドルです。
Handle: HWND〜っていうやつじゃないから
手続きの外に cbHandle: THandle と定義しておいて
mpp.dwCallback:=DWORD(cbHandle); とすれば良いのですね。
0991975
NGNG>こういう場合は「自分の設計が悪い」と思い込むことにしてます。
そうっすね。Delphi、素人なんでよくわかんないんですが、クラス設計とは別に
unit設計のような作業が必要で、相互依存関係のあるクラスは同じ unit に入る
ように設計する必要があるのかなと感じています。
>>979
>相互に参照しあう場合はもう一段階 抽象化するといいと思う
手っ取り早くコンパイルを通すにはこれが簡単ですね。
俺も最初はこれをやってみました。片方の参照ををスーパークラスで定義して、
実際使う際にダウンキャストするってことですよね。
ただ、コンパイラの都合でクラス設計をいじるのは気持ちが悪い気もするです。
>>982
>フサは自作でも他作でも
>interfaceのusesは汎用クラスライブラリ
>implementationのusesはそのアプリだけの処理ユニット
>として使い分けてます。
なるほど、参考になります。
>>985
仰る通りだと思います、急がばまわれですね。
0992DELモナー
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1011649179/
0993デフォルトの名無しさん
NGNG/ ヽ ./ .∧
/ `、 / ∧ 993
/  ̄ ̄ ̄ ヽ
l::::::::: .l
|:::::::::: -=・=- -=・=- |
.|::::::::::::::::: \___/ |
ヽ::::::::::::::::::: \/ ノ
0994デフォルトの名無しさん
NGNG0995Hotkey995age!
NGNG0996Hotkey996age!
NGNG0997デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0998デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0999デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
1000デフォルトの名無しさん
NGNG/ ヽ ./ .∧
/ `、 / ∧ 1000
/  ̄ ̄ ̄ ヽ
l::::::::: .l
|:::::::::: -=・=- -=・=- |
.|::::::::::::::::: \___/ |
ヽ::::::::::::::::::: \/ ノ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。