モナーの *やさしい* Delphi質問スレ
レス数が1000を超えています。これ以上書き込みはできません。
0001DELモナ
NGNGDELモナは時に私であり、時には別の人。
他のスレに書き込んで罵倒される前に、まずここで質問しよう。
∧ ∧
( ´∀`)( )
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGそれとも別系統?
0004デフォルトの名無しさん
NGNG昔はあのスレ居心地よかったのにねえ。
最近は見る気もしないヨ。
0005デフォルトの名無しさん
NGNG一緒にすると、また荒らされそう。
0006デフォルトの名無しさん
NGNG昔はDelスレ居心地よかったのにねえ。
最近は見る気もしないヨ。
00071
NGNGは「やさしく答えてくれる」という意味でも有り
「あまり難しい質問には答えられない」という意味でも有りマする。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG初心者
と書いてないような。
0010デフォルトの名無しさん
NGNGタイトルが違うんだから、似たような趣旨のスレ立ててもいいだろ
という主張ですか?
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG「ヘルプ」の「トピックを検索」で
単語を入力しても一覧に現れないんです。
'ExtractFilePath' とか 'TStrings' とか。
そのくせ、エディタ上で TStrings と書いてから F1 を押すと
ちゃんとヘルプが表示されます。
なんとかなりませんか。
0014デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGそういう問題なの?
0017名無しさん
NGNGWindows 95,98,および Millennium の Windows ヘルプエンジンは,
[トピックの検索]ダイアログの[キーワード]タブに 16 ビットのリストボッ
クスを使用しているので,32,767 語を超えるキーワードを表示できません。こ
の制限値を超えるエントリがある場合,[キーワード]は空白になります。これ
らのいずれかのオペレーティングシステムを使用している場合,ヘルプイン
デックス制御ファイル (Delphi6.ohi) に変更が加えられて,[キーワード]
表示からいくつかのヘルプファイルが除外されていることに気がつくことで
しょう。この変更は,ほかのヘルプシステム機能 (たとえばファイルの相互リ
ンクや〔F1〕キーによるアクセス) には影響しません。さらに,":Index" エン
トリの前にコメントを示すセミコロンを追加したり削除することで,インデック
スを拡張したりほかのヘルプファイル参照を追加または削除できます。ただし,
.OHI ファイルを編集する場合は,キーワード表示が空にならないように,
WinHelp ビューアの制限に注意してください。
(readme.txtから抜粋)
0018デフォルトの名無しさん
NGNG文章にメリハリが無く、ただ翻訳しただけの文体です。
技術文書なのですから、原因と結果、対策をはっきり分けて書きましょう。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNGそのあと Delphi6.gid を削除。.gid は隠し属性が着いているので
ちゃんと削除すること。
その後 IDE を起動すればよし。
0022デフォルトの名無しさん
NGNGインデックスからキーワードが全て消えました…
0023デフォルトの名無しさん
NGNG0024ななしヘタぐらま
NGNGなにぃ!?
ということは,Win9x系の環境では
[F1]キーでのヘルプはできるけど
自分でキーワードを打ち込んでは使えない
ってことですか?
だとしたら最悪(泣).
Delphi6への移行はコンピュータを更新するまでナシだなぁ.
0025Delあめ猫にゃ
NGNGじゃなくて、ヘルプのキーワードが大きすぎるとwin9xはタコだから表示出来ないけど、
ohiはテキストファイルだから
自分で
必要なの選んでねって事。
自分でやるの嫌なら ohx って拡張子であんまり使いそうもないの消しといたから
それコピーして使ってねってのが >>21さんの説明
0026デフォルトの名無しさん
NGNGてっきり文章中でキーワード属性にした単語を
自動収集しているのかと。見てみよう。
0027デフォルトの名無しさん
NGNG.GID/.Fxx これらのファイルはヘルプによって自動的に生成されるファイルです。
GID は General Index ファイルを示し,
Fxx ファイルは,全文検索を実行したときに生成されるファイルです。
ヘルプシステムの設定を変更したり,更新する場合は,これらのファイルを
削除することをお勧めします。
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGください
0032デフォルトの名無しさん
NGNGPersonal は元からヘルプが少ないからキーワード表示できるし…(ボソ ボソ
0033デフォルトの名無しさん
NGNG買いましょう。
金がない?
放送大学に入ってアカデミックパック買い漁れ!!
以上。
0034デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG過去にDelギコで何回か質問させてもらってるんですが全てDelphiの質問じゃなくてkylixでした。
「でもkylixです」って答えると他のスレにとばされるし、、
偽ってすいません。
0037デフォルトの名無しさん
NGNGどこで売っていますか?
0038デフォルトの名無しさん
NGNGこういうネタ野郎は、この板には必要無いと思うがどうよ?
0039一応フォロー
NGNGダメ?
004037
NGNG0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG⊂  ̄ ̄つ゚Д゚)つ|____|
| ̄ ̄ ̄ ̄| || / ̄ ̄ ̄ ̄ ̄
|____| || ∩_∩ <今なら逝きのいいギコが1匹300円だよ〜
G|___| \_____
( ・∀・)∩
⊂ ノ
) _ (
(_) (_)∧_∧ ∧_∧ ∩_∩
∧_∧ ∧_∧ ∩_∩ (∀` ) ( ) ( )
( )( ) ( ) ( ∧_∧( ) ∧_∧
( ∧_∧( ) ∧_∧ ( )∩_∩ ( )
( )∩_∩ ( ) ( )( )(
逝きのいいギコ パート2
http://piza2.2ch.net/test/read.cgi?bbs=mona&key=999763206
0045デフォルトの名無しさん
NGNG0046駄スレ
NGNG0047こたえてくらはい
NGNG突っ込まれるけど、その直後の再起動で凍って以来、
Windows98SEが再起動できない(途中で凍る)。
インストール直後の再起動でロゴに戻ったまま黙り込む。
MSのパッチ(シャットダウンサプリメント他、サービスパック
も手当たり次第)いれて、WindowsFAQのサイトにある対策全部
やったけどダメ。
なお、シャットダウンは可能。
他にこんな人いる?
0049デフォルトの名無しさん
NGNGI: Integer;
S: TStringList;
begin
0050ななしヘタぐらま
NGNGとりあえず何とかなるわけですね.
でもMMX Pentium 200MHzだとつらいかなぁ.
>>30
うちPC-9821なんですよ.
会社の予算がないからしばらくがまんですね.
0051デフォルトの名無しさん
NGNG例えば1つの巨大なヘルプを2つに分割って不可能かしら?
ヘルプ内でリンクがある場合は無理かな。
0052デフォルトの名無しさん
NGNG>その直後の再起動で
ってことは Windows Installer のインストールに失敗しているよ?
まさか.... NEC 98 かい?
0053デフォルトの名無しさん
NGNGTMyType = class(TList)
...
public
property Items[ Index:Integer]:TMyType read .. write .. ; default;
property Last:TMyType read .. write .. ;
end;
Items プロパティは上書きされているにもかかわらず警告が出ませんが、
Last プロパティはばっちり警告が出ます
「 Last の最宣言のため基本クラスのメンバーが隠蔽されました」
プロパティには overload 識別子をつけられませんが、なぜでしょうか。プロパティはオーバーロードする事は出来ませんか?
0054デフォルトの名無しさん
NGNGメソッドとプロパティは別物だからダメなのでは。
よって
procedure Last: TMyType; overload;
とすればよいのでは。
0055デフォルトの名無しさん
NGNG0056Delあめ猫にゃ
NGNG○TListを渡せる場所に TMyTypeList を渡せる
でも、Lastに書き込みたい程の変更が必要なら
TListのリスト管理機構を利用したいだけだと思う
TMyType = class
list:TList;
とTListのメンバーを持たせて、 Listに似たインターフェースを被せたら
いいんじゃないの?
0057Delフサギコ
NGNG ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ マターリ
ミ,,゚Д゚彡∬
〃 つ旦O
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
005853
NGNGなるほど、どうせオーバーライドするならそちらのほうが
スマートそう。
ありがとう。
0059デフォルトの名無しさん
NGNG当方VBしかやったことないんですが、移行(フリーのやつへ)は簡単ですか?
操作性が全然違かったりするのでせうか?
0060デフォルトの名無しさん
NGNGテメエで考えろカス
人に聞かないと何にもできねえのかゴミ野郎
0061Delモナー
NGNG( ´∀`)( ここは、モナーのスレなのでモナー以外は答えてほしくないのれす )
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG>ってことは Windows Installer のインストールに失敗しているよ?
>まさか.... NEC 98 かい?
はうう、普通のDOS/V(P3B-F+PIII)です。
以前インストールは一発で完璧に終わりました。
HDDを交換して同じ環境を作ろうとして失敗。
違いと言えばソフトの導入の順番ぐらいですが...悲しい。
Kylixなら考えられない事態です。
0064デフォルトの名無しさん
NGNGあとPASCALの文法ね。
Caption とか Top, Left などのプロパティ名は
大体一緒だし、代入演算子が違う事を除けば
Form1.Caption := 'きゃぷしょん';
等という風に、VBをやっていれば直感的に意味はわかる。
0065デフォルトの名無しさん
NGNGなんかDel6のはVBモードみたいなのが
あるらしいけど。
(まだPersonal試してないのでゴミン)
エディタに関して言えばVBみたいに
いたれりつくせりではないと思う。
(VBはやりすぎって感もある。
個人的にはVCのエディタぐらいが好きだな)
多分がいしゅつかもしれないけど、VBのデバッグで、
カレント実行プロセスをドラッグにより自由に元に
戻せたり、進ませたりできるなんて、
最初ぶっ飛んだよ。
インタプリタのなせる技なんだろうね。
006665
NGNG>なんかDel6のはVBモードみたいなのが
>あるらしいけど。
->
なんかDel6の操作についてはVBモードみたいなのが
あるらしいけど。
0067デフォルトの名無しさん
NGNG妙に T で始まる名前が多い事だった。
はじめは、画像一枚表示するにも一苦労だ。
TGraphcis とか TBitmap とか TCanvas とか。
あと、一番最初から意味不明のコードがかかれていることね。
VBは白紙状態のソースコードから始まっていたから、
自分が書いた部分以外の事は気にする必要は無かった。
0068デフォルトの名無しさん
NGNGまあ空のForm程の機能は無いが
0069( ´∀`)さん
NGNGすくなくともVB->VC++ほとドラスティックな変化はないから、
安心して(・∀・)イイ!!
あと、VBでは <= =< どちらでもよかった(勝手に修正してくれる)けど、
Delにはそれがないので注意。
とりあえず、文法とクラスの扱い。これがわかれば、あとは
芋蔓式に理解できると思われ。
>>67
漏れは最初、フォームの名前、ユニットのファイル名、
プロジェクトファイル名の決め方でかなりとまどったよ(w
最初、フォーム名が T〜 としなきゃ逝けないのかと思ったね(w
0070デフォルトの名無しさん
NGNGDelも白紙から書くことも可能。
問題は、VBがいくらかコードを隠していると言う点であり、
その方が、初心者は入りやすいということだ(慣れるとどうでもいい)。
TGraphicsとかTBitmapは・・・確かに。
オレもあれを理解するまで一苦労した。
オブジェクト指向がわかってきた後、ようやく
TGraphicsやらTBitmap関係がわかってきた気がする。
0071デフォルトの名無しさん
NGNG>Delにはそれがないので注意。
GExpertsをインストールすればできるよ。
インストール直後だと、;=→:=ぐらいしかないけどユーザーで設定できるので、結構便利。
GExpertsは、他にも
標準で割り当てがないメニューのショートカットを割り当てたり、
エディタを拡張する(ショートカットで範囲選択した行の先頭にコメント入れたり)機能があったり、
かなり有用。今の環境に物足りない人は入れてみるべし。
http://www.gexperts.org/
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG007471
NGNG・エディタのタブを複数行にしたり、フラットボタンにしたり(どうでもいいか)出来る。
・エディタのウインドウにツールバーを配置できる(場所は、上下左右いずれか)
解像度が低くて、エディタを最大化して使う人にはいいかも。
・インクリメンタルサーチ可能な関数リストがある。
ショートカット一発、数文字入力ですぐに関数に飛べるのでこれは重宝してる。
setTextという関数でもTextと入力するだけでいいという、部分検索も可能。
他にも山ほど機能があるんだけど、使ってない(使えない(藁))
0075デフォルトの名無しさん
NGNG/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (6 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 正直、Delphi飽きた
|| | | | \ ┃ ┃/ \________
| || | |  ̄  ̄|
0076デフォルトの名無しさん
NGNG大文字小文字と全角半角、ひらがなカタカナを区別しない文字列検索はありますか?
こんなの↓
xxAnsiPos('ア', 'あいうえお'); //trueになる
0077デフォルトの名無しさん
NGNGアルファベットの大文字小文字はAnsiUpperCaseを使えば
統一して比較できるから、あとは全半角と仮名はLcMapString
を使えばいいとおもう。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGこれのダウンロードに忙しいとか。
ftp://ftp.borland.co.jp/pub/delphi/delphi6update1.exe
0081デフォルトの名無しさん
NGNGそれって personal 用?
0082デフォルトの名無しさん
NGNG>
>このアップデートファイルは、Delphi 6 のためのアップデートファイルです。
>Enterprise 版、Professional 版、Learning 版すべてにご使用いただけます。
>※重要 「Delphi 6 Enterprise 60日トライアル版」には適用できません。
って、D6のLearningってなんじゃいヽ(`Д´)ノ !!
0083デフォルトの名無しさん
NGNG0084DELモナ
NGNG( ´∀`)( ここは、モナー専用なのれす )
0085デフォルトの名無しさん
NGNGいいじゃん別に。
君がこのスレ立てたとしても、持ち主になったわけじゃないんだからね。
0086デフォルトの名無しさん
NGNGさんきゅ。うっかりミス。今直します。
0087デフォルトの名無しさん
NGNGうわっっっ!!!直ってる!!!!!びびったよ(´д`;)
関係者ですか?
0088デフォルトの名無しさん
NGNG天網恢恢疎にして漏らさず
0089デフォルトの名無しさん
NGNGえぇっ!
0090デフォルトの名無しさん
NGNGWhistler serverで動かすと画面が出てこないです
俺だけ?
0091デフォルトの名無しさん
NGNGServer のビルド番号は?
0092デフォルトの名無しさん
NGNGUpdate1 当てる前だと問題なかった?
009390
NGNG今手元にないのでわからないのですがMSDNについてきたベータ版です
Delphi6使うのは普通に使えてます
おかしいのはアップデートのプログラムの方です
起動するとSetup.exeが裏(タスクマネージャ)で実行して表に画面が出てこないです
0094デフォルトの名無しさん
NGNG普通の InstallShield アプリですから、問題が出るとしたら OS の
問題でしょうか。
009590
NGNGSetupが途中で止まってるのか画面がShowしてないだけかもしれません
どっちにしてもこの環境は今週までなので他の環境にセットします
ちなみに
ComCtrls.pasのTSubItemsは
procedure TSubItems.Clear;
begin
inherited Clear;
FImageIndices.Clear;
end;
が治ってないようです
追加しないとFImageIndicesがクリアされません
0096デフォルトの名無しさん
NGNG良い書き方を思いついたのれす。
変数宣言を見なくても、変数の型が一発で分かるのれす。
全変数の初期化なんぞも簡単にできるのれす。
例)
type
TInt = (Age);
TDbl = (Height, Weight);
TStr = (LastName, FirstName);
var
int:array [TInt] of Integer;
dbl:array [TDbl] of Double;
str:array [TStr] of string;
begin
Write( 'LastName > ' );
ReadLn( Str[ LastName ] );
Write( 'FirstName > ' );
ReadLn( Str[ FirstName ] );
Write( 'Age > ' );
ReadLn( Int[ Age ] );
Write( 'Height(cm) > ' );
ReadLn( Dbl[ Height ] );
Write( 'Weight(kg) > ' );
ReadLn( Dbl[ Weight ] );
WriteLn( Format('%s %s %d Years old. %f kg, %f cm',[
Str[LastName],
Str[FirstName],
Int[Age],
Dbl[Weight],
Dbl[Height]
]));
end.
00971
NGNGモナーと書いたのは、単にギコは既出だからという理由であって、
真意は「AA容認スレ」及び、たとえ厨房でも「罵倒はしない、やさしく諭す」という方針にしたかったから。
いや、それだけ。
さらば。DELギコ降臨を望む。
0098デフォルトの名無しさん
NGNGハンガリアン表記をより凶悪に推し進めただけのトリッキーコードにしか見えない…。
0099デフォルトの名無しさん
NGNGDelphiならフィールドに F 付ければ十分だと思う。
0100デフォルトの名無しさん
NGNG0101Del初心者
NGNGあと、コンパイラ型ですか?記述はCに近いのですか?
0102デフォルトの名無しさん
NGNGDelphiはコンパイラ型です。
記述は C や Basicと同じ種類の方式です。 LISPと比べるならばですが
Delphi と VC++は似てるのは、単に Windows用のネイテブコンパイラである
事くらいで、違う事の方が多く違いはあげられません
0103Del初心者
NGNGありがとうございます。
0104Delあめ猫にゃ
NGNG実行時型情報に入るようにプロパティに登録して、変数名=値をファイルに書き出す
ようにしたら便利かも・・・・
でも、それローカル変数でやると最適化が効かないかもしれない
0105デフォルトの名無しさん
NGNGRar用の圧縮・展開ルーチンを収めたDLLあるかとぞんじます。
使い方を教えれ。エレ。エレ。エレ。
おねがいします。
0106デフォルトの名無しさん
NGNGhttp://www.csdinc.co.jp/archiver/index.html
圧縮ルーチンは優良だと思ったけど。
0107デフォルトの名無しさん
NGNG下の様なコード実行するとnew()でエラーが出るんですが
ヘルプ見る限り問題ないように思うんですが何処がおかしいのでしょうか?
サパーリ分かりません‥‥鬱だ‥‥
pFILE_DATA = ^FILE_DATA;
FILE_DATA = record
FileName: String;
Size: Integer;
Date: String;
end;
function AddFileList( const fileName: String): Integer;
var
NewItem: pFILE_DATA;
begin
new(NewItem);
NewItem^.FileName := fileName;
{ 以下略 }
end;
それとファイルのリストを保持する場合、TListに格納して変更があった時にUI側のListViewを更新するのと
直接ListViewに格納してそこから値を取り出すのとでは(Delphiでは)どちらが一般的なんでしょうか?
0108デフォルトの名無しさん
NGNGどんなエラーば出るの?
0109107
NGNGです。。
Personalなんで手も足も尻尾も出ません。(泣
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGん〜、そのエラーが new(NewItem); の行で発生するのかな?
0112デフォルトの名無しさん
NGNGソースがないのでソースコードを追ってのデバッグができないというだけ。
さっくり無視(I)すれ。
0113Delフサギコ
NGNG∧,,∧ / usesにVariantを追加するのかな?
ミ,,゚Д゚彡 <
U U \
〜ミ ミ
∪∪
某NewsGroupeでこんな投稿があります、"Delphi6 の ライブラリが全てデバッグ版!?"
デバッグ版だとVCLソースをトレースしようとするので
ソスなしのPersonalはUp1のインストは必須です
0115デフォルトの名無しさん
NGNGン?実行時に出るのか?
レスを読む限りコンパイルエラーになりそうだが。
0116107
NGNGエラーの原因はむしろMessageBoxのhwndにCの感覚でNULLを入れてたのが不味かった模様‥‥
‥‥逝ってきます‥‥
0117デフォルトの名無しさん
NGNGつーか、『識別子定義の表示』があるからなあ。型わかるし。
まあ、マウスでしかポップアップされないから、それがイヤなんだろうけど
# ていうか、この機能はキーボードからも出来てほしい・・・
0118デフォルトの名無しさん
NGNGキーボードからできるとして、どのキーに割り当てればよいと思う?
もうほとんどの組み合わせが使われてしまっているしね。
0119デフォルトの名無しさん
NGNGデバッグの際、特定のコードで発生する例外では止めないようにするには
どうしたらよいのでしょうか?
意図的に例外を発生させていて、例外を発生する状態の方がむしろ正常なのです。
調べてもよく分からないので・・・よろしくお願いします。
0120デフォルトの名無しさん
NGNG興味があるのですが、
常に例外を発生させるようなコードというのはどういうものでしょう?
0121デフォルトの名無しさん
NGNG0123( ´∀`)さん ◆Monar0j6
NGNG意図的に例外を発生させ、耐障害性とかエラー処理を
テストしてるんだったらごめん。
0124119
NGNG>常に例外を発生させるようなコードというのはどういうものでしょう?
オフコンにFTPでファイルを送るのですが
オフコン側ではそのファイルを処理してから消去します。
オフコンがそのファイルを未処理の場合はファイルを送ってはいけません。
そこで
「FTPで前に送ったファイルをGETしてみて
失敗した場合(ファイルがない場合)にのみ処理を続ける」
という具合にしてみたわけです。
0125デフォルトの名無しさん
NGNG例外じゃなく、戻り値でエラー判断なんかやってるコードが問題だと思われ。
0127デフォルトの名無しさん
NGNGそういう用途ならAbort でいいんじゃない
Abortならデバッカにひっかからないし
0128( ´∀`)さん ◆Monar0j6
NGNG>例外ってスピード速いし、普通に使って問題無いんだYO!
そんなに早いもんだったのか、知らんかったよ。
>>119サソ、スマソ。
なんかどっかで実行中のプログラムの例外を補足して
ログとるツールがあったような記憶があって(曖昧でゴメソ)、
それで気持ち悪いなぁとか思ってね。
>例外じゃなく、戻り値でエラー判断なんかやってるコードが問題だと思われ。
だけど、Win32APIとかは戻り値でしかエラーの有無を判定できないと思われ…
0129119
NGNGサイレント例外は気がつきませんでした。
ありがとうございます。早速やってみます。
0130Delフサギコ
NGNG継承した例外を発生させてIDEにそれを無視させるとか
VCLが発生させる例外なら
ブレークポイント2つで上下はさみ
その間だけ例外ムシさせる方法があるぞよ
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧
ミ,,゚Д゚彡∬
〃 つ旦O
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0131デフォルトの名無しさん
NGNG>にUI側のListViewを更新するのと
>直接ListViewに格納してそこから値を取り出すのとでは(Delphiでは)
>どちらが一般的なんでしょうか?
俺ならば、UpdateFileList みたいなメソッドつくっておいて、
リスト内容を更新するたびにそれを呼び出す。
0132デフォルトの名無しさん
NGNGIDE内から実行しているから、例外でややこしいことになるのよ。
コンパイルして、エクスプローラから直接実行ファイルを
実行するようにすれば、何の問題もない。
0133Delphi6 Enterprise の自慢
NGNGコンポーネントいろいろついてくるし!
0134Delフサギコ
NGNG∧,,∧ / >>131
ミ,,゚Д゚彡< TListなどにて内部データ構造を格納しつつ、
ミつ つ \ そのItemをListViewのTListItem.Dataと関連付けるのがいいかも
〜ミ ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
U U チョット手間かニャ
0135119
NGNGIndyが出す例外なので
> VCLが発生させる例外なら
> ブレークポイント2つで上下はさみ
> その間だけ例外ムシさせる方法があるぞよ
これを試してみます。
ありがとうございました。
0136デフォルトの名無しさん
NGNG1.256色のBMPファイルからパレットを取得する方法(pal[256]という変数に取得したい。)
2.他のBMP画像を読み込み、上記1で取得したpal[256]のパレットにする方法。
が、知りたいです。
ご存知の方がいたら教えてください!
0137デフォルトの名無しさん
NGNGvar
p:PByteArray;
x,y:Integer;
begin
for y:=0 to ABitmap.Height-1 do
begin
p := ABitmap.ScanLine[y];
for x:=0 to ABitmap.Width-1 do
Paretto[x] := p[x];
end;
end;
0138デフォルトの名無しさん
NGNGIndy が出す例外は、原則 IdException.pas で定義されている EIdException から
継承された例外クラスを使っている。だから「言語固有の例外 - 無視する例外の種類」
に EIdException を追加すれば、Indy 固有の例外で IDE が停止することは無くなる。
0139デフォルトの名無しさん
NGNGパレットってなんだか知っている?
Paretto -> Palette
0140デフォルトの名無しさん
NGNG各ピクセルにはパレット番号を格納。
それがなにか。
0141119
NGNGありがとうございます。うまく行きました。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG>>137
ネタですか?ネタですよね!?
ネタでなければ、プログラムがバグっている&やろうとしていることが
違うと思います。
自分としては、>>140と同じ意味でパレットという言葉を使っています。
で、フルカラーモードで、256色ビットマップを扱うときに、
1.256色のBMPファイルからパレットを取得する方法(pal[256]という変数に取得したい。)
->BMPのファイルを読んで画面に表示して、その画像のパレットを変数palに代入したい。
というのをどうやるのかが、知りたいです。
よろしくおねがいします。
0144ねこま
NGNGあとは TNkDIB のソースでも見れ.
0146117
NGNG0147デフォルトの名無しさん
NGNGScanlineを使って得られる値はなんなのさ。
0148デフォルトの名無しさん
NGNG入力支援に1行ヒントってないものかね。
THoge = class
....
procedure Hoge(x:Integer);{$HINT '引数 x をつかって〜する'}
てな風に書くと、
入力支援時、リストに
procedure THoge.Hoge(x:Integer) 引数 x をつかって〜する
つーふうにでてくると。
0149デフォルトの名無しさん
NGNGVCだと
struct foo{
int bar; // hoge ←hogeがTIPヘルプで表示
}
ってできる
0150デフォルトの名無しさん
NGNGDELでそれできる?
0152デフォルトの名無しさん
NGNG>ネタでなければ、プログラムがバグっている&やろうとしていることが
>違うと思います。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGいや、それでも分かりにくい場合ってあるでしょ?
0157デフォルトの名無しさん
NGNGGetPaletteEntries調べてみたのですがVBの解説しか
みつからなかったです。Delphiのヘルプにもないところをみると
APIか何かなのでしょうか?
パレット詳しい方いたら、教えてほしいです。
0158デフォルトの名無しさん
NGNG// パレットの色を取得
GetPaletteEntries(bm.Palette, 0, PalSize-1, pal.palPalEntry);
ってところか?
GetPaletteEntries に関しては
http://www.microsoft.com/japan/developer/library/jpgdipf/_win32_getpaletteentries.htm
ここを。
0160デフォルトの名無しさん
NGNG自作のコンポD6で使いたいんだけど ヘルプにあるWinEditors ユニットも無いし
DesignEditors.ini なんてのがdocディレクトリにあるけど??
D5Proの時からDsgnIntfが変な所にあるなと思ってたけど、
なんかコンポーネントはコンパイル済みにしないとダメって事になったのかな?
それともD6パーソナル無料化の為に わざと不便にしてるのかな?
0161デフォルトの名無しさん
NGNG気がする今日この頃。
凡庸画像フォーマットを実現するには、
TCustomImage = interface
public
procedure LoadFromFile(〜);
procedure SaveToFile(〜);
procedure CopyFrom(〜);
property Pixels[x,y]:Integer 〜;
end;
みたいなインターフェイスを作ってやれば、
内部でどのような画像の表現方法を取っていても、
呼び出して利用するほうのコードを変更する必要はないということですか。
たとえば、これまでビットマップだったものを
処理速度の向上を理由に、配列にいろ情報を格納するように変更した
TPixelArrayImage なんて形式に変えても、利用するほうの
コードは変更する必要がないと。
0162デフォルトの名無しさん
NGNGDelphi4 の時から、デザイン時ライブラリを分割してね。って書かれているのに
いまだにこういう質問が出てくるとは..
Help 読みなさい
0163Delフサギコ
NGNGミ,,゚Д゚彡 < 自分で体感しないと知らないものです
ミ つ且~~ \___________
〜ミ,,,,,, ,,ミ キビシイッス>>162さん
プロパチエヂタまでこだわって作っている人は少なそう。
こだわらなくてテキトに作っている人はD6になったとたんつまづーきますね。
フサも2週間前くらいに思いっきりツマヅイタ
>>160さん、とりあえず、Personalはつらそう……
ご検討を祈ります。
プロパティエディタ系コード(uses Designなんとか)
は実行時コンポーネントコードとは別ユニットにしましょう。
あと、TEditorの作者さま...
プロパティエディタ問題なんとかしてください。
フサの勘違いかもしれないけど、
思いっきりD6DsgnIntf問題にひっかかってません?
0164160
NGNGヘルプってこれだよな?
>DSGNINTF.DCU は Delphi に付属しなくなりました。したがって,コンポーネント開発者は
>設計時コードを実行時コードとは別のユニットに分離することを考える必要があります。
>実行時コードでは,それらのユニットを参照しないようにしてください。
>それが不可能な場合は,\source\toolsapi\ ディレクトリにある DSGNINTF.PAS をコンパイル
>することが可能です。ただし,この方法は一時の間に合わせとして提供されるもので,
>将来のリリースでは提供されない可能性があります。
>また,ライセンス契約の条項により,インプライズ社が所有するソースコードに基づく DCU
>を配布することは,そのコードがどのように提供されたかに関係なく,
>許可されないことに注意してください。
設計時ユニットと別けるってのは、単にプロパティエディとかを別ユニットに別けろって事だよな?
てことは、どっちにしたって、コンポソースがプロパティエディタを使う場合はパーソナルだ
けじゃ使えないって事だな・・・まあそんな制限無いと無料で配れないか・・・
使ってみて便利だったらバージョンアップしようかと思ったけど、俺はVer7まで待つわ
0165デフォルトの名無しさん
NGNGけじゃ使えないって事だな
どうしてそういう結論になる?設計時パケージに分離してそっちで
designide60.bpl を必須パッケージとして指定すればおわり。
Personal でもコンポ作成/インストールできるって。
0166160
NGNGうーん。方法があるのか?
DSGNINTFで使ってるのは RegisterPropertyEditor だけだから
これを別ユニットにして、別に設計時パッケージに入れろって事だよな?
自分のコンポーネントをuses して、RegisterPropertyEditorしてる
だけのソースを作ってみてプロジェクトファイルを弄ってみたけど、
やっぱりコンパイル出来ない。
スマン。どうやってコンパイルしたらいいか教えてくれ
0167デフォルトの名無しさん
NGNGD6personalよりD5learningのほうが使用権が自由でよいなぁ
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGWindowsの場合非同期ソケットのほうがいいのわかってるのに
今非同期ソケットやってるのってICSとFastnetだけ、SynapseもIndyも
スレッド使いすぎだ
というよりなんか似たようなコンポーネントがごちゃごちゃしすぎだD6
0170デフォルトの名無しさん
NGNG>やっぱりコンパイル出来ない。
エラーはなんと?
0171160
NGNGもしかして、設計時コンポ無くても実行ファイルは作れるだろうという意味か?
そういう意味なら確かに作れたよ。
0172160
NGNGで、これを消せば
RegisterPropertyEditor が無いが出るよ
0173デフォルトの名無しさん
NGNGそうだね。多分すでに正解を手にしていると思う。
「設計時コンポ」ではなく「設計時パッケージ」ね。
設計時パッケージは IDE のみが使う。プロパティエディタも IDE のみ。
実行時パッケージおよびコンポーネントのユニットは設計時パッケージやデザイン用
ツールとは分離できる。
0174デフォルトの名無しさん
NGNGそこまでできているのなら、分離した設計時パッケージに
designide を追加すれば designide60.bpl が DSGNINTF を
提供してくれる。
デザインパッケージの実コード。
登録やプロパティエディタを定義。
unit x;
interface
implementation
uses DesignIntf, MyComp;
begin
RegisterPropertyEditor( TypeInfo(TMyComp), TMyComp, 'Caption', nil); // nil にはプロパティエディタのコードが入るはず。
end.
Package1.dpk の部分
requires
rtl,
designide;
contains
x in 'x.pas';
end.
0175160
NGNGdpkを開いて requires の下に
rtl,
designide,
vcl:
と挟んで入れたらコンパイル出来た。 いやホントありがとう
0176160
NGNGDsgnIntf/DsgnIntfを切り替えるのは {$IFDEF }でいいとして
designide と dsnide50 はどうやったらいいんだろ?
まあ別名で作ればいいか
0177デフォルトの名無しさん
NGNG幸い今後は DLL 名とパッケージ名が分離しパッケージ名には
バージョン番号が含まれなくなったから、今回だけですむ。はずだ。
0178デフォルトの名無しさん
NGNGSynapse のどこにスレッドが使われてる?
0179デフォルトの名無しさん
NGNGIndy は「スレッドが使えるんだ。ブロッキングで何が悪い?」という思想だから
スレッド使いすぎという批判は筋違い。
0180デフォルトの名無しさん
NGNGスマソ、誤送信
0181デフォルトの名無しさん
NGNGやっぱり踊って歌える ギコのほうが人気高いんね。
0182デフォルトの名無しさん
NGNG0183s
NGNG0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGDelphi6 は www.borland.co.jp からタダでDLできま。
0187デフォルトの名無しさん
NGNGアカデミックばんはさんまんごせんほどでかえるからマイクロソ
フトマンセー
ボーランドはくがくせいにはきびしい成り
0190デフォルトの名無しさん
NGNGhttp://codecentral.borland.com/codecentral/ccweb.exe/listing?id=16739
0191デフォルトの名無しさん
NGNGウィンドウの位置を
←手前 奥→
タスクバー>デスクトップのアイコン>ウィンドウ>壁紙
の位置に持っていくことは出来ませんか。
0192デフォルトの名無しさん
NGNG逆にVCL側からスレッドを触るにはどうすればよいのでしょうか。
スレッド側からSynchronizeでポーリングしなければならないのでしょうか。
それとも、ふつうにスレッド(のメンバ)を使っていい、、、わけないですよね。
0193192
NGNGのかなということです。Indyの実装によるのかな
0194デフォルトの名無しさん
NGNGあるレコード型の中のフィールドに、
そのレコード型自身を指すポインタを指定するにはどうしたら良いんでしょうか?
Cで言えば、
struct CELL{
int value;
struct CELL *before;
struct CELL *next;
};
みたいなことをやりたいんですが、これをそのままやろうとすると
「〜型の宣言が完了していません」とコンパイラに怒られてしまいます。
まさか「汎用のpointer型を使うしかない」なんてことはないと思うんですが…
0195デフォルトの名無しさん
NGNGCELL = record; // コレ
PCELL = ^CELL;
CELL = record
value: integer;
before: PCELL;
next: PCELL;
end;
こんな感じ?
0196デフォルトの名無しさん
NGNGtype
TCell = class
public
Value: Integer;
Prev, Next: TCell;
end;
0197デフォルトの名無しさん
NGNG早速のお答え、ありがとうございます。
レコード型で >>195 のようなforward宣言をしようとしても
コンパイラが受け付けてくれないので、
どうやらforward宣言が効くのはクラスだけみたいです。
ボーランドとしては、レコード型なんか使わずにクラスを使えってことなのかな…
とにかく、どうもありがとうございました。
0198デフォルトの名無しさん
NGNGそれいらない。
>PCELL = ^CELL;
>CELL = record
forward しなくてもこれでコンパイルできるでしょ?
Borland 以前、原典の Pascal から、^でポインタ型を定義するときだけ
未定義の型に対する参照が許されるんです。
0199デフォルトの名無しさん
NGNGTCell = record
・・・
がDelphiらしいかな・・・クラスとレコードの区別がつかんけど
0200デフォルトの名無しさん
NGNGなお、宿題とは関係ありません。自分で書いたコードもあります。
要望があれば公開します。
私が作ったコードでは、1024*786*24BITで
15−20秒ほどかかります
{ Source で指定された画像を Scale 倍したものを
Dest に描画する。Dest のサイズも同時に設定される。
拡大縮小時には線形補完を用いて、そこそこ高画質にする。
Source は 24Bit カラーである事を前提とする }
function Zoom(Source,Dest:TBItmap; Scale:Extended);begin
if Scale = 1 then
Dest.Assign( Source );
Exit;
end;
Dest.Width := Floor( Source.Width * Scale );
Dest.Height := Floor( Source.Height * Scale );
{ なんたらかんたら }
end;
0201デフォルトの名無しさん
NGNG>最速の実装をしてください
が、ちと気に入らないが・・・。
>自分で書いたコードもあります。
とのことなので、まず自分のソースをあげてみよう。
そこから悪いところを直していけば勉強にもなる。
0202デフォルトの名無しさん
NGNGDelphi5 と Delphi6 にアップグレードしようしているのですが、
Delphi3→Delphi5
Delphi5→Delphi6
以上のように移行するにあたって、それぞれのメリット、
追加されたものがあれば、教えてください。
0203200
NGNGもともと TBitmapEx というクラスのメソッドだったのですが、
関係有るメソッド、関数だけを取り出して一つのユニットに
まとめました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1004364661&res=1
0204デフォルトの名無しさん
NGNGブロックに分けて、テーブルを使うのはどぉ?
0205デフォルトの名無しさん
NGNGピクセルの色がどの程度影響しているかという指数というか、
そういう奴をテーブルにするという事ですか?
0206デフォルトの名無しさん
NGNG1,2,3,4
5,6,7,8
って分けて、1で計算したのを2以降で使うようにするの。
0207デフォルトの名無しさん
NGNG揚げ足とり敵に細かいところを責めてみるか
・SetPixels、GetPixels、ComplementedBrightRGB等のループ内
各関数をインライン展開して、オーバーヘッドを抑える
・Canvas.Pixels[x,y]やScanLine[y];は重いので使わずに、
bit列へのポインタもらって自力で描いたり書いたり読んだりする
# Canvas.Pixels[]など、速度が必要なときに使うのは論外中の論外!!
・浮動小数点は比較的重いので、固定小数点にする
# 最近はあまり意味ないかもな
0208デフォルトの名無しさん
NGNGおお、どうもありがとう
早速修正したいとおもいます。
ところで…
>ScanLine[y];は重いので使わずに、
>bit列へのポインタもらって
今まで ScanLine[y] っていうのは y 行の
ピクセルデータへのポインタを得るものだと思っていたのですが、
そうではないという事ですか?
0209デフォルトの名無しさん
NGNG自分で読み書きってことはCreateDIBSectionを使うってことなのかな?
ttp://www.sm.rim.or.jp/~shishido/dibsec.html
俺、Scanline使って遅いなあとか思ってたけど、これ使えばもっと速くなるかな。
(でも、ScanLineでもかなり速かったような気もするんだが。)
どのくらい速くなるのか解説きぼん
0210デフォルトの名無しさん
NGNGとりあえず5もくならべのつくりかた教えて。
いままでエディタ+コマンドラインでコンパイルという
ことしかやってません。
0211デフォルトの名無しさん
NGNGというかまずはTmemoを使ってメモ帳作るところから始めた方が良いようなー
3目並べならTlabel のCaption使うだけで作っても良いかも。
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG○●を入れて貰って
後はなんとか頑張る
0214デフォルトの名無しさん
NGNGおまえら、五目並べ作ってみろよ!!!
http://pc.2ch.net/test/read.cgi/prog/1004278856/l50
0215Sock2に挑戦
NGNGWSAEventSelect()によって非同期によるクライアント待ちをする場合、
accept()実行後、
WSAEnumNetworkEvents()でFD_ACCEPTが成功したかどうか調べたいんですが、
その際、本来accept()の戻り値であるsocketハンドルは
どうやって取得すればいいのでしょう?
それとも
WSAEnumNetworkEvents()によってFD_ACCEPTを確認してから
accept()を実行するのでしょうか?
0216デフォルトの名無しさん
NGNGTBitmap自体、内部的にDIB使ってるけどScanLineの連続呼び出しはやっぱ重い。
検証用に、無理やりTBitmap継承してScanline使わないようにしたクラスが手元にあるんだが、
不完全だしさらすのいやだからなあ(笑
どうしてもっていうなら、さらし用のつくってみるけど。
いや、でも確実に速くなるよ。
02172000
NGNG最低限のことさえ教えていただければ、自力でなんとかします。
0218216
NGNGおかしいな・・・。
0219209
NGNGScanLineをキャッシュすれば、多少は速くなる。
ttp://homepage1.nifty.com/beny/tips/dib02.html
まあ、ScanLineの方が分かりやすいし・・・。
0220216
NGNGと思ったら>>219とほぼおなじじゃーん。
ガーソ。
一応あげとく。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1004364661&res=2
0221デフォルトの名無しさん
NGNG( ◎_◎)
( )
24bitではなく32BITにしてあるのは、ダブルワードの
インクリメントでちょうど1ピクセル分移動できるようにするためですか。
0222デフォルトの名無しさん
NGNG左上からなめるようにスキャンする場合は
効率が良いかもしれないけど、ランダムに
アクセスするような場合ってどうよ?
0223209
NGNGそれも、キャッシュするだけでちょいっと速くなるけど
やっぱ遅くなるね。ぼかしで広い範囲指定した日には地獄。
0224216
NGNG>>221
そんなところで。
>>222
気持ちほど速くなる(藁
つーことは、今回の件ではあまり高速化には貢献できないことになりますか。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG2chで解決したDelphi質問をFAQ収集するスレ
http://pc.2ch.net/test/read.cgi/tech/1004501183/
0227デフォルトの名無しさん
NGNGDHCPサーバーからDNSサーバーのアドレスを取得したいんですけど、
出来ればサンプルが欲しい…。どなたか情報お持ちでないでしょうか?
0228デフォルトの名無しさん
NGNGいろいろコストがかかる処理しているからだね。
俺は ScanLine から次のラインへのオフセットを計算して
以後それを使って高速化している。
var
ScanLinePtr0: Pointer;
ScanLineOffset: Longint;
Y: Longint;
P: Pointer;
begin
{ 画像の任意のラインのポインタを計算するための準備 }
ScanLinePtr0 := Bitmap.ScanLine[0];
if Bitmap.Height>1 then
ScanLineOffset := Integer(Bitmap.ScanLine[1])-Integer(Bitmap.ScanLine[0])
else
ScanLineOffset := 0;
{ 各ラインのポインタを求める }
for Y:=0 to Bitmap.Height-1 do
begin
P := Pointer(Integer(ScanLinePtr0)+ScanLineOffset*Y);
// 取得したポインタPを使ってとりあえず何かしよう
end;
end;
0229デフォルトの名無しさん
NGNGこれはいいこと聞いた。感謝上げ。
…したいんだが荒らし、批判その他避けで下げ。
0230デフォルトの名無しさん
NGNG何でも入ってるしソースから盗むこともできる
0231デフォルトの名無しさん
NGNGポインタの使い方が分からん。参考例全文をきぼん。
Delphi向けのポインタの詳しい解説サイトってないのかな。
0232デフォルトの名無しさん
NGNGhttp://user3.allnet.ne.jp/tadnakam/Delphi/delphi4/pascal/Pointer.htm
多分Cのポインタが分かっていれば、それと同程度に理解できるのでしょうが。
というわけでCのポインタ
http://member.nifty.ne.jp/maebashi/programmer/pointer.html
0233デフォルトの名無しさん
NGNGありがと
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG他のアプリ(たとえば、かちゅ〜しゃ)を終了させるのってどうしたらいいの?
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGWindows終了時にかちゅーしゃ終了させるアプリ作ってる?
需要あるから公開キボンヌ。
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG0240235
NGNG|うぇーん、どうしたらいいかわからないモナー
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧
( ´Д⊂ヽ
⊂ ノ
人 Y
し (_)
Googleで調べたら、
PostMessage(Self.Handle, WM_CLOSE, 0, 0);
ってすると、自分自身を終了できるけど、
Self.Handleのとこの変え方(?)がわかんない・・・。
こういうのの使い方ってどうやって調べるの?
>>237
2ch依存しすぎてるんで、
一定時間したら強制終了させられたらいいかな、と。
>>238
cygwin(?)だと、一定時間後とかってできないですよね?
>>239
できたら代わりに作ってください。お願いします。
0241デフォルトの名無しさん
NGNGEnumProcessとかFindWindowとか
0242235
NGNGFindWindowを使って、
FindWindow(nil,'かちゅ〜しゃ');
ってしたらできました。
(こんな方法で良いのか、わからないけど・・・)
あとはタイマーつけて頑張ります。
この度はありがとうございました。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG/ ̄ l | / ̄ ̄ ̄ ̄ ̄
■■-っ < んなこたーない
´∀`/ \_____
__/|Y/\.
Ё|__ | / |
| У.. |
0245デフォルトの名無しさん
NGNGむしろ、
FindWindow('TKatjushaMainForm', nil);
のほうがいいかも…
0246235
NGNGかちゅ〜しゃ起動・終了の代わりに、
このソフトで起動・終了をさせなくちゃいけなかったり、
色々と使いづらいところもありますが、満足なできになりました。
ありがとうございました。
0247235
NGNGhttp://members.tripod.co.jp/RtFchs/KatjuClose_1113.lzh
0248Delフサギコ
NGNG\,,,,ミ,,゚Д゚彡 < sageでゴメンなさい。
⊂,,,,,,,,,つつ. \_
かちゅのパスが取得できていないみたいですので
http://homepage1.nifty.com/beny/tips/other10.html
これみて、かちゅ起動時には
フルパスを自動取得できたらいいなあ。
0249デフォルトの名無しさん
NGNGNTだとそれじゃフルパスが取得できないんだよねw
0250Delフサギコ
NGNGミ ゚Д゚彡 ジョウホウ サンクスコ
〜ミ,,,,uuミ
0251249
NGNGEnumProcesses
EnumProcessModules
GetModuleFileNameExA
を組み合わせて作る。
たしかこれ併用して9x/NTどちらでも
プロセスをフルパスで列挙可能な非VCLがあったんだが…
コンポのソースに書いてあったURLに飛ぼうとしたら404、
MSDNの検索でも結果に飛ぼうとしたら、んなページねぇぞゴルァ言われた…
具体的なURLは出せないスマソ。
0252デフォルトの名無しさん
NGNGBorlandのQ&Aで見た記憶がある。
C++用だったかも。
0253235
NGNG(>>248で上げられてるのを、どう使ったらいいのかわからないレベル・・・)
レベル的に無理そうだし、OpenDialogでの取得で落ち着きます。
http://members.tripod.co.jp/RtFchs/KatjuClose_1119.lzh
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNGフォームを表示させる場合に、自動的に画面の中央に
表示させたいのですが、コーディングしないとダメなのでしょうか?
0256デフォルトの名無しさん
NGNGForm の Position プロパティのヘルプを読め!
0258デフォルトの名無しさん
NGNGデータを追加するにはどうすればよいのでしょうか?
ヘルプにはAddItemにリンクが張られてなかったのですが・・・
0259デフォルトの名無しさん
NGNGVCL ソースを読んだら?
0260デフォルトの名無しさん
NGNG質問者がどこで引っかかっているのかがわからないが...
ListView1.AddItem(Item: String; AObject: TObject);
または
with ListView1.Items.Add do
begin
Caption := 'XX';
end;
こんな書き方は? Items.AddItem は第一引数の扱いが難しいから
あまり勧めない。
0261_
NGNGItem: TListItem;
Item := ListView1.Items.Add;
Item.プロパティ := 値;
0262デフォルトの名無しさん
NGNGおなじじゃん...
0263デフォルトの名無しさん
NGNGそこで、環境変数のPathを変更する機能を作ろうと思ったんですが、
読込方法しかわからず、書き込み方法がわかりません。
DelphiMLとか、WebでWin32APIとか検索したんですが、どうにも見つかりません。
知っている方、教えていただけませんか?
0264Delフサギコ
NGNG∧,,∧ /
(,,,,,,,ミ,,゚Д゚彡 < 実は、かなり調べたけどフサにはわからなかったんだな。
⊂,,,,,,,,,つつ. \
もしかしてBATファイルで設定できないでしょうか?
そしたら、テキストファイルとしてBATを作成して実行して削除すれば
いいのかも....
0265Delフサギコ
NGNG#define ENV_MAX 256 //特に根拠のない数字
char EnvOfTmp[ ENV_MAX ];
GetEnvironmentValiable( "TMP" , EnvOfTmp, ENV_MAX );
設定
SetEnvironmentValiable( "TMP", "C:\Windows\Temp" );
∧,∧ ,:: / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚彡っ━'~ | 改めて調べたらいきなりわかった。
ミ∪ ~,ノ < BCBコードは訳しておくれ。
ミ '' ミ \____________
し'~し'
今は亡き、BCBサイト[ARAHIQS]のTipsですす。
試してないので、動作確認よろしう。
0267デフォルトの名無しさん
NGNGありがとうございます!
早速試してみたんですが、未定義の識別子:'SetEnvironmentValiable'
と言われてしまいました。
現在GetEnvironmentValiableの方は動いております。
何か、Usesに加えたりすれば解決するのでしょうか?
0268名無しヘタぐらま ◆B18Bks.Y
NGNG文字列リストのObjectsプロパティのような
関連するデータへの参照ということでしたら
>>261さんの方法でもできますです.
レポート形式ということなので蛇足ながら
2つ目以降の列の設定のコードの例もあげるです.
procedure TForm1.Button1Click(Sender: TObject);
var
NewItem: TListItem;
begin
NewItem := ListView1.Items.Add;
NewItem.Caption := 'なんとか';
NewItem.Data := FMyNantokaObject; // データへの参照.
NewItem.SubItems.Add('さぶ1');
NewItem.SubItems.Add('さぶ2');
NewItem.SubItems.Add('さぶ3');
end;
0269Delフサギコ
NGNGミ゚Д゚,ミ,ノ< ハニャーン
ミ⊃ ,ミ \
ミ, ,,ミ >>267、あら、見つからないですね。ガセかしら。
⊂,,,ノ
∪
Windows.pasにはこんな風にかかれてるけど。
function SetEnvironmentVariable(lpName, lpValue: PChar): BOOL; stdcall;
0270デフォルトの名無しさん
NGNGValiableじゃなくてVariable。lとr間違ってる
0271デフォルトの名無しさん
NGNG間違っていました(汗
修正したら動くようになりました!
フサギコさん、270さんありがとうございました。
0272デフォルトの名無しさん
NGNG現在テキストエディタを製作中なのですが、
作業中にTabを押してもメモ帳のようにカーソルが移動しません。
これはやはりOnKeyPressでそれ相応の処理をさせないと
いけないのでしょうか?(空白を入れる、など)
一通りTipsを探し回ってみたのですが、それに近い答えが見つからなかったもので…。
お願い致します。
0273Delフサギコ
NGNG,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,ミ,,゚Д゚彡 < WantTabs
UU""" U U \_______________
0274デフォルトの名無しさん
NGNGまさかプロパティだったとは…。
もう少し勉強してからお邪魔致します。
厨な質問申し訳ございませんでした。
0275Delフサギコ
NGNG,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,ミ,,゚Д゚彡 < そんな恐縮せんでも、
UU""" U U \_______________
ガツガツ質問して、盛り上げてくれたらいいのでは?
MLとか、広場とかでやられるより
ここで質問したほうがよくない?
0276デフォルトの名無しさん
NGNGそれは>1だからいえることで、イパーソジソには禁句と思われw
0277HSP厨房
NGNG0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNGおもいっきし TransparentColor とか AlphaBlend とかいうプロパティがあると思うけど
0280デフォルトの名無しさん
NGNG引き続きテキストエディタに関しての質問です。
読み取り専用ファイルを開いて[上書き保存]の処理をさせた時に、
「読み取り専用なので保存出来ません」と言った内容の警告を出したいと思っております。
とりあえず自分が考えたのは、
1)読み込んだファイルの属性を変数Ftype(仮)に格納
2)ダイアログを使用しない[上書き保存]の処理の際にFtypeの値を参照し、
それぞれの処理に分岐させる
と言う感じの処理です。
OpenDialog等でファイルを開いた時に対象ファイルの属性を取得したいのですが、
取得する場合はどうすればいいのでしょうか?
>>276さん、フサギコさん
ありがとうございます。まだDelphiを始めて間もないですが、
自分なりに努力してやって行こうと思っております。
ご迷惑をお掛けするかも知れませんが宜しくお願いします。
0281デフォルトの名無しさん
NGNGExtractFilePathでファイルがあるフォルダを取得して
FindFirst、FindNextをループさせて頑張る。
0282デフォルトの名無しさん
NGNG他にもあるかもしれないけど FileGetAttr
人に聞くのも一つの解決法かもしれないけど、ヘルプを引く癖をつけた方がいいよ。
このFileGetAttrという関数を覚えていたのではなく、ヘルプを開いて、「VCLリファレンス」
「ルーチン一覧(カテゴリ別)」、「ファイル管理ルーチン」と辿って見つけた。約1分。
>>280を書いて、俺がたまたま読んで、このレスを書くまで約30分。この差は大きい。
Delphiのヘルプって使いづらいとか言われてるから、慣れるまで時間がかかるかも
しれないけどね。俺は他の言語をほとんど使ったことがないのでよくわからないけど。
0283デフォルトの名無しさん
NGNGFindNext って、あんたワイルドカードを含んでいるわけじゃないんだから、
ファイル名が確定している状態で FindFirst に渡せばそのファイルの属性が取れる。
0284デフォルトの名無しさん
NGNGあと、ReadOnly のファイルに上書きしたい。という欲求が出てきてもおかしくないから
「開いたときの属性」ではなく「保存時の属性」で判断したほうが自然。
0285デフォルトの名無しさん
NGNG原因を表示しても良し。
0286デフォルトの名無しさん
NGNG282さんの解説して下さったFileGetAttrで処理する事に致しました。
対応としてはメモ帳と同じように、読み取り専用のファイルの場合は
[名前を付けて保存]の処理に移動させるようにしたいと思います。
>>282さん
ご注意頂き申し訳ございませんでした。
これからはヘルプ、Tips等を参照してから質問するかどうかを判断したいと思います。
今回のように基本的なことはすべてヘルプで解決出来そうなので…。
お邪魔致しました。
0288デフォルトの名無しさん
NGNGみたいな設定を自作のコンポのスクロールに反映させたいのですが。
現在は、WM_WHEELlを受信したときWM_VSCROLLに置き換えて1単位ずつ雨後貸しています。
0289デフォルトの名無しさん
NGNGそうですか。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG遅くなってスミマセン。ありがとうございます。
しかしそれはwin98じゃできないみたいです。
0292デフォルトの名無しさん
NGNGこんな2ch用語あったか?
0293デフォルトの名無しさん
NGNGhttp://yasai.2ch.net/test/read.cgi?bbs=win&key=994872359&st=316&to=323
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNGあきらめろ。
0296デフォルトの名無しさん
NGNGイルカ。
0297デフォルトの名無しさん
NGNGわかりました。どうも、ありがとうございました。
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGボーランドはギリシャが好きらしく、
Midas (手に触れるものすべてを黄金に変える力を
与えられた王)などのソフトがある。
0302-
NGNG0303なんで
NGNG0304デフォルトの名無しさん
NGNGhttp://groups.google.com/groups?hl=ja&group=comp.lang.pascal.delphi
0305デフォルトの名無しさん
NGNGアプリによってUIがまちまちなんで全部自前で作らないと駄目なのかな
0306デフォルトの名無しさん
NGNGSHChangeIconDialog を使う。
0307デフォルトの名無しさん
NGNGでDEMOSにあるサンプルを見たが、どれが何だかわからん、ヘルプに説明無いし。
どっか説明してるとこあったら教えてくださいませ。
0308sage
NGNG絵心がないもので...。
0309デフォルトの名無しさん
NGNG別のDelスレにレスがあるよ
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGまにふぇすとを用意する。
0312デフォルトの名無しさん
NGNGSetWindowLongで無効にするだけだと、Userの操作での最大化は防げても
プログラム自体がShowWindow辺りで最大化するのは防げませんでした。
何かヒントなどありましたら教えてください。お願いします。
0313無断転載
NGNG・ ウィンドウがアクティブにされたり、 作成されたり、 破棄されたり、 アイコン化されたり、 最大化されたり、 移動されたり、 サイズ変更されたりする前
・ システム コマンドが完了する前
・ システム メッセージ キューからマウス イベントやキーボード イベントが削除される前
・ キーボード フォーカスが設定される前
・ システム メッセージ キューを同期させる前
フック プロシージャが返す値により、 Windowsがこれらの操作のいずれかを許可するかまたは許可しないかが決まります。コンピュータ ベースのトレーニング (CBT) アプリケーションは、 システムから有用な通知を取得するために、 このフック プロシージャを使います。
0314デフォルトの名無しさん
NGNG強引な方法だが、KERNEL32.DLL以外で、
対象アプリが起動時に読み込むDLLのラッパを作成。
そのラッパDLL内部で最大化したくないウィンドウをサブクラス化する。
そして最大化のメッセージを拾ったらそれを捨てる。
イメージとしてはWinMXに対するchime、かちゅ〜しゃに対する
Katjusha Extenderな感じだね。
これでどうだろう?外部からあれこれいじるのはあまりスマートに
実装できないし…(少なくとも漏れはスマートに実装する方法は知らない)
こうやって内部に侵入した方が(・∀・)イイ!と思われ。
0315デフォルトの名無しさん
NGNGシステムフックって開発/デバック時、
Windowsや他のアプリにDLL掴まれて再構築とか
出来なかったりして面倒だし、最悪システム全体に
悪影響及ぼすから、あまりスマートとは思えないスマソ。
0316デフォルトの名無しさん
NGNGスレッドに掛けるようにすればという所感。
0317312
NGNGサブクラス化かフックということになるのですね。
詳しく調べて実験してみようと思います。
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG閉鎖
0320デフォルトの名無しさん
NGNGDelphi4が1000円で売っていたのですが
今、持っているDelphi6Personalをそのまま使用したほうがいいでしょうか?
それとも買いですか?
0321デフォルトの名無しさん
NGNGPro以上なら買いだ
0322デフォルトの名無しさん
NGNGClient/ServerかProfessionalなら買い。Standardなら不要。
VCLソースが入っているかどうか判断の基準。
実際に使うのはDel6PersonalでDel4のVCLソースを参考にするという
使い方がいいと思う。
0323デフォルトの名無しさん
NGNG\1000ならやっぱり買いだ
0324デフォルトの名無しさん
NGNG正規ライセンスがついていれば買い。
もちバージョンアップが前提。
0325デフォルトの名無しさん
NGNGどのスレかだけでも教えて
0326デフォルトの名無しさん
NGNGフサギコ
0327デフォルトの名無しさん
NGNG見つけました。ありがとうございます。
0328Delフサギコ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < 他にアイコン画像のいいサイトがあったら報告してね。
UU"""" U U \_______________
Delphiお役立ちサイト(コピペ)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
0329( = ゚ ω゚ )
NGNG2つ目のフォームを追加し、その名前を aa.pasなどとして保存し、
1つ目のフォームの uses に aa.pasを追加して
実行(コンパイル)すると、
usesの中にある Forms に対して
Forms.pasはどこにあるの?指定して
というエラーメッセージが出てしまう。
コンパイルされない・・・・
フォーム一つだけならこんなことならずにコンパイルできるのに
フォームが1つのプログラムしか作れなくて困ってます。
助けてぇ
0330Delフサギコ
NGNGミ ゙''゙〜
ミ∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚彡 < そんな風にならないけど…
U U \________
関係ないと思うけど、D6?Personal?
Updateはあてましたか?<<大切なのでアテテください
0331( = ゚ ω゚ )
NGNG0332( = ゚ ω゚ )
NGNGForm1(Unit1.pas)
Form2(Unit2.pas)
をつくって、
メインフォームであるForm1のusesに
Unit2を追加するだけで良いの?
それから両フォームで使用する変数って
値が変化せずにちゃんと引き渡されるのかな
なんか変数が初期化されちゃうんだけど(0になる)
0333Delフサギコ
NGNGミ ゙''゙゙゙つ
ミ∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚彡 < で、とりあえずウプデト1は当てた?
U U \当ててないなら、大切だから当ててチョよ。
Form1のusesっていうのは
interface節ですよね。
今回の問題とは関係ないと思うけど
implementationにもusesできますので
区別しておきましょう。
>メインフォームであるForm1のusesに
>Unit2を追加するだけで良いの?
[ファイル(F)]-[ユニットを使う(U) Alt+F11]
するといいんじゃない。
>それから両フォームで使用する変数って
>値が変化せずにちゃんと引き渡されるのかな
>なんか変数が初期化されちゃうんだけど(0になる)
詳しくは
Delphiテクニックマスター集中講義 谷尻かおり(谷尻 豊寿 監修)
技術評論社 \2,718 ISBN4-7741-0305-5
このあたりの本に載ってるんだけど…
ここでは教え切れない面も多いので
変数スコープに関して書いている書籍を調べた方がいいです。
両フォームで変数を共通に使うよりも
Formのメンバーにアクセスする方がいいんだけどなあ....
0334( = ゚ ω゚ )
NGNGなんかうまくいかないから、初めからやり直してる。
今のところ問題なくいってるよ
Form1,2を別々に作ってから、
後でプロジェクトの追加でForm1にForm2を追加すると
おかしくなっちゃうんだ。
でもこれだと、前に作ったformが全て使えない事になってしまうぅぅ。
updateは今DL中です。
Formのメンバーってなんですか?
0335ソース貼れ
NGNG0336( = ゚ ω゚ )
NGNGprivate
tt: integer; ←(1)
public
ss: integer; ← (2)
end;
var
rr: integer; ← (3)
この(1)で宣言したttは、このフォーム内でのみ使用
(2)のssはどのフォームでも使用可能ということですよね?
どのフォームからでも、ssの値を参照したり、
値を代入したりできるのですよね?
ここでは var はいらないのですか?
(3)のrrはこのフォーム内のみで使用可能らしいのですが
何故privateのところで宣言しないのでしょう?
(1)と(3)にはどんな違いがあるのですか?
0337( = ゚ ω゚ )
NGNG0338デフォルトの名無しさん
NGNG>(1)と(3)にはどんな違いがあるのですか?
(1)はフォーム(=クラス)ローカル
(3)はユニット(=ファイル)ローカル
いまはたまたま一ユニット一フォームなんで違いが目立たないだけ
といっても今の知識じゃわからないだろうから
とりあえず(1)を使うべし
0339( = ゚ ω゚ )
NGNGinterface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, YaTask, Menus;
type
TMainForm = class(TForm)
TPNameBox: TEdit;
(中略)
TaskOrder: TMemo;
procedure TaskStartBtnClick(Sender: TObject);
procedure O1Click(Sender: TObject);
procedure S1Click(Sender: TObject);
procedure X1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
MainForm: TMainForm;
PresentTP: String;
TAD, AAD: array[1..100] of Integer;
implementation
{$R *.dfm}
procedure TMainForm.TaskStartBtnClick(Sender: TObject);
begin
TAD[1] := 5; AAD[1] := 9
TaskForm.ShowModal
end;
0340( = ゚ ω゚ )
NGNGunit YaTask;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TTaskForm = class(TForm)
(中略)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
TaskForm: TTaskForm;
implementation
{$R *.dfm}
procedure TTaskForm.FormCreate(Sender: TObject);
begin
label1.Caption := IntToStr(TAD[1])
end;
0341デフォルトの名無しさん
NGNGとりあえずマニュアル読めや。同じ言葉は同じ意味を持つようにしないとコミュニケーション
できないからな。
マニュアル読んで、わからなかったらそこを聞け。
0342( = ゚ ω゚ )
NGNGTAD[1]が、YaTaskの方で
未定義の識別子 TAD
って出てしまう。
どーしたらいいの?
ベーシックしか使った事無いんだけど
Delphiがこんなにややこしいとは思わなかったよ
フォームの追加とか本の通りにやってるのに
エラーがでまくって全然コンパイルできない
個々のフォームは文法エラーとか解決してるのに
泣けてくるよぉ
0343デフォルトの名無しさん
NGNGBASIC のことを一度完全に忘れろ。
0344デフォルトの名無しさん
NGNGuses YaData;
interface
PresentTP: String;
TAD, AAD: array[1..100] of Integer;
implementation
end.
ってユニット作ってから両フォームからuses YaDataする
0345( = ゚ ω゚ )
NGNGForm2でXの値をYに代入するには、
Form1とForm2にどんな文章が必要なのですか?
XとYはどこで宣言すれば良いのですか?
とりあえずこれだけ知りたいです。
0346( = ゚ ω゚ )
NGNGForm1、Form2じゃなくて
Unit1、Unit2かな
0347( = ゚ ω゚ )
NGNGYaDataで宣言した変数は、
YaTask,YaMainで宣言無しでいきなりしよう出来るのですか?
0348デフォルトの名無しさん
NGNG誰でも使えるように「許可」する。
ってのと
誰でも使える物を「使用」する。
ってのは本来別の作業。
未定義エラーがでたユニットに,TAD を定義したユニットを
[ファイル | ユニットを使う] で追加。
もし「追加できない」と言われたら,未定義エラーがでたユニットの
'uses' 節を確認し,TAD を「使う」場所より上の uses 節で
TAD を「定義」しているユニットが現れるように修正。
0349( = ゚ ω゚ )
NGNGinterface
PresentTP: String;
TAD, AAD: array[1..100] of Integer;
implementation
end.
これでコンパイルしようとしたら
3行目をさして
宣言が必要な場所に識別し PresentTPがありますってエラーがでたよぉ・・・・
0350デフォルトの名無しさん
NGNG使っている環境をかけ。D6 Personal だっけ?
マニュアルは目を通したか?読んでいないならそう書け。ただで教えを求めているのだから
少しは恥をさらせ。
D6 Personal のクイックスタートには例の問題があるから,
Delphi 5 クイックスタート・アップデートファイル
ftp://ftp.borland.co.jp/pub/delphi/d5onlinedocup/D5DOCTET.zip
を入手して最低限の知識を付けろ。
ここにでてくるプログラムの意味を理解できるようになったら出直してこい。
0351デフォルトの名無しさん
NGNGいい加減にしろ。そのエラーに対して F1 ヘルプを読め。
エラーがでたら思考停止か?ボケ?
「宣言が必要な場所に識別子」があるんだよ。
0352( = ゚ ω゚ )
NGNG2つのユニットで変数をやりとりするって話は出てこないのでは?
>>348 の方法で2つユニットで共通の変数を使用できる様になったけど
こんどはユニットごとでその変数を初期化してしまう・・・
ユニット1で代入した値がユニット2ではゼロになってる。
D6personalですよ。
マニュアルにユニット間での変数共用に付いて解説してるページ、ありましたか?
0353デフォルトの名無しさん
NGNGこれでもみて悩んでちょ↓
unit A;
interface
type
TALPHA = class
private
fMember1:Integer;
public
fMember2:Integer;
procedure Func;
end;
var
gVar:Integer;
implementation
var
Var2:Integer;
procedure Func2;
begin
//使えるもの:Var2,gVar
//使えないもの:fMember1,fMember2,Func,FuncB
end;
procedure TALPHA.Func;
begin
//使えるもの:fMember1,fMember2,Var2,gVar,Func2
//使えないもの:FuncB
end;
end.
unit B;
interface
implementation
uses
A;
var
Alpha:TAlpha;
procedure FuncB;
begin
//使えるもの:gVar,Alpha.fMember2,Alpha.Func
//使えないもの:Var2,fMember2,Func2
end;
0354デフォルトの名無しさん
NGNGみんな親切に答えてくれるよ
特に戸田って人が。
0355デフォルトの名無しさん
NGNGネームスペース,っていうよりスコープの概念が欠落しているというか。
いいんじゃないの?コンパイル時とリンク時の2段階ある C/C++ で悩むより
1段階ですむ Delphi で可視性を学んだ方が楽だと思うよ。
0356デフォルトの名無しさん
NGNGだから、実際には変数として定義しないといけない。
var Form1:TForm1; ってあるところが実際の定義だから
クラス内でxxx:integer; とか定義したのは クラスの外からは Form1.xxxで参照しなければいけない。
ただ、クラスの場合は定義しただけじゃ実体がまだ出来てないのが構造体と違う所。
構造体じゃない所で varで定義してるのが変数。
interface で定義したら グローバル 他の ファイルから見える
implementation で定義したらローカル 他のファイルからは見えない
0357デフォルトの名無しさん
NGNGPresentTPやらTADやらAADをTMainFormのパブリックメンバにして
TMainForm = class(TForm)
public
PresentTP: String;
TAD, AAD: Array[1..100] of Integer;
end;
unit YaTaskのimplementation部でuses YaMainして
unit YaTaskからは、TMainForm.TAD[0] := 3; とかした方が楽だと思うが?
0358デフォルトの名無しさん
NGNGフォーム同士でやりとりする場合は
直接公開するよりメソッドにするか プロパティにする方がいいよ
0359デフォルトの名無しさん
NGNGとりあえずObjectPascal言語ガイド通し読み10回の刑に処す。
0360( = ゚ ω゚ )
NGNGはぁぁい
只今読んでおります。
0361デフォルトの名無しさん
NGNG読んでてもつまらないかも知れないが、基本は大切だ。頑張れよ。
0362デフォルトの名無しさん
NGNG「Delフサギコの *やさしい* Delphi質問スレ」になってますな。
0363デフォルトの名無しさん
NGNGどうでもいいじゃないか。
どうせ匿名掲示板なんだし。
0364デフォルトの名無しさん
NGNG∧ ∧
( ´∀`)( 中村ってオッサンも答えてくれるよ。仕事してないのかな? )
0365デフォルトの名無しさん
NGNG具体的に何が違うのでしょう?
どっちを買った方がいいですか?
0366味噌醤油醸造株式会社
NGNGhttp://www.borland.co.jp/delphi/del6/features.html
0367デフォルトの名無しさん
NGNGありがとうございます。
参考にさせていただきます。
0368Delフサギコ
NGNG大人買いを超えるブルジョ-ア買いが必要
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧
ミ,,゚Д゚彡∬
〃 つ旦O
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0369デフォルトの名無しさん
NGNGUpxとかを使って圧縮するほかに、ファイルサイズを小さくするテクニックってありませんか?
0370ねこま
NGNGhttp://halbow.cool.ne.jp/
0371デフォルトの名無しさん
NGNGなるほど、ありがとうございます。
やっぱり、VCLを使うかぎり重くなるのは仕方ないんですね。
直APIか・・・
0372デフォルトの名無しさん
NGNGってのは都市伝説に近いものがある。
そりゃ、API のみ呼び出しでけりがつくプログラムならそっちが小さいが、
ある程度のプログラムになるとみな同じ。
0373デフォルトの名無しさん
NGNGWinアプリのExeはどれも数メガ単位。
VBなんかはExeが小さくても超重いし、メモリ不足がすぐ起きる(ナンデ?って感じ)。
Delphiだとフォーム一枚のときはExeが大きく感じるが、
それからフォームをどんどん増やしていってもそれからは余り大きくならない。
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGDelphiはランタイム使わなくてスタティックリンクしたら良いYO!
Delphi&VCLって重いっていうより高速って話なんだけど。
VBのランタイムなら重いしメモリを一杯積んであっても自己メモリ不足エラーを起こす。
0376デフォルトの名無しさん
NGNGでもランタイム配布面倒だYO!
高速かはわからんが、少なくともVCアプリと同等レベル、
もしくはそれを前後するかと思われ。
だったコード次第でどーにでもなることだし。
で、重いっていうより、コードサイズがでかくなるんだよな>ランタイム
>VBのランタイムなら重いし
そうそう、VCLの比じゃないよな、あのサイズは。
ちょっとしたツール作ってFDに入れたとき、Delphiなら
ランタイムを気にしないで(・∀・)イイ!!から(゚д゚)ウマー
0377デフォルトの名無しさん
NGNG0378375
NGNGよく見てなかった…鬱氏
逝ってきます…
0379376=378
NGNG0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNGXPにしたら動かなくなってしまいました。
呼び出し先が呼び出しを拒否しました、ってどういうことだろう・・・。
この場合、WORDの設定が悪いと考えるべきでしょうか?
0382デフォルトの名無しさん
NGNGWindows XP 上の Office XP ? それとも Office 2000 ?
Windows 2000 の上で動いていたときの Word と
動かなくなった XP 上の Word と
二つのワードは同じ版?
0383デフォルトの名無しさん
NGNGWORDはWindows2000で動いていたのと同じ、Office2000シリーズの物を
WindowsXPにインストールしたのです。
Word.Applicationでバージョンも指定していないので、問題ないと思うのですが・・・。
0384デフォルトの名無しさん
NGNGXP でセキュリティが厳しくなったのかねぇ。
手元の .net server には Office 入れていないので
テストできないから、すぐには答えられないけど。
とりあえず dcomcnfg とかわかるなら、動かしてComponent Service / Computer の
プロパティの Default COM Security をチェックしてみたら?
0385デフォルトの名無しさん
NGNGちょっと面倒なので、どなたか TTinyForm クラスを作ってくれませんか?
0386デフォルトの名無しさん
NGNGサイズが大きくて具体的にどんな問題があるのかいってみ
0387デフォルトの名無しさん
NGNGどこが面倒なの?
0388デフォルトの名無しさん
NGNGアフォ?
0389デフォルトの名無しさん
NGNGウィルスのサイズが360KBもあるとダサイじゃん。
0390387
NGNGアフォですが、何か?
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGってことを覚えている人がどれだけいるか。
0394Delフサギコ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < 元々しらへん
UU"""" U U[大阪弁]_______________
0395デフォルトの名無しさん
NGNGhalb○wさんのページに行くといいよ(知ってるか
0396デフォルトの名無しさん
NGNG直APIでよく作るけど、TForm並みのものを作るのはかなり面倒。
TFormってそれ自体独立してなくて、VCLがいろいろからんで来るから余計。
ていうか、そこまでするならVCL使った方が早いよ。
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNGそれでも今の時代じゃ 360KB 増えても気付かないだろうな・・・
0399デフォルトの名無しさん
NGNG表示する画像も指定できて、フラットスタイルにできる
スピードぼたんなのって何かないですか?
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGTSpeedbuttonをドラッグさすのって、
MouseMovwのとこにざくざく自分でコードかかんかったら
駄目なんかな
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNGあれじゃないの?MS-Officeのツールバーみたいに
カスタマイズできるやつ。
0405401
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNGナイスアイディアで賞。
0408デフォルトの名無しさん
NGNGDelphi6付属の InstallShield Express Borland Limited Edition で、
ひとつの*.msiだけ配布すればいいようなビルドはできますか?
どーやっても、*.msiと*.cabのふたつができてしまいます。
0409828
NGNGより移転。
828 :デフォルトの名無しさん :01/12/13 13:59
変な質問でごめんなさい。
DllとExeでstringの受け渡しをする時、RefCountを0にしないように気をつければ
BorlandMM.dllを使わなくても大丈夫ですか?
0410デフォルトの名無しさん
NGNGけど、文字列型の管理は目に見えないところで行われるから、気をつけたほうがいいよ。
0411デフォルトの名無しさん
NGNG何か条件があるんでしょうか?
0412デフォルトの名無しさん
NGNG知ろうと思い、ソースを眺めてみましたが、スレッドを作るときに
ダミーっぽいウィンドウを作りそのウィンドウにメッセージを送って
Synchronize引数の関数を実行しているようにしか見えないのですが、
こんなんでメインスレッドとの同期が取れているのですか?
0413デフォルトの名無しさん
NGNGメッセージは電話のように割り込みで送られるわけではなく、
メールをチェックするように、来てるかなと問い合わせますよね?
0414デフォルトの名無しさん
NGNG解放してやっても、タスクマネージャで見ると使用メモリ量が減らないのは
何故ですか?
ちゃんと解放されていないのでしょうか?
普通に Free メソッドを呼び出しているのですが・・・
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGメモリ管理を行います。そのため、メモリブロックを開放したからといって
その時点ですぐに OS にメモリが返却されるとは限りません。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG0422414
NGNGありがとうございます・・・
では解放したメモリをOSに返却するにはどうすればようのでしょうか?
常駐するタイプのアプリを作っていて、できるだけメモリを節約したいのですが。
0423デフォルトの名無しさん
NGNGフォーム自身が使うメモリは大した事ないと思うのですが。
InstanceSizeで見れるのか?
0424デフォルトの名無しさん
NGNG詳細はヘルプにある。
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNGまたのご利用をお待ちしております。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGコンポーネントの話が載っているけど、
そんなのどこにも見当たらない。Enterprise 版のみの機能?
0430デフォルトの名無しさん
NGNGしたらよいのでしょうか?
初心者質問ですいません。
0431デフォルトの名無しさん
NGNGDelphiヘルプ - Delphi6の新機能 - XMLのサポートを見ると
タイトルが
「XMLのサポート(Enterprise 版)」
となっているのでそうかも
開発者ガイド 30-3の記述どおり、Ent版の[Internet]ページにはある
0432デフォルトの名無しさん
NGNGvar
p:Tpoint;
rgbcolor:Tcolor;
begin
if button =mbleft then begin
GetCursorPos(p);
p := image1.ScreenToClient(p);
rgbcolor:=image1.Canvas.pixels[p.X,p.Y];
・・・
のように
イメージ上のクリックした点の色データを収得したいのですが、
pixelsがcanvasにみつからないんです。
なにか、ほかの方法ってありますか?
0433デフォルトの名無しさん
NGNGProfessional版を買いました。
Professional版でもSQL-ServerやOracleに接続できるのでしょうか?
それとも、Delphiユーザーでデータベースを使われる方は、
Enterprise版を買われているのでしょうか・・・(泣
初心者質問ですいません。
0434Delモナー
NGNGADOExpressで接続できる。
0435デフォルトの名無しさん
NGNGそれに対した処理ってどういう風にやったらいいですか?
OnClickはStatusbarにしかなく、
StatusBarのどこをクリックしても同じになっちゃいます。
Moon Browser や Netscapeの、アイコンクリックで
オンライン・オフラインの切り替えができるようなものです。
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNGOpenGLかdirectを使えばformより表現力があってfilesizeは50kbyeくらい
サンプル豊富
あとKol+MCKというのを使うとビジュアルで開発できてファイルサイズは50kbyteで
ADOにも対応
あと基本だけどdelphi3を使えば基本コードは180kbyte、まだ現役でd5やd6と合わせて使う人は多い
D5とかd6で関数を作ってd3でアプリを作るのが手っ取り早いのかも
もっともWin32APIベースでもテンプレート作っちゃえばあとは楽じゃない?
delphiはBCBやVCよりもAPIベースのアプリ書きやすいと思うが
0438437
NGNG0439デフォルトの名無しさん
NGNG回答ありがとうございます、少しホッとしました。
質問ばかりで申し訳ないのですが、
SQL LINKは、教えて頂いた接続方法と何が違うのですか?
どちらを使う方が良いのでしょうか?
0441435
NGNGありがと
なんだか大変そうだけど頑張ってみる
0442デフォルトの名無しさん
NGNGuses
CommCtrl;
function WhichPanels(SB:TStatusbar;x,y:integer):integer;
var
i:integer;
r:TRect;
pt: TPoint;
begin
result := -1;
pt := Point(x,y);
for i := 0 to SB.Panels.Count-1 do begin
SendMessage(SB.Handle,SB_GETRECT,i,LPARAM(@r));
if PtInRect(r,pt) then result := i;
end;
end;
procedure TForm1.StatusBar1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
ret:integer;
begin
ret := WhichPanels(Statusbar1,X,Y);
if ret <> -1 then
Label1.Caption := 'You Clicked Panels of '+IntToStr(ret);
end;
0443デフォルトの名無しさん
NGNGこういうのがさらりと出てくるのカコ(・∀・)イイ!!
0444デフォルトの名無しさん
NGNGそらもう Borland 直営サポートサイトですから。
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNGマウスイベントとキーボードイベントを使え。
0448デフォルトの名無しさん
NGNGObject Pascal で。
0449デフォルトの名無しさん
NGNGデザインパターンの一種?
0450デフォルトの名無しさん
NGNG例なら他の言語のでもいいんじゃない?
Java 読めないとか?
0451デフォルトの名無しさん
NGNGそーです
Undo とか実装する時に使うんだったかな
0452デフォルトの名無しさん
NGNGDBGridに表示するのですが、ユーザーからの条件入力によって、
絞り込みを行うにはどうすればよいのでしょうか?
0453デフォルトの名無しさん
NGNGSQLでお好きなように。
0454デフォルトの名無しさん
NGNGまたはフィルタ使うとよろしい。
0455デフォルトの名無しさん
NGNG試してみます。
>>454
フィルタ・・・ すいません、まだ初心者なので、よくわからないのです。
SQLを何度も書き換えなくても、Delphiらしい便利な機能があるんですね。
フィルタってどんな感じで使う物なのですか?
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG'を2つ並べる。つか、色々試してみると聞くより早く解決すると思われ。
0458デフォルトの名無しさん
NGNGそうですね、色々試してみます。 m(__)m ぺこり
0459デフォルトの名無しさん
NGNGQuery.SQL.Append('SELECT * FROM HOGE');
として
Query.Filter := 'HOGE1=1';
とかSQLのWHERE以降を入れて
Query.Filtered := true;
つーかHelp読め。
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNGあ、探してる人がいた(^^;。
二つ検索でひっかかるけど、どっちも無いんだよねー。
移転or新装開店中なんかしらん?
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG〔連語〕(「かしらぬ」の変化した語)
1 文末に付いて、終助詞的に用い、疑いや問いかけの気持を表わす。…だろうか。かしら。*滑・浮世床‐初「あれでもすむ事かしらん」
Kokugo Dai Jiten Dictionary. Shinsou-ban (Revised edition) ゥ Shogakukan 1988/国語大辞典(新装版)ゥ小学館 1988
0464デフォルトの名無しさん
NGNG∧||∧
( / ⌒ヽ
| | 462|
∪ / ノ
| ||
∪∪
オタしか使ってるのを見てなかったので
オタ用語だと思ってました。
ご迷惑おかけしました。
0465デフォルトの名無しさん
NGNG〔「か知らぬ」の転。近世江戸語以降の語〕
(副助)意味・用法は「かしら」に同じ。
「あの人はどこ―へ行ってしまいました」「毎日商(あきねえ)から帰りにはの、何―竹の皮へ買つて来ての/滑稽本・浮世風呂 2」
(終助)意味・用法は「かしら」に同じ。
「どこへ行ったの―」「バスにしよう―」「あれでもすむこと―/滑稽本・浮世床(初)」
〔江戸語では男女ともに話し言葉として用いたが、現代語では主として女性に用いられる。
また、現代語では「かしら」の形が一般に用いられる〕→かしら(副助・終助)
0466デフォルトの名無しさん
NGNG「かしらん」じゃなくて、「新装開店中なんか、しらん?」じゃないの?
0467デフォルトの名無しさん
NGNG∧||∧
( / ⌒ヽ
| | 462|
∪ / ノ
| ||
∪∪
お願いです。
もうそっとしておいてください。
0468デフォルトの名無しさん
NGNG逝くこたぁないだろ。生きろ。
一生十字架背負ってな。
0469デフォルトの名無しさん
NGNGどうすりゃいい?
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGオレとしては消えてもらってもィィ!!
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNGだと思うんですが。
0474デフォルトの名無しさん
NGNGありがとう( `∀´)
0475Del若葉まーく
NGNGDel初心者です。よろしくお願いします。
日付型変数で、1日後、1ヶ月後、1年後を取得するには
どうすればよいのでしょうか?
年が変わったり、うるう年だったりとか面倒なので、
VBのDateAddやDateSerialみたいな関数を探してみたのですが、
見つけきれなくて、ここに書き込んでみました。
よろしくおねがいします。
0476デフォルトの名無しさん
NGNG日付とか書式を設定して表示するにはどうすればいいのでしょうか
0477461
NGNG昔の本にはよく、この表現が出ますな。
で、どーなったんだろう?<Magic of Delphi
0478delhpi
NGNG↑「ウェブ全体から検索」
http://www.google.com/search?hl=ja&q=delhpi&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
↑「日本語のページを検索」
このネタ、もうあった?自分も一回書いちゃったことがあるんだけど、
検索ひっかかるんで…。たくさんあるねぇ…。
0479デフォルトの名無しさん
NGNG"exploler" とかだと .jp しか出てこない
同じ日本人として恥ずかしい……
0480デフォルトの名無しさん
NGNG0481
NGNGこの所為でしょう http://www.allnet.ne.jp/info/index.html
作者の別のページ http://hp.vector.co.jp/authors/VA003670/
がんばってリニューアルして欲しいよ
0482デフォルトの名無しさん
NGNG>>475
DataAddはないと思うんですが、日付計算はEncodeDate, DecodeDate
を良く使いますね。
DecodeDate(Date, y, m, d);//今日取得
明日の日付=EncodeDate(y, m, d + 1);
ッてな感じです。
>>476
http://kova.cside2.jp/bbs/cyclamen.cgi?log=db&tree=r87
0483482
NGNG明日の日付=Date+1;
でした。あとIncMonthっていう関数もあるみたいです。
0484デフォルトの名無しさん
NGNG0485Magic of Delphi
NGNGhttp://web.archive.org/web/20011024020701/http://user3.allnet.ne.jp/tadnakam/
0486デフォルトの名無しさん
NGNGトップページしか見られない。ダメダメだよ?ん。
0487デフォルトの名無しさん
NGNGD++って何ですか?
D++って何ですか?
D++って何ですか?
D++って何ですか?
0488デフォルトの名無しさん
NGNG人を愛すって何ですか?
僕はなんのために、毎日飯食って糞しますか?
0489デフォルトの名無しさん
NGNGカート・ヴォネガットの本でも読みな。
0490Delフサギコ
NGNG_________
∧,,∧ /
ミ,,゚Д゚彡< 日本初のDelphi雑誌じゃなかった?
ミつ つ \ 編集者がバックレてしまって廃刊になったとか...
〜ミ ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
U U MLのログで罵り合いがあったような
ヨクシラン シリタクモナイ
0491Delフサギコ
NGNG>>483で答え出てましたが
一応、つことで。
 ̄ ̄∨ ̄ ̄ ̄
∧,,∧
ミ,,゚Д゚彡
ミ つ[ ソウス ]).
〜ミ ,, ミ
∪∪ 1年後は12ヵ月後にしてしまおう
procedure TForm1.Button5Click(Sender: TObject);
var
Ago1Month: TDate;
begin
//現在日を表示
DateLabel1.Caption := DateToStr(Date);
//5日前を表示
DateLabel2.Caption := DateToStr(Date - 5);
//1ヶ月前を表示
Ago1Month := IncMonth(Date, -1);
DateLabel3.Caption := DateToStr(Ago1Month);
end;
∧,,∧ />>482
ミ,,゚Д゚彡 < Decode/EncodeDateだと
U U \実在しない日付の場合、例外が出てやばいよ。
〜ミ ミ
∪∪ 12月32日とかね。
0492デフォルトの名無しさん
NGNG[ ] は強めの発音
(1) 「[デ]ルファイ」 デを強く発音し、ル、ファイと弱くなる。
(2) 「デ[ルファイ]」 デを弱めに発音し、ルファイ はデよりも少し強めに。
(3) 「[デ]ルフィー」
の3通りの読み方に分かれた。
俺も含め最も多いのは (1) だった。
辞書で見たら デルポイ とかでてたけどどうよ。
0493デフォルトの名無しさん
NGNG0494IME2002
NGNGでるふぉい − Delphi
でるふぃ − 出るふぃ
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG自分で「おもしろい! これはワラタをGETできる!」と思ってるの?
0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG某ページにあるネタなんだから一々けちつけないの…
0499ななしヘタぐらま ◆B18Bks.Y
NGNGDecode/EncodeDateで例外を出しちゃうバグは私も経験アリです.
おかげでIncMonth関数を覚えました.
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGタ
ニ
マ
ジ
レ
ス
カ
コ
ワ
ル
イ
0502冬休みで厨多過ぎです氏ね
NGNG0503delhpi
NGNGデルフピ?
カワイイ。
0504デフォルトの名無しさん
NGNG0505名無し募集中。。。
NGNGhttp://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=delphi&sw=0
0506デフォルトの名無しさん
NGNGデ[ル]ファイで決定と。
0507デルフピ
NGNGアレって、どーゆー仕組みなんだっけ?
昔、そんなスレあったけど、結局どーだったのか忘れた(結論見てないだけかも?)。
どーやってるの?
0508デフォルトの名無しさん
NGNG自前で圧縮・解凍の処理を書いてるに決まってんだろ
0509デルフピ
NGNGありがとう。やっぱりそうなんだ!すごいなぁ。
0510デフォルトの名無しさん
NGNG仕様が分かってるのだし。
0511デルフピ
NGNGいやぁ、アッシからするとスゴイでやんス。
まだヒヨッコなんで。デルファイの。
0512デフォルトの名無しさん
NGNGじゃあDLLはどうやって作ってんだ?ということを考えれば一目瞭然。
でも面倒なだけっつっても対応形式増えると馬鹿にならんなー。
0513デフォルトの名無しさん
NGNG0514デルフピ
NGNG0515デフォルトの名無しさん
NGNG0516デルフピ
NGNG0517デフォルトの名無しさん
NGNG0518Del若葉マーク
NGNG遅い返事ですいません。
親切にありがとうございました。
皆さんの様に、Delphiをバッチリ使えるように、
早く若葉マークを取りたいです・・・(泣
0519Del若葉マーク
NGNGまた、初心者質問をするかもしれませんけど、
宜しくお願いします。 m(__)m ペコリ
0520デフォルトの名無しさん
NGNGそんなことは無い。by 吐駄
0521デフォルトの名無しさん
NGNGリソース内のWinAPI呼び出しがうまく行かないと思うYO!
0522デフォルトの名無しさん
NGNGグローバル変数が使えないので、メモリマネージャの初期化に失敗する。
スタックだけでやるしかなYO!
0523517
NGNGという事は ・・・結局逆アセしてリンクした方がマシか
0524デフォルトの名無しさん
NGNG「呼び出し先が呼び出しを拒否しました」とか言われるのですが、どうしてでしょうか。
Excelの場合はそんなことないようです。
ttp://www.dm4lab.to/~usa/dekigoto/200110c.html
ここの人と似たような状態なのですが、解決策がわからず・・・。
Word側にSP2までは当ててみました。
0525デフォルトの名無しさん
NGNGと同じ話だね。
0526デフォルトの名無しさん
NGNGD3→D5はかろうじてがまんしたしWinAPI使えばどうにかなったけれど
フォームだけで
180k(D3)→280k(D5)→360k(D6p1)
D6だとフォームすら使っていないOpenGLアプリが
700kbyte→1.1Mbyteです。
なんかうまいてないですか??
0527デフォルトの名無しさん
NGNGまったくむかつきませんが何か?
0528デフォルトの名無しさん
NGNG1)UPX で圧縮する うまくゆけば1/3くらいになるぞ
これはホントにお薦め
2)D6は編集だけに使って配布する時はD3で
まあ実際にはD3は厳しいだろうからD4で
0529デフォルトの名無しさん
NGNGメインアプリはAPIベースで作ってるのでむかつきません。
0530デフォルトの名無しさん
NGNGま、フォーム使って無くても、コンポーネント使っただけでアウトなんだろうけど。
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGDel6をPentiumPro200MHz、HDD 1.2+1.0+3.2+20GB、MEM128MBのPC-9821で使って
まったくむかつきませんが何か?
0533デフォルトの名無しさん
NGNGstrList := TStringList.Create;
ShowMessage('$' + IntToHex(Integer(@sl)));
とかじゃ駄目だよねぇ。。
0534デフォルトの名無しさん
NGNG2行め、でした。
0535デフォルトの名無しさん
NGNGUPX 等のバイナリ圧縮は糞。
はっきりいって無駄な抵抗。
0536デフォルトの名無しさん
NGNGどうせフロッピーなんざ使わんし。
0537デフォルトの名無しさん
NGNG先生!UPXの何が糞かさっぱりわかりません!
0538デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/software/1007333774/
めんどいからここ読め
0539デフォルトの名無しさん
NGNGでも、圧縮されたファイルしか配布してないソフトは却下だな。
0540デフォルトの名無しさん
NGNGどーもUPXって、怪しくて使ってないけど。
日本の「同じ様な仕組みのツール」も開発されないもんかね。
フリーで。
って、前もどこかで同じこと書いたな。
0541デフォルトの名無しさん
NGNGAPIベースで組んでて小さいのをさらに小さくする(見た目のインパクト)のに使ってるよ。
大き目のアプリ組むでも100KByteくらいに抑えられるのがいいね。
>>539
いやだったら、upxで解凍できるだろ?
>>540
そういやDOS時代はあったね。
0542デフォルトの名無しさん
NGNGD3復活は考えた。フリーコンポーネントをベースにする場合はD3がベストかも
痛いのはDword問題のみだがこれは結構タイプライブラリーとかにも影響する。
D5learningがあるのでこれがメインになりそう...
>>530 >>531
そりゃWindowsだけ宣言してやればいいけれどsysutilesとclassesを使う場合
必要なものだけ取り込まないとだめみたいだ。
バイナリーサイズ気にならないというけれど
バージョンアップやdll分散考えた場合200kbyteと400kbyteの差は大きいのでは?
あと別スレにあったkolというのを使ってみたがD6のばあいこれはよさそう
どうしてもコンポーネントにこだわるならばdll化してdfmファイルを圧縮して
リソースに入れて読み込ませるのも一案かも...
あと調べたらADO関連はボーランド純正とフリーのものとデータ更新時に最悪10倍くらい
速度が違ってくるし
普通の計算はもちろんのこと
アセンブラでSSEで組んだ場合D5よりもD6のほうが乗算が遅めになるみたいだし
どうもソース編集をD6でやってD5でコンパイルというのが道筋みたい
ちなみにDCC32だけ使うでライブラリーが全部自前のときって
出来上がりのアプリを業務用や営利で使っても法的に問題ない気がする。
汎用性のためのラッパーなのに
結局はクラスを使わないでWinAPIを使ったほうがDelphiのバージョン間での
互換性が高いのってなぜ...
あとUPXだけどこんなん使うならば自己解凍式EXE使ったほうが無難じゃない?
0543デフォルトの名無しさん
NGNG成り立つ?
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNGsysutilsはよいとしてclassesはなぜいるの?
upxはまあほとんどキモチの問題だろ。
自己解凍式exeは意味不明。自己解凍して自動実行してくれるならupxでいいし。
ただ小さくするってんならまさに普通の圧縮形式でいいし。
0547デフォルトの名無しさん
NGNGでもzipよりもupxの方が小さくなるという事はよくあるね。
ところでdel関係スレを上げまくっているのは同一人物?
0548デフォルトの名無しさん
NGNGクラスのインスタンスははじめからポインタだよ。
ShowMessage('$' + IntToHex(Integer(strList)));
でよいのでは?
0549548
NGNGじゃなくて
ShowMessage('$' + IntToHex(Integer(strList),8));
ね
0550デフォルトの名無しさん
NGNGマジレスはカコワルイそうだが
> C#>>>>>>>>>>>>>>>>>>>>>>>Delphi
これはそもそも比較できないのでは? Delphi.NET ができたら
比較できるでしょ。でも、.NET 上では、なんで開発しても中間
コード生成であほくさいでしょ。
.NET 自体がダサい。
0551デフォルトの名無しさん
NGNG0552Delphian
NGNG悔しいがその通りだ。
C#がうらやましい…。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG君も冷静かつ公正にC#/.NET評価してみれば
その価値を理解できるよ。
0555デフォルトの名無しさん
NGNGかねてから凄いといううわさは聞いていたが。
そろそろDelphiは終了かな。
0556デフォルトの名無しさん
NGNGC# は、言語的には Jaba と VB を足して2で割ったような感じ。
.NET でなかったら、スカな言語です。
Delphian なら Delphi.NET で十分。
.NET は5年後、MS でさえ忘れているかもしれないよ。
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGJaba?
0559デフォルトの名無しさん
NGNGま、実際問題速度的なものを見るとDelphiでいいんだけど、
言語だけ見ればC#は確かにいいね。
C#-.netとIDEがあれば、浮気しちゃうかも。
0560デフォルトの名無しさん
NGNG成り立つ?
0561デフォルトの名無しさん
NGNG信者のすくつだからか?
0562デフォルトの名無しさん
NGNGうーん。ここ2chだから平気でC#の話題出してるけど、
Delphi専門のMLだとチョットマズイ気がする
0563デフォルトの名無しさん
NGNG>Delphi専門のMLだとチョットマズイ気がする
なんでだよ〜VBは平気で叩いてるくせに
誰かC#>>>>Delなメール投げて袋叩きになる勇者はいないのか(藁
0564デフォルトの名無しさん
NGNGusers.gr.jp は C# の ML も持っているんだからそちらに誘導されるだけでは?
0565パスカル触ってみた人
NGNGprogram stringtest
uses sysutils;
var pc:pchar; i:integer;
begin
pc:=getmem(1000*sizeof(char));
pc:='123456789012345678901';
writeln('strlen='+inttostr(strlen(pc)));
{この結果は21なるほど21文字あります}
pc:=reallocmem(pc,strlen(pc));
writeln('pc='+pc);
for i:=0 to strlen(pc)-1 do
writeln(pc[i]);
writeln(pc[strlen(pc)]); {あれ?アクセスできるなあ}
writeln(pc[strlen(pc)+1]); {これがアクセスできてしまうのはどういうこと?}
writeln(pc[100100]);{さらにこれさえ、できてしまう不気味でしょうがない.}
freemem(pc)
end.
なんかおれ馬鹿なんでしょうか?
デルファイではどうなりますか?
0566デフォルトの名無しさん
NGNG0567パスカル触ってみた人
NGNG改行が3つ表示されました。
0568デフォルトの名無しさん
NGNGDelphiでも実行できるけど?
0569パスカル触ってみた人
NGNGpcはポインタでメモリ割り当てないと
使えないですよね?
あるわけもないpc[100100]にどうしてアクセス
できるのかがよくわからないんです。
0570パスカル触ってみた人
NGNGpcharのサイズを調節するにはどうしたらいいんでしょう?
0571パスカル触ってみた人
NGNGprogram stringtestbak;
uses
sysutils;
var
pc:pchar;
i:integer;
begin
pc:=getmem(1000*sizeof(char));
pc:='123456789012345678901';
freemem(pc);
end.
とおもったら上のソースを実行してもアクセスバイオレーション
がでるようになった。
だめだ俺にはパスカルはわからない.
0572デフォルトの名無しさん
NGNG受け取っているのかもしれない(ソースを読めば分かるのかもねー、あははー)
571のはpc:='......';が、pcがGetMemでもらったポインタじゃなくて
リテラルをさすポインタに変更する危険なコードだとおもう。
ちなみにDelphiだと565のは通らないんじゃないのかね。
0573パスカル触ってみた人
NGNGになるんでしょうか
それを開放しようとして怒られるみたい。
571のpc:='...'の部分はポインタとしてのpcに何かしら他の
{$r+}
program stringtestbak;
uses
sysutils;
var
pc:pchar;
tmpp:pchar;
i:integer;
begin
pc:=getmem(1000*sizeof(char));
tmpp:=pc;
pc:='123456789012345678901';
if pc=tmpp then writeln('equal')
else writeln('not equal');
freemem(tmpp);
end.
ならエラーはでませんでしたやっぱり等しくなかったです.
まだ文字列のコピーの方法がわかりませんが
本もヘルプもないのでデルファイでやってみます。
0574何だろう君
NGNG勝手にアプリケーションの方で正常終了したら
解放すればいいんじゃないの?
freeしないとダメなヤツとかの話ね。
0575デフォルトの名無しさん
NGNG0576何だろう君
NGNGもしくは
「勝手に解放しない仕様にした」のは何故?
もしかして「アホまるだし」な質問してる?
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGgarbage collectionとかメモリ管理とか。
0579デフォルトの名無しさん
NGNGアプリケーションが正常終了したらまともな OS ならメモリはちゃんと開放されるぞ。
だからとはいえ長時間(何週間, 何ヶ月)走りつづけるプログラムとかもあるんだからそれだけじゃ困るだろ。
そうでなくても毎秒 MB 単位で漏れたりしたら数分ともたんだろ。
0580何だろう君
NGNGgarbageって、ごみくずって意味?
そー書いてあったけど…。
まぁ、「そうすることに意味がある」ってことにしときます。
くどくなりそーなんで。
答えてくれた人、どーもです。
あ、ヒープってのも意味分からんな。検索してみよう…。
0581何だろう君
NGNGえーと、finallyでfreeするstringlistとかは…?
でもま、だいたい分かりました<理由
どーもです。
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG開放されるって事?
0584トリックのエンディングは妙だ
NGNG0585デフォルトの名無しさん
NGNGwdiffで日本語化パッチを作ろうとしても
「ファイルをオープンできません」と出ます。
どなたか対処法をしらないでしょうか?
ヘルプファイルは目を通しており、やり方にミスは無いかと思います
差分ファイルを保存する際の拡張子は WDF or EXEのどちら?
当方 WIN98SEです。95じゃないと動作しないという落ちでしょうか?
0586デフォルトの名無しさん
NGNGポインタがわかってないのをパスカルのせいにしないで。
言語で禁止してくれるのを頼りにしすげると、ワナにはまりますよ。
わかってると思うけど、コンパイルが通ったからって必ずしも上手く実行されるとは限らないので。
0587パスカル触ってみた人
NGNGパスカルがわからないんじゃなくてポインタがわからないでした。
ただ、571は今見るとおかしいですがそのときは本当にわからなかったんです。
565は文字列の配列のインデックスってどうなっているのか
とか自分の中で混乱する部分を調べて
アクセスしてみてエラーを出して確認したかったんです
0588デフォルトの名無しさん
NGNG混乱するんだよね。上手くいっているように見えてそれは単なる偶然。
そういや、Cの実験室って本でポインタ周りをとことん実験して調べてて面白かったな。
今見ると当たり前のことが書いてあるんだけど、
ポインタの理解があやふやだったころは目からウロコだった。
0589デフォルトの名無しさん
NGNGテキストエディタを作っているのですが
ActionManagerコンポーネントがありません。
どうすればよいのでしょうか?
0590デフォルトの名無しさん
NGNG0591age
NGNG0592デフォルトの名無しさん
NGNGないのであきらめましょう。
ActionManagerがなくてもなんとかなります。
それかpro版を買うか
0593名無しさん@Emacs
NGNG> Delphi6パーソナルで
> テキストエディタを作っているのですが
> ActionManagerコンポーネントがありません。
> どうすればよいのでしょうか?
入ってないよ!!<ActionManager
BorlandのFAQに入ってないことは書いてあったけど、
俺も迷った(w
つーか、俺も今ヘルプのチュートリアルやってるけど、
そこで止まってる
メインメニューは作れたけど、
そこからオープンダイアログを開く方法がわかんね。
procedure TForm1.Open1Click(Sender: TObject);
begin
end;
このbeginとendの間に何か書けば良いと思うんだけど
どう書いたらよいんでしょう?
0594デフォルトの名無しさん
NGNG// オープンダイアログを開く
if OpenDialog1.Execute then begin
// ファイルが選択された場合
// テキストファイルとして読み込む
Memo1.Lines.LoadFronFile(OpenDialog1.FileName);
end;
0595デフォルトの名無しさん
NGNG結局抜かして先に進めということでしょうか?
0596名無しさん@Emacs
NGNG> // オープンダイアログを開く
> if OpenDialog1.Execute then begin
> // ファイルが選択された場合
> // テキストファイルとして読み込む
> Memo1.Lines.LoadFronFile(OpenDialog1.FileName);
>
> end;
出来た出来た♪コンパイルしようとしたら
Memo1のところで未定義の識別子ってでて来たけど、
これはMemo1をちゃんと定義してやればおっけーってことですよね?
その部分をコメントアウトしたらコンパイルは通って思ってた挙動を
してくれました。ありがとう。
>>595
抜かすと言うか別の方法を考える。
どう操作したって壊すことは無いんだから
いろいろクリックしまくってみるとか
0597デフォルトの名無しさん
NGNG他人が作った、あまり出来が良いとは言えないTLabel系コンポーネントを
継承してみて、初めて使い方が理解できたよ(笑
改めて見るとTCustomLabelって凄い!良く練られてる。
0598Delphiの初心者
NGNGFindDialogの使い方教えてください。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG「メモリークリーナー」の類はいらないと思う。
0601デフォルトの名無しさん
NGNGdel入門でメモ帳クローンは避けて通れないでしょ。
0602デフォルトの名無しさん
NGNGWIN32APIでエディットコントロールのセルまではわかるんだけど
コンポーネント見たく背景色を指定するのはどうしたらよいのでしょう。
とりあえずブラシは一つ作っているのですが
あとListvewとかの背景色もきぼーん kol使うというのは無しで
0603デフォルトの名無しさん
NGNG質問する前に検索して探すことをお勧め。
いっぱい書いてくださってるぞ<delphiの先輩方
0604Delphiの初心者
NGNG検索について詳しく書いてあるページとかありますか?
0605デフォルトの名無しさん
NGNGhttp://www.users.gr.jp/query.asp
http://www.google.com/
「検索について」が何を示すのか分かりませんが、この辺とか。
google知らないとかってのは無いですよね?
最初のURLはメーリングリストの過去ログですが、ちょっと使いづらいかも。
0606Delphiの初心者
NGNG0607605
NGNG604のURLで足りませんか?「delphi FindDialog」とかで。
0608605
NGNGつーか、「フリーで入手して説明書(?)が無くて何から学べばいいんじゃい?」
って人には。オレがそう(藁
でも、ただいま停止中。つーか、アドレスが使えなくなってる。
0609Delphiの初心者
NGNG0610デフォルトの名無しさん
NGNGここへどうぞ。
http://www.geocities.co.jp/SiliconValley-SanJose/2560/delphi4/index.htm
0612デフォルトの名無しさん
NGNGProで作ってPerでビルドできるか確認したいんだけど
0613何だろう君
NGNG同じようなこと書いてますね<メモリの解放
先読めば良かった。すんずれいしました。
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGコンポーネントでなければなおよかったのだけど
>>612 ひとつのOSでというかおかしくなるからやめたほうがよい
Per版用にHDDを買って切り替えたほうが無難では?
delphi6をWin2Kにインストールしたんだけど
通常使用するのは当然管理者権限じゃないんだけれど
管理者権限で許諾とったのに未許諾になってしまったのは切れた
つまりdeelphi自体全体的にフェールセーフにはできていない
許諾もソフトでとるんじゃなくて郵便でとんないとアプリとして管理できない
もしもボーランドが文句いわないのだったら
朝インストールして許諾とって夕方アンインストールしてもいいと思っている。
0616デフォルトの名無しさん
NGNG勉強用途のソフトと使ってもらおうと思って公開するのは別でしょ。
以前はそれを間違えて、勉強用に作ったあまりにありふれて不完全なものを
公開してシェアウェアにしていたものがいたが、
ま、最近はそういう人はそんなにいないだろ。
# 2ch見てる人ならなおさら
0617デフォルトの名無しさん
NGNG勉強用の場合おんなじテーマのもののほうがスピードとかの差がわかっていい。
極端なのがhello worldだと思うけれど
日本の場合IMEという厄介なものがあってエディタ関係というのは奥が深いと思う
ただ開発途上のものとか動作テストレベルのものでも
いろんな環境で見てもらうという意味では公開してもいいんじゃないかと思う。
シェアウェアにしても売れなきゃいいんだけど
コントロール並べただけで著作権がありますなどという奴もいるからなぁ。
というか著作権や特許のあるもの使っててGPLとか抜かす奴もいるし
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNGGNU GENERAL PUBLIC LICENSEの略
早い話がこのソースやライブラリーを使ったソフトを公開するときは
全ソースを公開しなくちゃだめってライセンスで
GPLを使ったら必ずGPLのライセンスをつけてGPLで出さないといけない。
dllにして制御すれば本体はよいというのがLGPL
ソース公開しなくても商用でもOKというのがMPL
とりあえずアプリケーションがフリーでも商品でもライブラリーがMPLか完全にふりーのものであれば
特許関係がクリアされているものならば問題なく使える
GPLで作ると例えばできのいい有料のコンポーネントなどを使って一部分だけ
GPLのものという形ができないのでオープンソースにも向かないと
折れは思う。
0620618
NGNG0621Del歴3日(
NGNG文字 → ASCIIコード、の変換はどうやるの?
Delphiの入門書には載ってない。StrToIntは使えないし・・・
取りあえずアセンブリ機能を使ってこんな事やってます。
var
Character: Char;
AsciiCode: Byte;
begin
asm
MOV AL, Character
MOV AsciiCode, AL
end;
0622デフォルトの名無しさん
NGNG(;´д`)
AsciiCode := Ord(Char);
0624文字列…
NGNG0625デフォルトの名無しさん
NGNGStringだけ使ってれば簡単じゃない?
0626デフォルトの名無しさん
NGNG多少歪で半端な仕様になっちゃってるからね
文句たれずに覚えちゃえばあとはどってことない
0627デフォルトの名無しさん
NGNGそうでないなら面倒かも。
Cのchar*やら、C++のstringやら、Delphiのstringやらどれかになれすぎていると、
逆に戸惑うな。
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630文字列…
NGNG{$H-}
で頑張ってる人いますか?
0631ウィルス職人
NGNG(;なのでまたprocedureかなんかで再開しろ)
0632デフォルトの名無しさん
NGNGはやく標準にしろ!!
0633デフォルトの名無しさん
NGNGUnicodeやだ!!VBじゃねえんだから。
0634デフォルトの名無しさん
NGNGs: WideString;
s:='感じ';Writeln(s[1]); // '感'
ってこと
0635デフォルトの名無しさん
NGNGソースコード見たらAnsiSameText 使ってたから区別しないって分かったけどさァ
Strings.IndexOfText
Strings.IndexOfStr
って区別してほしかったナ☆
0636デフォルトの名無しさん
NGNGprocedure SaveClassToFile(Filename:string; obj:TObject);
procedure LoadClassFromFile(Filename:string; obj:TObject);
関数作れませんかね。
ポインタを格納している場合は、その実体までさかのぼって
保存してくれるような。
0637デフォルトの名無しさん
NGNG・すべてのフィールドに対してプロパティを宣言する
・すべてのプロパティをpublishedにする
・レコード型、ポインタ型は使わずクラス型で置き換える
・配列は使わず、TList型にする
等々守れば出来るかも知れませんが……
0638デフォルトの名無しさん
NGNGWideStringってウニコードでしょう?
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNGPascalやBasicになれていれば長い文字列の方を選ぶのでは?
そりゃ俺だって、実行速度が必要なところでは仕方なくpchar使うけどさ。
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNGLongStr1 := 'TestString';
LongStr2 := PChar(@LongStr1[4]);
こんな感じの使い方を良くやるんだけど、コスト高いんだろうか?
PCharで統一した方が良い?気にする必要なし?
あと長い文字列の場合
if Length(LongStr1) > 0 then
Result := Length(LongStr1) div 3;
と、した場合(Length(LongStr1)が2回)と
Len := Length(LongStr1);
if Len > 0 then
Result := len div 3;
と、した場合(Length(LongStr1)が1回)でコストは違う?違わない?
0643デフォルトの名無しさん
NGNGレコードの動的配列などをDelphi3で使う場合は便利です。
というかINT64が使えてCardinalが32bitならばD3最強なんだが...
(D5,D6のTstream 32bitだし)
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGSetString(LongStr2, PChar(@LongStr1[4]), Length(LongStr1) - 4);
こんな感じかな?なんか余計にコストが掛かりそうな気が・・・・
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG2.SetString(LongStr2, PChar(@LongStr1[4]), Length(LongStr1) - 4);
3.LongStr2 := Copy(LongStr1, 4, Length(LongStr1) - 4);
4.LongStr2 := RightStr(LongStr1, Length(LongStr1) - 4);
む〜ん、色んなやり方があるもんだ。
私的には4.が読みやすくて良さ気だけど・・・・・
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNGDelete(LongStr2, 1, 3); // ここで初めて最初の3文字が削除されたコピーが作成される
0650デフォルトの名無しさん
NGNGエクセルのような表計算ソフトを作りたいのですが、
どのような手順でやればいいかわかりません。
使用するコンポーネント、コード等を教えてください。
環境はdelphi 5 proです。
0651ねこま
NGNGDelphian World にあったと思う.
以上
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNG簡単に言えば、レジストリエディタのように、ツリー構造で
ディレクトリもどきとファイルもどきが存在し、
テキスト形式のファイルで保存できるというものです。
ディレクトリの名前変更やファイル移動、コピーなどを実装したいのです。
スマートに実装する方法は無いものでしょうか。
[\c\windows\temp]
tempfile1="aefawef"
tempfile2="apweofawef"
[\c\windows]
system1="pokokp"
system2="pppp"
という感じで保存できるように。
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0657ねこま
NGNGTreeItem.Data に属性持たせとけばよさそう
そのまま表示できるのでデバッグも楽ちん
XML も良いアプローチ.
0658デフォルトの名無しさん
NGNGレジストリに書き出せば?
function EncodeStr(const s:string):string;
var i:integer;
begin
Result:='';
i:=1;
while i<=length(s) do
begin
case s[i]of
#0..#31,'"','''',',','&','%':
Result:=Result+'%'+IntToHex(ord(s[i]),2);
else begin
Result:=Result+s[i];
end;
end;
inc(i);
end;
end;
function DecodeStr(const s:string):string;
var i:integer;
begin
Result:='';
i:=1;
while i<=length(s) do
begin
if s[i]='%' then
begin
try
Result:=Result+ char(StrToInt('$'+s[i+1]+s[i+2])) ;
except end;
inc(i,3);
end else begin
if not(s[i] in[#$0d,#$0a]) then
Result:=Result+s[i];
inc(i);
end;
end;
end;
0659デフォルトの名無しさん
NGNGそんなに複雑なことも簡単にできるの?
0660デフォルトの名無しさん
NGNG付いてないですよね…はあ。
0661デフォルトの名無しさん
NGNGMSXMLつかえ
0662デフォルトの名無しさん
NGNGHTML は 「Web用の文書」 を書くための言語。
XML は 「何らかの言語」 を書くための言語。
自分で好きな言語を定義できる。
狭義ではデータ構造の定義でもいい。
>>660
msxml 使えば?
0663デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNG探してもみつからないけど、MSXMLっていう
Delphiからでも使えるライブラリがあるんですか
0665デフォルトの名無しさん
NGNG>自分で好きな言語を定義できる。
>狭義ではデータ構造の定義でもいい。
あ、そうなんだ。
てっきりHTMLの後継者だとおもっていた。
さっそくXMLの雑誌を買ってこよう。
0666デフォルトの名無しさん
NGNGWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, Chartfx3;
type
TForm1 = class(TForm)
Chartfx1: TChartfx;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
var i: byte;
begin
for i:=1 to chartfx1.NValues do chartfx1.Value[i]:=i;
chartfx1.Refresh;
end;
ってなときにぼたん1押しても値が変わりません
なにがわるいんでしょうか
へたれな質問ですまそ
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNGチャンク構造のバイナリファイルのほうがよいとおもふよ。折は
データベースでも何でもチャンク構造がよい
参考フォーマットとしてはPNGがよいな。
あとXMLは確かTorryにフリーとシェアと両方あったと思う。
タイプライブラリーでXML関連のを読み込んでもいいけれどでもソースのある奴は
やっぱ参考になるね、
コンポーネントは極力ボーランドのものじゃないほうが実行時バイナリと
開発時バイナリが分離されていて効率がよいように思える。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNGすみません、
>SGMLの2の舞
ってなんですか?
0671デフォルトの名無しさん
NGNG個別のデータ要素のタイプにかかわらず、要素の枠としてのフォーマットを統一して格納する方式。
たとえば種別(4文字程度)、サイズ、データ実体という組で一つのチャンクとして定義して、それに
則って読み書きするだけで汎用のリーダー/ライターが書け、知らない種別は無視しても
読み続けられるために後から種別が増えても下位互換性を保つようにできる。
さらにチャンクの中にさらにサブチャンクとして並べたりもすることでこの構造をツリーにすることもある。
バイナリの画像や音声フォーマットはチャンク形式を採っているものが多い。
XMLはこの考え方をテキストベースに置き換え、チャンクのフォーマットにあたる部分も
別途定義・記述するようにしたものといえるかな。
0672デフォルトの名無しさん
NGNGしたものなんか見たくも無い
0673デフォルトの名無しさん
NGNG671に補足すると、Windowsでは昔からRIFF形式ってのに使われてるよ。
で、RIFF形式ってのはWAVやAVIに使われてる。
0674668
NGNGhtmlが成功したのは自己完結型だからだと思うんだけど
XMLは例えばXML__type**みたいなのがきっちり決まっていればいいんだけど
一歩間違えるとただの暗号になっちゃう
仮にXMLを実装するとしても自己完結型か明示的に文法ファイルを指示したい
あと脱線しちゃうけれどMP3ファイルにRIFFヘッダーつけただけでACM APIで
再生できるのでDirectSoundでMP3をやる場合はありがたい
0675デフォルトの名無しさん
NGNG何かよくわからんが、普通 XML は DTD か XML Schme で文法を定義する。
0676デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/xml/default.asp
ほかにもIBMのDLLやOpenSourceのがあったはず
0677デフォルトの名無しさん
NGNGDTDやSchmeはよくわからんのとめんどくさいしほかとの連携もないのでパス
印刷する時はxslで見やすいようにしてIEで表示
0678デフォルトの名無しさん
NGNGwavやaviなんかそのたぐいだね。
確かにバイナリデータを扱うのが前提ならチャンクはらくだ。
0679デフォルトの名無しさん
NGNGこれを止めさせることって出来ないんでしょうか?
S := 'C:\テスト\dir\';LeftStr(S, 8);
とかすると、Sに'C:\テスト\d'が返ってきて迷惑ヽ(;´Д`)ノ8byteトリダシタイノー
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGcopyも日本語を1文字と数えるようで同じ結果が返ってきたです。
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGカーソル位置の単語$CURTOKENって展開されなくない?
0686685
NGNGみたいにスペースを入れないと駄目なようで
-s $CURTOKEN
としたらOKでした。が、これではツール側が認識しない...
0687デフォルトの名無しさん
NGNG俺もツール登録するときに困った口。
たしか結局batファイル経由にしたけど。
0688デフォルトの名無しさん
NGNGほかのユーザーでは未許諾になっちゃう。
これってどうすれば直る?
0690デフォルトの名無しさん
NGNG確かバイナリのデータが入っているのでそれかな?
0691おしえて
NGNG作成したアプリも高速らしいけど
本当ですか?
当方vbより乗り換えようと思うのですが
周りにユーザがいないのでふんぎりがつきません
長所、短所おしえてください
当方の使用用途はげーむせいさくです
あと、製作用のエディター
どうでしょ
0692デフォルトの名無しさん
NGNGdelphiが向いてるのはエディター制作ですが、これならpersonalの
ライセンスでもOKだと思います。
0693デフォルトの名無しさん
NGNGObject Pascal や Delphi 流のアプリの組み方を覚えなくて良い分
VC++ の方が簡単かもしれません。
GUI を作ることと、既存のコンポーネントを利用して出来る範囲に限って言えば
VB と同じくらいに簡単で VB 以上の表現力を持っています。
それ以上のことをしたいならば、オブジェクト指向や
Delphi におけるプログラミングテクニックを学ばなければいけませんが、
これは VC++ においても状況は変わらないでしょう。
0694デフォルトの名無しさん
NGNGVC++にしなさい。
ゲーム作成に一番よく使われていて、就職にも困らないよ。
0695デフォルトの名無しさん
NGNGDelphi知ってる事が荷物になるわけじゃないし
C++がそんなに難しい言語って事でもないし
片方で詰まったらもう一方に乗り換えるのを繰り返すのが上達が速いかもね
0696デフォルトの名無しさん
NGNGこれ最強。
0697デフォルトの名無しさん
NGNGただの二度手間
0698デフォルトの名無しさん
NGNGただし、Windows依存とそうでないものが区別できなくなるという危険も伴う、諸刃の剣。
0699デフォルトの名無しさん
NGNGすぐDelphiに逃げちまうな
悪い癖だ(w
0700デフォルトの名無しさん
NGNG(TForm1.Button1ClickからTForm1.Button2Clickに飛ばすというような)
探したんだけど見つからない…
0702デフォルトの名無しさん
NGNGサンプルソース、ワケワカメだし…
ネットで解説ページを探してみても、それらしいのは見つからないし…
これはサンプルを読めるようになるか、市ねって事でしょうか?
0703デフォルトの名無しさん
NGNGやっぱり死のう…
0704デフォルトの名無しさん
NGNGButton2Click(sender);
じゃないのか?
0706Delフサギコ
NGNGミ。_。彡 ペコッ
〜ミ,,,U U,,ミ 且~~ あけましておめでとうございます。
∧,,∧ / ̄
ミ,,゚Д゚彡 < Button2Click(nil)でもいいよ
ミ つ且~~ \_
〜ミ,,,,,, ,,ミ
日本Delphi振興会
・SenderのないprocedureからSenderを持つprocedureを呼ぶ。
http://hp.vector.co.jp/authors/VA009712/take/delphi/kabedel.htm#sender
0707デフォルトの名無しさん
NGNGDelphi使ったら例えVCLやIDEがだめでも他にいけないと思うよ。
特にBCBは最悪、
>>702 わかんないときはまとめてコンポーネント化しているもの使えばよいのでは?
>>698 Window以外の環境なんてないと思ったほうがいいのでは?
仕様とかデザインとかファイルフォーマットとかプロトコルさえ抑えていれば
どうにでもなると思う。
例えば外注に丸投げするとき必要なのはプログラムソースではない。
いまできる最大限のことをやれ゛いいんじゃないかとおもうのです。
それっていまのDelphiの逆だけど...
http://halbow.cool.ne.jp/ShousaiIndex.html
とか
http://bonanzas.rinet.ru/
にいくとWin専用機としてのDelphiの可能性が見えてくる。
あと
http://www.sulaco.co.za/
もはずせないな全部非VCLのサイト
0708デフォルトの名無しさん
NGNG高速コンパイルこそが唯一にして不可侵の Delphi 最大の利点に同意
これに慣れると他の物が使えない諸刃の剣
0709デフォルトの名無しさん
NGNGコンパイル速度に驚愕。それ以来ほとんどDelphiだなぁ。
0710デフォルトの名無しさん
NGNG差が縮まると思っていたが、いまだに開いている。
友人のVCユーザは未だにうらやましがっている。
Javaの実行速度が問題なくなるくらいまでは(w
しばらくはDelphiのコンパイル爆速神話は続くと思われ。
0711デフォルトの名無しさん
NGNGhttp://www.sulaco.co.za/quake2/
0712デフォルトの名無しさん
NGNGGeforceのコードは使っていないけれど
Pickingのサンプルとかあるのでよろしい。
Quake2というよりすでにMD3ファイルローダはできてるようだ
あとDelphi3DとかGLSCENEなんかもよいのだが...
0713デフォルトの名無しさん
NGNGだから毎日クリーンインストールして取り直してもOK
あとD6の製品版は不良品だけど作っちゃったから10/18のパッチはあてないんだと..
そんなんが日本の法律でOK?
あとライセンスでは1台のPCといっているけれど
向こうの認識は1台のPC、1つのOSでデュアルブートで常時1台しか動いていないけれど
OSは違うというのはだめだけれども記述に誤りがあるという認識らしい。
ということで基本的に不正コピーしなければボーランドのライセンスは
法的根拠が何もないし、罰則もない
ボーランドに法律関連を扱う部署や品質管理の部署はないみたいなので
訴訟の心配もない、個人情報の搾取も会社レベルではやってない
ということでプロ版かって再インストールとかで二の足踏んでいる人は
安心してアンインストール再インストールできると思います。
逆に将来性が薄いのでただだからといういってPersonal版やるくらいなら
freePascalにいったほうが良いです。
0714デフォルトの名無しさん
NGNG普通は許諾一回取ったら再インストールしてもレジストリから復元するんじゃないの?
そんなメンドクサイ事しないでしょう
0715デフォルトの名無しさん
NGNG管理者権限以外では許諾コードをユーザーごとに取り直さないといけないそうです。
それにやってないけれどアンインストールして情報残っていたらアンインストールとはいえないのでは?
基本的にWin2KやWinXpでDelphiを使うのは無理っぽいのでWin-MeのHDDにしようと思うのですが
許諾は何回とっても関係ないという情報は特に初心者向きだと思うのでこのスレに書きました。
あと未許諾でコンパイルしても特に影響はないそうです。
0716デフォルトの名無しさん
NGNGレジストリのどこにソレがあるかくらいは判ってると思われ
0717質問
NGNGいいところ知ってる人いる?
グーグルで検索しても何年も昔の
しかもあまり詳しくないのしか出てこないYO!
プリーズ!
0718デフォルトの名無しさん
NGNG0719717
NGNGなにもわからないのが現状・・
一番初歩の初歩から学びたい今日この頃・・
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG0722717
NGNGつーかいいサイト知らない?
0723デフォルトの名無しさん
NGNGファイル(F)->プロジェクトを開くで
Demos\doc\TextEdit\ のTextEdit.dprを開いてみて
0725717
NGNG開いた!
ボタンが1つ出てきた!
あっちなみにPesonalね!
0727717
NGNGRichTextファイルを開くもの?
自分で作るには?
F12 を押して TextEdiorと書かれたフォームを手間に持ってきて
フォーム内のグリッドの中央をクリック
F11を押してオブジェクトインスペクタを出し イベントをクリック
OnPaintというのを探してクリック
その右の空白の 部分をダブルクリック
これで以下のような状態になる筈 なった?
procedure TFrameForm.FormPaint(Sender: TObject);
begin
end;
0730717
NGNGObject Pascalだっけ?
procedure TFrameForm.FormPaint(Sender: TObject);
begin
Canvas.TextOut(20,20,'こんにちは');
end;
と1行入力して 実行してみよう
0732717
NGNGこれはテキストを表示させるものらしい?
0733717
NGNGでぁでぁ
TFrameForm.FormPaint は手続きの名前。
ドットが間にあるから、これは手続きでもメソッドと呼ばれるもので
TFrameFormというクラスの FormPaintと いうメソッドを定義しますという意味
意味判らんでも覚えてね
で、(Sender: TObject); は引数。 とりあえず無視してOK
begin 〜 end; はブロックで、 この間が関数の本体になるわけ
追加した Canvas.Text の意味とかは そこにキャレットをあわせて F1を押して調べてね
0735デフォルトの名無しさん
NGNGサイトでなないが
ヘルプ-Delphiヘルプ-チュートリアル:テキストエディタアプリケーション
では駄目か?
0736717
NGNG難しいがなんとなく理解!
感謝感謝!こんな感じで他のもできる?
ちなみに733は贋物!
0737717
NGNGサンクス!気づかなかった!
これでいいもの作ってみんなにあげるから待っててくれ!!
0738デフォルトの名無しさん
NGNG「すみません、ActionManagerが見当たらないんですが…」
と言う
>717
ActionManagerの代わりに StanderdタブにあるActionListを使います
しかし
\Program Files\Borland\Delphi6\Source\Vcl\ActnRes.pas
はどうしようか?
0740デフォルトの名無しさん
NGNG> Sullacoの64kbyteでもはD6でコンパイルすると192kに...(藁
本当だ(w
readme.txtにDelphi5ってかいてあるけれど、それでも60KByteなんていかねって。
upxで圧縮も解凍も出来ないところから、何か別のexe圧縮使っているとみた。
【イメージリストにイメージを追加する】まで2ページ飛ばして
1、ファイル->新規作成->フォーム
2、オブジェクトインスペクタ-> Name欄をForm2から StandardActions に
3、フォームの上でマウスの右ボタンでテキストで表示を選ぶか ALT+F12
4、ファイル->開く-> ファイルの種類を全てのファイル(*.*) にして
Lib\ActnRes.dfm を開く
5、編集->全て選択(ctrl+A) の後コピー(Ctrl+C)
6、タブでUnit2.dfmを選び、編集->全て選択(ctrl+A) の後貼付(Ctrl+A)
7、ALT+F12でフォームを表示
8、あとは、HELPに書いてあるようにImageList1をコピーする
まだActionListもついでにコピーする
そしてこのページからActionManagerを ActionList1 コンポーネントと読み替えます
【メニューの追加】
ActionMainMenuBar も無いので StanderdにあるMainMenuを使います
これを貼り付けてダブルクリックして適当にメニューを追加し
ここのメニューのActionプロパティに設定してゆきます
0743デフォルトの名無しさん
NGNGとか
http://hp.vector.co.jp/authors/VA015233/pascal/Pascal2Delphi.htm
とかでPascalの基礎を学んだ後、
http://home.onestop.net/mineko/index2.html
でDelphiの基礎を学べばいいと思われ。
んで、この後はそこらへんにあるTipsサイトで済ませる。
でも、まじめにプログラミングを学びたいなら、
やっぱ本買った方がいいよ。
0744デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNGどうすればいいんでしょう?
ちなみに日経ソフトウェア2月号の郵便番号検索を初めてパソ版で作ってるんですが・・・
0747デフォルトの名無しさん
NGNGアップデートを当てろ。
0749デフォルトの名無しさん
NGNGアレ、直らんのかな?
最初は「ハァ?」って思う。
例外なら「例外よ♥」って出てくれ。
0750Delフサギコ
NGNGミ,,゚Д゚彡 < だから、パッチ宛ててってば。
ミ つ且~~ \ dcuがデバッグ版らしいので
〜ミ,,,,,, ,,ミ パソナるなのにソースを要求されるようだ
と、ボランドNEwsGで報告があたよ.
0751超初心者
NGNGどうすればいいですか?
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNGおおっ、素早いレスありがとうございます!
早速やってみますね
0755デフォルトの名無しさん
NGNGってのはないんだな、ここ
0756デフォルトの名無しさん
NGNGDelphiで生成するファイルのとある番地から番地までのデータにとある計算(32ビットCRC?)を施して
4バイトのチェックサム値をとある番地に格納したいのですが定番の方法ってあるのでしょうか?
できればソース付だと大変うれしいです。
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNGヒトリモン!!
0759デフォルトの名無しさん
NGNGなんか簡単にかけないもんですか?
たとえば、ファイル作って、何か書き込みたいときに
TFileStream.Create(FileName, Mode).Write(Buf, SizeOf(Buf))
って一行でさくっと書いた場合、メモリ解放されないよね?
with TFileStream.Create(FileName, Mode) do begin
try
Write(Buf, SizeOf(Buf))
finally
Free;
end;
end;
ってちゃんと書かないとだめですか?
0760>759
NGNGCreate/Destroyしなくても使える
0761デフォルトの名無しさん
NGNGそれを1行に書いたらいいんじゃないのか?
with TFileStream.Create(FileName, Mode) do try Write(Buf, SizeOf(Buf)) ;finally Free; end;
じゃあインターフェース型を作るってのは? 変数宣言が要るからダメか?
0762デフォルトの名無しさん
NGNGWrite(Buf, SizeOf(Buf))
finally
Free;
end;
0763デフォルトの名無しさん
NGNGラッパー関数書けば一行でOKでは?
0764デフォルトの名無しさん
NGNG完全なPASCAL版もあるけれどD6ProについてくるGLDPNGのように
Cでコンパイルしたobjファイルを$Lでインクルードしたものも多い
CRC32は初期化と終了処理が必要なのでそれを知らないと結果が異なってしまう
ZlibのC版は継続的にファイルを流し込めないけれど一回呼び出せば
ちゃんと初期化と終了処理をするので値としては基本
0765デフォルトの名無しさん
NGNG同じフォルダーにおいて再コンパイルするときだと
再コンパイルしたときのほうがEXEのファイルサイズが大きくなるのだけれど
なんでだろう。
例えばWIN32APIベースで windows,messages,sysutilesとすると
関数何も使わなくても40kbyteだけど
ソースをつけるかsysutiles2とかリネームしていれると80kbyteになっちゃう
この差は何?ちなみに初期化ルーチンははずしてみましたけどおんなじです。
CRC32(ITU-T76ですか?)の規格を持っていないので
procedure crc(dt:byte;var crc:integer);
var w,i:integer;
begin
for i:=0 to 7 do begin//dtにバイトを渡す場合 32bitを渡すなら 定義を変更して下さい
w:=((dt xor crc) and 1)*$xxxxxxxx ;//ここに規格にあるビット位置を1にした2進数を入れ
dt := dt shr 1;
crc:= crc shr 1; //シフト方向は規格により違うんであわせて下さい
crc:= crc XOR w;
end;
end;
初期化と終了があります。初期化でcrcを-1にし終了で反転したりの処理が規格書にあるかと
それと上のコードは遅い方法です。バイト単位に計算したテーブル検索にすると8倍高速になります
自分専用の規格なら $EDB88320 くらいが適当かと
0767デフォルトの名無しさん
NGNG0768..
NGNGvclieってのが無いって言われたんですが、personalにはインスト不可能なんですか?
0769デフォルトの名無しさん
NGNGひっこ抜いて暗号化して実行ファイルに埋め込んでしまう。 (解凍しながら特定の位置に埋め込む)
それとは別の暗号キーでレジストリに書き込む。
これを実行ファイルではレジストリの方の値をランダムに作ったIDと称してメールで送らせる
それに対して パスを発行
もし IDとパスの両方が掲載されたら、掲載した奴はIDから突き止められるから
教唆=共同不法行為として請求可能
クラックされても、実行ファイルにIDが埋め込まれているから同じ
0770デフォルトの名無しさん
NGNGできる。
Borland Delphi初心者用お勉強スレ
http://piza2.2ch.net/tech/kako/1001/10010/1001035627.html
の379を参照。
0771769
NGNG0773ビープ音が消えない
NGNGエンターキーを押したときのビープ音を消したいのですが上手くいきません。
OnKeyDownハンドラの中で以下のような処理を行っています。
if Key = VK_RETURN then
begin
if ssCtrl in Shift then
//処理A
else
//処理B
Key := 0;
end;
Key := 0にすればビープ音が消えると思ったのですが、消えてくれません。
OnKeyPressハンドラで同じことをやるとビープ音は消えるのですが、
Ctrlキーの押下判定が出来ないのでOnKeyDownの方で処理を行えれば
よいのですが、音を消すにはどうしたらいいでしょうか?
0774デフォルトの名無しさん
NGNGイベントハンドラの前に、
KeyDownていうメソッドがコールされてて、
その中で、OnKeyDownがAssignされてればOnKeyDownをコールするとなってる。
だから、KeyDownをオーバーライドして、下のようにしたら?
if not 殺す処理の場合 then
inherited;
0775デフォルトの名無しさん
NGNGうまくいったら教えてね
0776ビープ音が消えない
NGNGなおかつビープ音を消すという事ができればよかったので
以下のようにしました。
OnKeyDown
if Key = VK_RETURN then
begin
if ssCtrl in Shift then
//処理A
else
//処理B
//Key := 0;
end;
OnKeyPress
if (Key = Char(VK_RETURN)) or (Key = #10)) then
Key := #0;
打算的な解決方法なので、さらに研究してみたいと思います。
0777デフォルトの名無しさん
NGNGIE5.5SP2入れたらファイルの書き込みで
ファイル壊れるようになった。どーなってるのさ?
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG(でもGetMemで確保しFileWriteで書き込んでるだけなんだけどさ)
0780デフォルトの名無しさん
NGNG0781756
NGNG>>764
>>766
色々な情報と関連する背景やキーワードやヒントや場所、
そしてソースコードまで教えていただきまして
みなさん、本当にありがとうございました。
この情報を元にさらに勉強して自分のものにしたいと思います。
感謝しています!!
0782デフォルトの名無しさん
NGNGどちらを使えば良いのか迷っています。
わからないならとりあえずこっちを使っとけ、とかあります?
それぞれの特色というかメリットとデメリットがあれば教えてください。
0783デフォルトの名無しさん
NGNG全てのページに同じコントロール(というか一つ)が配置される。
A boneのスレ表示部分とか。
PageControl
各ページに異なるコントロールを配置できる。
各種設定ダイアログとか。
とりあえずTabControlの動作を確認して希望の動作でなければ
PageControlを使ってみれ。
0784デフォルトの名無しさん
NGNGTabControlの方がシンプル
PageControlの方がゴージャス
という感じでしょうか?
TabControlは各ページを統一して管理しやすいが
逆に制限も多い
PageControlは色々細かいこともできるが
いちいち各ページを別々に設定せにゃならんくて
面倒くさい
というイメージをしたのですが
おおよそ当たってます?
>>783のアドバイス通りまずTabControlから使ってみます。
どうもありがとう!
0785デフォルトの名無しさん
NGNGどのフォルダに書こうとしてるの?
権限ちゃんと取得してる?
0786デフォルトの名無しさん
NGNGCL/SVパッケージじゃないんで本家MatchesMaskも使えないし。
ちなみに正規表現は却下です
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1010643399&res=1
間違えてるとこ教えてください
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGTabControl はタブの外見だけ。ページ切り替えたときの処理は自分で書かないとだめ。
PageControl はページ切り替わったときに中のコントロールも切り替わってくれる。
0789デフォルトの名無しさん
NGNG某サイトのTipsをそのままコピペしてコンパイルしましたがダメでした。
コンパイルエラーはありませんでした。
私の勘違いを指摘してください。
--------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private 宣言 }
procedure WMDropFiles(var Msg: TWMDropFiles);
message WM_DROPFILES;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
// Drag&Drop の許可
DragAcceptFiles(Handle, true);
end;
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
var
Count: integer;
FileName: array[0..255]of Char;
begin
// ドロップされたファイル数
Count := DragQueryFile(msg.Drop, $FFFFFFFF, nil, 255);
Caption := 'ドロップ総数='+IntToStr(Count);
//ドロップされたファイル名を得る
DragQueryFile(msg.Drop, 0, FileName, 255);
// ドロップされたファイルを開く
Memo1.Lines.LoadFromFile(FileName);
// ドロップ処理の終了
DragFinish(msg.Drop);
end;
end.
--------------------------------------------------------------------
0790789
NGNG大体同じような事が書かれているので
トンでもない勘違いをしてそうなんだけど
見当がつかない〜
このサンプルたちは基本の基本が書かれているだけで
単体では動かなくて実装するには別にコードを書かないと
ならないのでしょうか・・・(泣)
0791ねこま
NGNGそれでも動かない場合,常駐しているソフトを1つずつ消してみましょう.
0792789
NGNGOnCreateがコールされていませんでした(大汗)
ばかばかオレのばかーーーー
神様ホトケ様ねこま様ーーー
テレホ内に解決できてマジうれしいです!
ひと晩中もんもんとしてました。
本当に感謝いたします!!!
0793
NGNGListViewってメインアイテムは常に左端ですか?
0794デフォルトの名無しさん
NGNGメインアイテムっちゅーか、TlsitItemのCaptionで設定する項目、
ここはどうしても左寄せになるっぽい。
漏れはここに数字いれて、右寄せしてインデックス表示したかったけど、
どうしても右寄せできなくって、オーナドロー面倒になって、0で埋めた(w
0795デフォルトの名無しさん
NGNG設計時にはそのままじゃ出来ない(コンポ作らなければ)けど、
FullDragをtrueにして
SendMessageで
LVM_GETCOLUMNORDERARRAY
LVM_SETCOLUMNORDERARRAY
を使えば、いけるよ。かちゅとかでも使ってるはず。
C++でwindows.hのマクロを使えるなら
ListView_GetColumnOrderArrayとかでも可。
0796デフォルトの名無しさん
NGNGお、これは(・∀・)イイ!こと聞いた、サンクス。
>ListView_GetColumnOrderArray
CommCtrlをUsesしてみ、使えるよ。
@Del5ProUp1 on Win2kProSp2
0797793
NGNGうんおれも親のアイテム(?)をインデックス表示にしたいと考えてました。
でその次に実用上のメインアイテムを持ってきたかったのだけど
実際はSubItems扱いで選択もEditCaptionも出来なさそうで。
結局TListViewで可能なのはエクスプローラ詳細表示と同等なのかなと。
SubItemsをユーザー入力で編集したければストリンググリッド使うしかない
のかな?と思いはじめていました。
>>795-796試してみます、アリガト。
0798デフォルトの名無しさん
NGNG最後の行だけ消したいのですが、Tabの数を獲得出来ますか?
というか、指定の行をすっかり消せればいいのですが・・
0799デフォルトの名無しさん
NGNGTabSet1.Tabs.Count で全タブ数。
TabSet1.Tabs.Delete(TabSet1.Tabs.Count - 1); で最後のタブ削除
Delphiの場合、TTabSetやTComboBox、TListBoxなどの各アイテムは
TStringsから派生したオブジェクトになっています。
ですので、AddやDelete、CountなどTStringsで定義されているのは使えるので
TStringsのヘルプを見て、どのようなメソッドがあるか確認してみるのが良いでしょう。
0800デフォルトの名無しさん
NGNG(プリンタではない)をプリンタポートモードをEPPモードで制御したくて
手始めにその対象機器を制御するソフトを動作させてる裏で
どういう情報のやり取りがあるのか取得してログに記録する
感じのツールを作ってみようと思っているのですが、
この用途に向いたDelphiのVCLなんて都合の良いものあります?
外部機器の制御は経験がなく基本がわかっていないと思います。
まずはここから勉強しとけ、などありましたら宜しくどうぞ。
・AT互換PC
・Win9x(Me)
です。
0801デフォルトの名無しさん
NGNGprocedure SaveClass(AFileName:string; AObject:TObject);
procedure LoadClass(AFileName:string; AObject:TObject);
関数作れませんか。ポインタを格納している場合は、
その実体までさかのぼって保存してくれるよな。
procedure SaveClass(AFilleName:string; AObject:TObject)
var
Stream:TStream;
begin
Stream := TStream.Create;
AObject.SaveToStream( Stream );
Stream.SaveToFile( AFileName );
Stream.Free;
end;
とか。
0802デフォルトの名無しさん
NGNGTHoge = class
Moge: TMoge
end;
TMoge = class
Hoge: THoge;
end;
(´-`).。oO(となっていたらどうするんだろ)
0803デフォルトの名無しさん
NGNGあなた以前にもここで聞いてなかった?
できっこないよ
0804デフォルトの名無しさん
NGNG標準エラー出力に流す方法を教えてください。
0805デフォルトの名無しさん
NGNGべつにどうにもならないと思う。
普通にコンパイルが通ってハイ終わり。
0806デフォルトの名無しさん
NGNG802は801へのレスだとおもうが
0807デフォルトの名無しさん
NGNGif IsConsole then
Writeln(ErrOutput, 'hogehoge');
0809ErrOutput
NGNGこれで今夜ぐっすり寝られる。
0810デフォルトの名無しさん
NGNGInsert(slowly, 'yourcock');
0811デフォルトの名無しさん
NGNGを
if AObject is THoge then
begin
Stream.Write(THoge(AObject).Buffer^, THoge(AObject).BufferSize);
Stream.Write(THoge(AObject).Name[0], Length(THoge(AObject).Name));
...
end
else if AObject is TFoo then
begin
...
end
else
...
と直せばできるYO!
0812デフォルトの名無しさん
NGNG00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0000 FF FF FF 9C 36 25 00 00 00 46 00 4C 00 00 00 00
たとえばこの0B番地のデータ4Cを4とCに分けて
それぞれ別々の変数に格納するような感じ
0813デフォルトの名無しさん
NGNG00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0000 FF FF FF 9C 36 25 00 00 00 46 00 4C 00 00 00 00
0814デフォルトの名無しさん
NGNG---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0000 FF FF FF 9C 36 25 00 00 00 46 00 4C 00 00 00 00
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG16進数一桁なら上位ニブルとかいう。
で、ダンプをずらずらと書く必要はまるでないように見受けられるが。繰り返しかかれるのはうざい。
で、aに1バイト入っていて、a_hiに上位、a_loに下位を入れたいだけなら
a_hi := (a shr 4) and $0f;
a_lo := a and $0f;
でよろし。
0818812-815
NGNGおー素晴らしいーーshrってこういう時に使うのですね。
いろいろ勉強させてもらいました、重ね重ね感謝します
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGどうして無視するの?
0824デフォルトの名無しさん
NGNG一応>>811で回答はあるぞ。
というか、無理だろ、実体をさかのぼるのなんて。
0825デフォルトの名無しさん
NGNG普通はこういうとき(bit演算)はシフト演算を使います。
ちなみにdivだと符合が考慮されてイヤーンな結果になる恐れアリ。
0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNGIsConsole は、.EXE に "Console モード" のフラグを1ビットつけるだけです。
このフラグがつくと .EXE 起動時にコンソールが開きます。
このフラグはコンパイル/リンク時に確定するものなので、
プログラムがコンソールから呼び出されたかどうかとは関係ありません。
わかったかな?
0828デフォルトの名無しさん
NGNGMLに投げてやれよ(w
0829デフォルトの名無しさん
NGNGいや、彼はここを見ている。
0830デフォルトの名無しさん
NGNGま、本人見てれば訂正してくれるか
0831デフォルトの名無しさん
NGNGそんなの義務じゃないんだから命令するな。
インターネットの情報を頭から信じると戸田みたいになるぞ。
0832デフォルトの名無しさん
NGNGって当然か。MLの情報にはとてもお世話になっているんだけど
投げる前にすげー緊張するし退会しちゃったよ
これでいいのか、ほんとにこの内容で大丈夫か、って何回も読み直してから
投げてた(ワラ
0833デフォルトの名無しさん
NGNGあそこは「サロン」です。技術情報メーリングリストではない。
0834デフォルトの名無しさん
NGNGサロン
[(フランス) salon]
(1)客間。応接室。
(2)(フランスで)上流婦人がその邸で催す社交的な集まり。
(3)(ホテル・客船などの)談話室。大広間。サルーン。
(4)酒場。
(5)〔ルーブル宮のサロンでフランス-アカデミーの展覧会が開かれたことから〕
現存作家による公式の美術展覧会。
なるほど。「Delphi 談話室」メーリングリストというわけか。
それでもいいんじゃない?
0835デフォルトの名無しさん
NGNGサロン 1 [(インドネシア) saron]
インドネシアの打楽器。青銅板を鉄琴のように並べたもの。一セットが一オクターブを受け持ち、四つの異なる音域のものがある。ガムランの高音部の旋律を受け持つ。
0836デフォルトの名無しさん
NGNGIsConsole 質問者が納得しそうだよ!?
0837デフォルトの名無しさん
NGNG今見た。戸田ちゃんがでてくることを(ちょっと)期待しているんだけど
このままいくかな?
元質問者は TERRY か。Delphi-ML 以外の Delphi 系メーリングリストでは
回答者側に回っているんだけどなぁ。
0838デフォルトの名無しさん
NGNG6053hをリトルインディアン(?)で5360にする方法。
上のshrのレスを応用しようとしてあえなく挫折
よろしくお願いします
0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNGa := $6053
b := Hi(a) + Lo(a) shl 8;
0841デフォルトの名無しさん
NGNGswap($6053)
癖があるからhelpをみてから使ってちょ
0843デフォルトの名無しさん
NGNGHotkey 本人さんですね?宣伝ご苦労様。
0844デフォルトの名無しさん
NGNG>>841
ありがとうです
shl, swap, 両方調べて使わせてもらいます
各変数に代入するなら shl
ただひっくり返すだけでいいなら swap なんですね
0845デフォルトの名無しさん
NGNGDelphiでどんなものをつくっているか
簡単におしえてくれ
0846デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/990056026
これ読んでからレスつけな。
0847デフォルトの名無しさん
NGNG下記の方法よりも速く処理する方法はありませんか?
function TForm1.LoadText(FileName:String):String;
var
F:TextFile;
S:String;
begin
AssignFile(FileName);
Reset(F);
Readln(F,S);
CloseFile(F);
Result:=S;
end;
0848Delフサギコ
NGNG∧,,∧ / >>839
ミ;゚Д゚彡< おれも、おれも・・・
ミつ つ \
〜ミ ,, ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪∪ フリー談話室で......
0849デフォルトの名無しさん
NGNGここで、この名前が出るとは…。
前から「痛いなー… 痛いよHotちゃん…」って思ってたから
>>848のレス見て(その先は見てなかった)、今、苦笑いと共にビクーリしてる。
なんてゆーか、「ツワモノ」って感じだよな。
何歳なんだろう?
0850デフォルトの名無しさん
NGNGと、言うか遅いのか?
API直呼び出しするとか。
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNG必要充分に速いと思うけど、どういうのを期待してるの?
ガリガリのアセンブラコード?キャッシュの効く読み込み?
0853デフォルトの名無しさん
NGNGその行の先頭に行の長さを入れておけば、
一行の取得は簡単で速くなるよ。
0854デフォルトの名無しさん
NGNG「反省してんのか?それ?」ってレス返して、しばらく自省中なのかと
思ってたら、もう新しいレスこいてるYO!ビクーリ!
0855デフォルトの名無しさん
NGNGあれはどうにかして回避できないのですか?
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG彼のハンドル、「ほっとけい」から来てるのかと
思って黙殺してるのだが。
0858デフォルトの名無しさん
NGNGどうやら黙殺されてると思ってないみたいよ。
平気でマルチポストしてるし。
つーか、答えてほしいなら最低限、誤字は見直せよ(藁
0859デフォルトの名無しさん
NGNG823=811なのれす。
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG----------
var
M : TMemoryStoream;
begin
M.Write($4649,2);
end;
----------
変数を経由しないで直接データを書くのは無理ですか?
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNG実装方法がよくわかりません。どなたかご存知の方、教えていただけないでしょうか。
Get や DoRequest を実行するとそれが完了するまでスレッドがブロックして
しまうので、一定の時間で歯止めをかけたいのです。
Delphi6 + Indy8.0.25(標準添付) です、よろしくお願いします。
0866こだわり派
NGNGどっちも同じらしいが正直、気になる。
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG間をとってSingleにしとけ(w
0870デフォルトの名無しさん
NGNG6byte実数は FPU が無かった時代の遺物。
あとはマニュアル読め。その上でわからないところを聞きなさい。
0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG公開されているよいサイトはないでしょうか。
探し方が下手なのか、ググルで探してみてもみつからないのです。
宜しくお願いします。
0873デフォルトの名無しさん
NGNGExtended つかっとけ
VCL はだいたいそうなんだから
0874デフォルトの名無しさん
NGNGHotちゃん…。
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG「その」って?
0877デフォルトの名無しさん
NGNGその直後に使用されたらかなわんが。
0878デフォルトの名無しさん
NGNG資料はほとんどない。また Win9x 系では異なる実装をしなきゃいけないし。
一応、資料へのポインタ。がんばって。
http://www.sysinternals.com/ntw2k/source/filemon.shtml
0879Delフサギコ
NGNG∧.,,∧ / >>872
ミ.,,゚∀゚彡< ここの3よみーな
ミ つ目(ミ . \
〜ミ,,O,,,,,,つ
0880neko
NGNGを検索する処理を行いたく
PathFileExists関数を使い,検索してみたところ
拡張子がないのでそのデータがフォルダ内に
存在していても戻り値がfalse(データが存在しない)に
なってしまい,困っています。
FindFirstも使ってためしてみましたら駄目でした。(T_T)
何か良い検索方法がありましたらよろしくお願いします。
0881名無し三等陸曹 ◆PDTHtNro
NGNGアイコンって、普通、拡張子あるだろ(例:hoge.ico)?
エクスプローラの設定がまずいのかな?
エクスプローラ → フォルダ オプション → すべてのファイルとフォルダを表示する
はずしていたらごめんなさい。
0882neko
NGNGそれがないんですよ。
渡されたデータなんですが普通のショートカットだと
ちょっと違うみたいで・・・・・・・・
業務アプリケーション(どこかの会社の)ショートカットだと
思うのですが・・・・・・・・・・・
0883neko
NGNGエクスプローラの設定はきちんとなっています。
0884neko
NGNG見ると全般,ショートカット,セキュリティにタブがわかれて
いますがこの業務アプリケーションの場合は全般,セキュリティ,概要
にわかれていて拡張子がわかりませんでしたが,
DOSコマンドでそのショートカットを検索した所
拡張子がわかり,PathFileExistsで拡張子つきのパス名に
した所うまくいきました。
0885Delphi初心者
NGNG0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNGFileExists関数を使った方がいいでしょう
0888デフォルトの名無しさん
NGNG0889neko
NGNGどうしてFileExists関数の方が良いのでしょうか?
0890neko
NGNG<shlwapi.lib> はテキストファイルではないので
#include で 取り込むことはできません。
これは shlwapi.dll を暗黙で使うためのインポート
ライブラリなので リンカに渡す必要があります。
C++Builderではリンクに使う指令があります
#pragma link "shlwapi.lib"
とソースファイル中に書くことによってリンカに
渡されます。
ただ、このままだと"shlwapi.lib"へのパスが
正しく張られていないので
[プロジェクト|オプション][ディレクトリ/条件]
の[ライブラリパス]に
$(BCB)\Lib\PSDK
を追加してください。
0891Delphi初心者
NGNG>>886-888 お騒がせしてすいませんでした、逝ってきます・・・・
||←LANケーブル
Λ||Λ
( / ⌒ヽ < Delphiと思ってレスしちゃたーよ
| | Del|
∪ 亅|
| | |
∪∪
0892デフォルトの名無しさん
NGNGPathFileExists は LPCTSTR を渡さなければならないからです
Delphi内部で使うぶんにはAnsiStringで渡せる FileExistsが便利でしょう
TSTRを使いたい理由があるなら別でしょうけど
0893neko
NGNGありがとうございます。
勉強になりました。m(_ _)m
0894デフォルトの名無しさん
NGNG恐れすだけど
if (Key = #10) and (GetKeyState(VK_CONTROL) < 0) then
Key := #0;
で駄目?ssShift求めるルーチンにまんまあるんだけど。
0895デフォルトの名無しさん
NGNG0896865
NGNGその後、ソースコード調べてみましたが、まっとうな方法では実現不可能のようでした。
別のスレッドで時間を計ってスレッドを強制的に止めてしまうしかなさそうです。
ちなみに Indy9 ではちゃんとサポートされてました。乗り換えるとなると変更が大きく
なりそうなので悩みどころです。
0897デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1006602102/98
0898869
NGNGIdAntiFreeze は用途がちょっと違いますね。
使えば画面は固まらなくなりますが、読んだ関数から帰ってこないのは一緒
なんです。
0899デフォルトの名無しさん
NGNG例えば、
for i:=0 to ShellTreeView1.Items.Count-1 do
showmessage(ShellTreeView1.Items[i].Text+' '+IntToStr(i));
とすると、なぜかIntToStr(i)の部分が表示されないんです。(特別なフォルダだけ表示されるようですが)
どうにかしてまともに動作させる方法はないんでしょうか?
0900そすぃんさ
NGNG便乗質問いいですか?
よくネット上で紹介されてるD&Dサンプルソースの、「どのあたり(仕組み)」で、
手続きが動作するのでしょう?(意味不明ですか?)
「message WM_DROPFILES;」の所をコメントにすると動作しないけど、
宣言すると動作する…。ハテ…?
0901デフォルトの名無しさん
NGNGTObject.Dispatch
の
JMP ECX
では?
0902776
NGNGどうもです。ちょっと調べてみます。
0903900
NGNGレス、どーもです。うーむ…。もすこし自分で調べてみます。
0904デフォルトの名無しさん
NGNG確認しないでコメントするが、commuinty.borland.com にある、修正パッチを
当ててからテストしたほうが吉。
0905デフォルトの名無しさん
NGNG動いているサンプルコードの一部をコメントアウトすると動かなく
なるのはあたりまえだろ。「message 指令」をヘルプでよく見るように。
VCLオブジェクトでメッセージを捕まえてイベントハンドラを記述する
一般的な方法だよ。メッセージ指令をコメントアウトすると、メッセージを
捕まえられなくなるので動作しないのは当たり前。
0906デフォルトの名無しさん
NGNG書込みがファイルに反映されないケースが発生して困ってます。
いろいろ突き詰めた結果、TOpenDialog.FileName を読んだ場合にのみ
現象が再現することを確認しました。どう関係があるのかがさっぱり、、、
procedure TMainForm.OpenBtnClick(Sender: TObject);
begin
if OpenDialog.Execute then
PathEdit.Text := OpenDialog.FileName; // *1
end;
procedure TMainForm.WriteIniFile;
var
ini: TMemIniFile;
begin
ini := TMemIniFile.Create('Sample.ini');
try
ini.WriteString('TEST', 'Path', PathEdit.Text);
finally
begin
ini.UpdateFile;
ini.Free;
end;
end;
end;
↑こういったコードです。*1 の部分を通らなければIniファイルの書き込みが
成功するんですが、通るととたんにダメです。デバッガで追った感じでは両者
とも同じ道を辿っているようなんですが。。。
どなたか、こういうケースをご存知の方いらっしゃいませんか?
0907906
NGNGTMemIniFile じゃなくて、TIniFile を使うときちんと動いたりします。
環境は Delphi 6.0 (SP1) です、よろしくお願いします。
0908906
NGNG>ini := TMemIniFile.Create('Sample.ini');
の個所でファイル名指定をフルパスでやるとうまくいくようになりました。
フルパス指定しなくてもカレントフォルダとかに出来るはずだと思ってたんですが、、、
ちなみに >>906 の *1 の個所を通らないように実行するとカレントディレクトリに
ファイルが作成されていたのですが。
よくわかりませんが、動いたのでヨシとします。
お騒がせしました。
0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG>ini.Free;
ここには誰もつっこまないのか?
0914うにゃ
NGNGFormの<最小化・最大化・閉じる>ボタンを非表示にしたく
Helpを引いたのですが,最小化・最大化を非表示にする方法は解ったのですが(下記)
BorderIcons = ( TBorderIcons() = BorderIcons ) >> biMinimize >> biMaximize;
閉じるボタンについてを探す事ができませんでした。
どなたか閉じるボタンを非表示にする方法を教えて下さい。
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGそのコードでシステムメニューを外せば閉じるボタンも一緒になくなるよ。
0917うにゃ
NGNGありがとうございます。m(_ _)m
0918906
NGNGありゃ、そこもまずいっすか。
例外が発生した場合でも問答無用で UpdateFile するのがやばいかな。
もう少し考えます。
0919デフォルトの名無しさん
NGNG逆ならすぐに解ったのだが・・・。
0920デフォルトの名無しさん
NGNG「Delphi 広場」復旧。
だれ?Hotkey に 2ch を教えた人。
玄みたいにならないといいが
0921デフォルトの名無しさん
NGNG文字化けします。
本文は大丈夫なんですが。。。
なんか対策あります?
0922デフォルトの名無しさん
NGNGGetObject()
0923デフォルトの名無しさん
NGNGちなみに逆ってどうやるのよ。
まさか各フィールドを代入すんじゃないだろうね。(笑)
CreateFontIndirect() でのハンドルを代入するとか?
0924919
NGNG0925919
NGNGそれでやっていたら最初から質問しなかったとおもう。
逆は
Font.Handle := CreateFontIndirect(LOGFONT);
でやっているが、何か問題ある?
0926923=922
NGNGうん、オレもそうしてる。
問題があるとすれば、TFont のハンドルに代入しても、LOGFONT の内容が
TFont のプロパティーの値に反映されないことかな。すくなくとも、オレの時は
そうだったが。どうよ?
0927919
NGNGうろ覚えなので適当に再現したけど、こういう使い方をしたような。
procedure TForm1.Button1Click(Sender: TObject);
var
NFont:TFont;
LogFont:TLogFont;
begin
NFont := TFont.Create;
try
SystemParametersInfo(SPI_GETICONTITLELOGFONT,SizeOf(LogFont),@LogFont,0);
NFont.Handle := CreateFontIndirect(LogFont);
Label1.Font.Assign(NFont);
finally
NFont.Free;
end;
end;
ちなみにDel4Pro。
0928デフォルトの名無しさん
NGNGエンコード
0929923=922
NGNGあ、そういうふうに描画だけで使うんなら、問題ないね。
Assign() で入れ替えてしまうわけね。なるほど。勉強になった。アリガト。
オレが言ってたのは
Label1.Font.Handle := CreateFontIndirect(LogFont);
の場合、もともとの Font のプロパティーにハンドルの内容が
伝わらない、ということだよ。描画はOKなんだけどね。
うん、でも Assign() だと元が free される直前にコピーがつ
くられるから、このほうがよいね。たぶん。
ついでですまんが Labe1.Font.Name 、Style、Charset なんかで
LogFont の内容とプロパティーが同じになってるか、確かめてくれ
ないかなぁ。
0930923=922
NGNGAssign()のほうがよいね、って意味ね。
0931デフォルトの名無しさん
NGNGでコードを見る分にはちゃんと反映されているはずですが。
どなたか追試してみたら?929 の「問題」は存在しないことが
わかると思います。
0932919
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
NFont:TFont;
LogFont:TLogFont;
begin
NFont := TFont.Create;
try
SystemParametersInfo(SPI_GETICONTITLELOGFONT,SizeOf(LogFont),@LogFont,0);
NFont.Handle := CreateFontIndirect(LogFont);
Label1.Font.Assign(NFont);
with NFont do
Label1.Caption := Name+'/'+IntToStr(Height)+'/'+IntToStr(Charset);
with Label1.Font do
Label2.Caption := Name+'/'+IntToStr(Height)+'/'+IntToStr(Charset);
with LogFont do
Label3.Caption := lfFaceName+'/'+IntToStr(lfHeight)+'/'+IntToStr(lfCharSet)
finally
NFont.Free;
end;
end;
結果
http://cgi.members.interq.or.jp/green/katu4/imgboard/img-box/img20020118231820.png
ちなみにこれは家にあるDel6Personal
0933デフォルトの名無しさん
NGNGDelphiにはそういうのあります?
あれってソースの使いまわしができて楽なんですが。
0935デフォルトの名無しさん
NGNGソースの使い回しはいくらでも出来ますが、どういう方法でやるかは、やりたい内容に依る。
0936デフォルトの名無しさん
NGNG単なるイベントの使い回しなら、このようにやる。
Label1,Label2,Label3がフォーム上にあったとする、
Label1〜Label3をクリックした時同じイベントを割り当てたいとすれば、
Label1のOnClickを定義して、Label2,3にもLabel1OnClickを割り当てる。
どのLabelがイベントを発生させたかを知るには、
VBではIndex仮変数を使うところだが、Delphiでは代わりに(Sender as TLabel)を使う。
procedure TForm1.Label1Click(Sender: TObject);
begin
Form1.Caption := (Sender as TLabel).Caption;
end;
とやれば、
Label1をクリックすればForm1.CaptionはLabel1.Caption,
Label2をクリックすればForm2.CaptionはLabel2.Caption,
と同価になる。
0937923=922
NGNGソース見るのさぼってたのね。すまぬ。>>特に919
SetHandle → GetFontData でまた Handle から GetObject()
して、TLogFont を取得して、それからプロパティー部分を代入
してから、FontManager に渡してるわけね。
だとすると、919 のコードのように TFont のインスタンスを
作って、それの Handle に代入してから、Assign() するより
直接、CreateFontIndirect() の 返値を Handle に代入した
ほうがよいみたいだね。うーむ。
0938933
NGNGたとえば複数あるテキストボックスのフォントサイズを
これまた複数の(対応する)スクロールバーで変化させる場合‥‥
Private Sub HScroll1_Change(Index As Integer)
text1(Index).Font.Size = HScroll1(Index).Value
あんまりいい例じゃありませんが、
配列化しておくとこの種の記述が一カ所で済むもので‥‥。
0939933
NGNG0941デフォルトの名無しさん
NGNGインデックス参照できる用に拡張したクラスをひょいと再定義して
それを使う。
0942デフォルトの名無しさん
NGNGライブラリ、あるいはコンポーネントってありませんか?
結構需要があると思うんですが。。。
0943デフォルトの名無しさん
NGNGなかったっけ?
0944923=922
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i := 0 to ControlCount-1 do
if Controls[i] is TLabel then
(Controls[i] as TLabel).Caption := 'Changed!';
end;
0945デフォルトの名無しさん
NGNG0946キャラスレお腹いっぱい
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1006602102/
次はこっち使い尽くして相談室に一本化しようぜ
0947Delフサギコ
NGNGその質問は今まで200回くらい見たきが...
∧,,∧ /
ミ ゚Д゚ミ ∫< TEditの配列作ることもできるし
.(ミ ミっ-~ \ FindComponentでもいいし
〜ミ,,⊃ミ⊃
なんでもござれです。
0948デフォルトの名無しさん
NGNGまたギコが爆弾発言して途中退場しそうだから難しそうだな。
ネタキャラなしにしようぜ。
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNGレスしてるよーな気がしてならない。
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を超えています。これ以上書き込みはできません。