くだすれDelphi(超初心者用)その20
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
<前スレ>
くだすれDelphi(超初心者用)その19
http://pc5.2ch.net/test/read.cgi/tech/1097454588/
<その他>
ボーランド
http://www.borland.co.jp/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG18 http://pc5.2ch.net/test/read.cgi/tech/1093996761/
17 http://pc5.2ch.net/test/read.cgi/tech/1091671391/
16 http://pc5.2ch.net/test/read.cgi/tech/1089779142/
15 http://pc5.2ch.net/test/read.cgi/tech/1087823906/
14 http://pc5.2ch.net/test/read.cgi/tech/1085239007/
13 http://pc5.2ch.net/test/read.cgi/tech/1081003641/
12 http://pc5.2ch.net/test/read.cgi/tech/1076610073/
11 http://pc2.2ch.net/test/read.cgi/tech/1074523803/
10 http://pc2.2ch.net/test/read.cgi/tech/1074523803/
09 http://pc2.2ch.net/test/read.cgi/tech/1071294733/
08 http://pc2.2ch.net/tech/kako/1068/10682/1068201045.html
07 http://pc2.2ch.net/tech/kako/1065/10651/1065195699.html
06 http://pc2.2ch.net/tech/kako/1063/10632/1063202727.html
05 http://pc5.2ch.net/tech/kako/1061/10610/1061090908.html
04 http://pc2.2ch.net/tech/kako/1058/10588/1058834815.html
03 http://pc2.2ch.net/tech/kako/1055/10559/1055986736.html
02 http://pc2.2ch.net/tech/kako/1053/10537/1053757982.html
01 http://pc2.2ch.net/tech/kako/1051/10518/1051882835.html
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG肝心のソート方法がわからないです。
TStringList.Create
LoadFromFile
Add
ソート
SaveToFile
記録する内容は、スコア、名前、日付なんですが、
この3つをひとまとまりにして、
スコアで降順ソートというのはどういう方法が考えられるのでしょうか。
Addするときコンマ区切りにして、
ソートできる二元配列のようなものに読み込むのか
そもそもそういったものが存在するのかもわからないですが。
0007デフォルトの名無しさん
NGNGcaseとかinとかposとかforとかwhileとか汎用的なのを。
0008デフォルトの名無しさん
NGNGTStringList 使うよりも
スコア、名前、日付を扱うレコードやクラスを作って
TList や TObjectList で管理したほうがいいんじゃ?
0009デフォルトの名無しさん
NGNGあれのソートはピボットソートだから、速度も問題ない。
0010前スレ927
NGNG0011デフォルトの名無しさん
NGNGコンポーネントのMemoをフォームに貼り付ければ良いかと。
Memoの名前が「Memo1」なら、問題無いかと。
0012デフォルトの名無しさん
NGNG問題あるなら定義すればいいじゃないか。
0013前スレ927
NGNGがでました
0014デフォルトの名無しさん
NGNGだったら、もう一回コンポーネントを貼って前のと名前を合わせろ
0015デフォルトの名無しさん
NGNG>>923
違う。
例えば Delphi は VB.NET に比べてあらゆる面で極めて劣っており、
どんなに優秀なプログラマーであっても Delphi を使えばまともなアプリは作れず、
どんなに劣悪なプログラマーであっても VB.NET を使えばすばらしいアプリが作れる。
0016デフォルトの名無しさん
NGNGいいかげんにパトラッシュの飼い主。
0017ななしへたぐらま ◆XcB18Bks.Y
NGNG>前スレ968
私もちょうどそんなプログラムを作っているところです.
右も左もわからぬ素人で試行錯誤の連続という状態で答えるのなんですが,
FTPの仕様とFTPソフトの動作を参考にしてこんな感じで作っています.
・接続が確立したらサーバーがクライアントにパスワード要求メッセージを送信.
・クライアントはパスワード要求メッセージを受け取ったらユーザーにパスワードを入力させてそのパスワードを送る.
(あるいはあらかじめ用意してあるパスワードを送信する)
・パスワードが正しかったらうまくいった旨のメッセージを送信,違ったら失敗の旨のメッセージを送信して接続解除.
・サーバーは正しいパスワードを受け取るまではその他の命令は受け付けない.
>>7
そういうサイトは知りませんが,言語ガイドがある程度参考になると思います.
なお.一般的用途ならそれらの差は誤差の範囲なので気にする必要は無いと思います.
(ただし繰り返し処理の場合,ヘルプにあるように処理の前に回数が確定している場合はfor文を使うのがよいと思います)
むしろ時間のかかる同じ処理を無駄に何回も繰り返して実行しないかどうかを見たほうがよいと思います.
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGいいよ。許可する
0020デフォルトの名無しさん
NGNG'あ'のように文字が入っていると大丈夫なのですが
''のように文字が入っていないとエラーが発生してしまいます。
どうしてなのでしょうか・・・
0021デフォルトの名無しさん
NGNGいいよ。許可する
0022デフォルトの名無しさん
NGNG項目を増やすには Add 、すでにある項目の内容を変更するには代入。
0023デフォルトの名無しさん
NGNGありがとうございます。
TObjectListを使う方向で試してみます。
0024デフォルトの名無しさん
NGNGExtListView について、どなたか教えて下さい。
ListViewに2万個のファイルを表示したところ、とても遅いので
ExtListView 3.72(改) http://phxmail.sourceforge.net/comp/extlistv_d7.zip
を落としてきて登録して使ってみたのですが、使い方がまるでわかりません。
上のzipはDelphi5用のものをDelphi7用に修正したものだそうで、ちゃんとコンポーネントの
登録はできたのですが、付属のデモはDelphi5用のままらしく, コンパイルすらできません。
どなたかこのzip付属の testvm の修正の仕方をご存じないでしょうか?
なぜか、Delphi5でもコンパイルできませんでした。
エラーメッセージは
「FileList.OnVMCacheHint が参照しているメソッドFileListVMCacheHintの
パラメータリストが一致しません。メソッドへの参照を削除してもよいですか?」
です。
002520
NGNGレスありがとうございます。
>すでにある項目の内容を変更するには代入。
の際に、「'あ'」であらかじめ入っているところを「''」に置き換えようとすると
エラーになってしまうのです。
何かしら入らないといけないのでしょうか?
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGShellExecute
0029前スレ927
NGNG0030デフォルトの名無しさん
NGNG関係あるコードをここにアップしてみて。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGもし将棋板の某氏だったら(,,゚Д゚) ガンガレ!
0033デフォルトの名無しさん
NGNGDelphiやVBからゴミ箱を空にしたり最近使ったファイルの履歴を空にしたいのですが、
こう言うことをやることは出来ますか?
もし出来るのでしたらやり方を教えてください。
WinFAQとかをゴミ箱やレジストリで検索したのですが見つからなかったので。。。
0034デフォルトの名無しさん
NGNGお... おじいさん?
0035デフォルトの名無しさん
NGNGhttp://homepage1.nifty.com/MADIA/delphi/Win32API/RecentDocs.htm
http://homepage1.nifty.com/MADIA/delphi/Win32API/RecycleBin.htm
0036デフォルトの名無しさん
NGNGWin32API スレへどうぞ
0037デフォルトの名無しさん
NGNGありがとうございますた。
0038デフォルトの名無しさん
NGNG意味がわかってワラタw
そうか「パトラッシュの飼い主」は「おじいさん」だw
0039デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG真・女神転生3で全滅したらあがってくるスレその13
http://game9.2ch.net/test/read.cgi/gamerpg/1100604186/
0043デフォルトの名無しさん
NGNGこういう感じでいいんでしょうか。
例えば、1/1000(1000秒に1回)の確率で
ShowMessageでHELLO!と出すには、
procedure TForm1.Timer1Timer(Sender: TObject);
var
x: Integer;
begin
Randomize;
x := Random(999);
if x = 123 then ShowMessage('HELLO!');
end;
どうも偏りが出る気もするんですが、
精密さを上げるために方法はあるんでしょうか。
0044デフォルトの名無しさん
NGNG最初に一回で十分。
0045ななしへたぐらま ◆XcB18Bks.Y
NGNGあとRandom(999)では確率が999分の1になってしまいます.Random(1000)に.
0046デフォルトの名無しさん
NGNGそれで試してみます
不勉強ですいません
ありがとうございます
0047デフォルトの名無しさん
NGNG具体的にはどうすればできるでしょう。
0048デフォルトの名無しさん
NGNG[Delphi-ML:82731] リソースとしてEXEに埋め込んだDLLの利用法について
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=082731
0049前スレ917
NGNGよろしくお願いします。
0050デフォルトの名無しさん
NGNG前スレが見えない。
0051前スレ
NGNG917 名前:デフォルトの名無しさん[sage] 投稿日:04/11/24 11:57:59
MDBからデータを読んでExcelファイルに書き込むPGを組んでるんですが、
書き込んだセルの文字色を変えるのは可能でしょうか?
0052デフォルトの名無しさん
NGNGXlsApp.Selection.Font.color= RGB(255,0,0)
でどうでしょう?文字は赤くなると思いますが。
RGB関数の使い方やcolorプロパティの詳細は、ビジュアルベーシックエディタのヘルプで見てください。
デルファイからエクセルをコントロールする場合、エクセルでマクロを記録して、
ビジュアルベーシックエディタを起動してコードを確認して、読み替えてディルファイに
コーディングしたほうが早いと思います。
0054Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡
ミ つ旦)~~
〜と,,,~),,~) 旦~~
]]]]]]]]]]]]]]]]]]]]]]]]]]]]
スマートクライアントていうのでしょうか。
Windowsに対するWindowsUpdateのように
アプリ自身で自分の最新版を取得してきて
自動でVerUpを行うような仕組みは
どのように作るのでしょうか。
実装したり、紹介していたりする所
教えてください。
0055デフォルトの名無しさん
NGNG1.更新のチェック
2.(あれば)差分のダウンロード・展開
3.本体(main.exe)の起動
を行う小さなexe(boot.exe)を用意すればいいだけ。
.NETFWやInstallShield最新版にその機能があったはず。
0056デフォルトの名無しさん
NGNG>>35で教えてもらったのですが、このリンク先の通りにやってもExplorerが
ファイルの削除の確認のダイアログを表示してしまいます。
何も表示せずに消すだけのプログラムを作りたいのですがうまくいかなくて。
これを回避する方法があったら教えてください。
あと、Formも何も表示せずにごみ箱を消すにはどうしたらいいのでしょうか?
今はForm1.OnCreateにごみ箱を空にするソースを書いて、Form1.OnActivateにClose
だけを書いているのですがうまくいきません。
どなたかアドバイスください。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG>ファイルの削除の確認のダイアログを表示してしまいます。
最後のパラメータに SHERB_NOCONFIRMATION をつまり 1 を設定する。
プログレスや音もなしにするなら7を設定
>あと、Formも何も表示せずにごみ箱を消すにはどうしたらいいのでしょうか?
コンソールアプリを作ったことないの? Hello,World! くらいやっとけば
0059デフォルトの名無しさん
NGNGコードをProject1.dprに直接記述。
Form1のFormCreatは、コメントアウト。
よくわからないなら、デザイン時にForm1のVisibleをFalseにして、
Form1.OnCreateでも念のため、VisibleをFalseにする。
0060デフォルトの名無しさん
NGNGフォームを一切使わないなら無駄に実行ファイルサイズが大きくなるだけじゃない?
コンソールアプリケーションでプロジェクト作って、APPTYPE CONSOLE を消せばよいのでは。
0061デフォルトの名無しさん
NGNGdelphiでMSのSQL2000のデータ型がncharの項目(たとえばtest)に
strX=qry1.FieldByName('test').AsString;
「項目’test’が見つかりません」とのメッセージが出てきて、
(ほかのnchar以外の項目は問題ありません)
どなたさんがdelphiからnchar型のデータを
アクセスできる方法をご存知でしたら、教えてください。
0062デフォルトの名無しさん
NGNGstrX=qry1.FieldByName('test').As WideString;
だと思う。やったことないけど。
nchar型は、ユニコードの固定長文字列だよね。
0063デフォルトの名無しさん
NGNG> コンソールアプリを作ったことないの? Hello,World! くらいやっとけば
普通の初心者はコンソールアプリなんか作らん罠。地味だし。
やっぱりフォーム作ってグリグリ動かして〜 に行くのが人情。
そもそも「コンソールって何?」だったりするしな(w
0064デフォルトの名無しさん
NGNGそうだね。普通の初心者は文法もクラスのなんたるかも知らずに始めるんだよね。
だから、すぐ限界が来るんだけどね。コンソールアプリを一つくらいつくっておくのも
いいと思うけどね。
0065質問
NGNGこれはどうすればいいのでしょうか?
Delphi 6 personalを使用しています。
0066デフォルトの名無しさん
NGNGHintとShowHintプロパティ
006765
NGNG0068デフォルトの名無しさん
NGNGできました!
ありがとうございました。
0069デフォルトの名無しさん
NGNGこのボタンを見えないように隠して、
たとえばビットマップオンクリックイベントを押した際にメディアプレーヤーコンポーネントを経由して
音楽を流す方法はないでしょうか?
仮にこれが可能だったとして、メディアプレーヤーコンポーネントボタンを隠す際も、
ただ何かの下に隠すだけでなく姿さえも見えなくして使う方法はないでしょうか?
0070デフォルトの名無しさん
NGNGMediaPlayer1.Play;
Visible:=False;
0071デフォルトの名無しさん
NGNG今はキーボードで模擬しているのですが、スマートに削除したいと思いまして。
ネットカフェでの使用を想定しています。
0072デフォルトの名無しさん
NGNGできました。
ありがとうございました。
007369,72
NGNG友人のパソコンに音楽と一緒に圧縮ファイルを送信しても正常に動くかどうか確認してもらったところ
エラーが発生して聞けなかったそうです。
念のため、僕のほうにその圧縮ファイルを送り返してもらって実行してみたところ同じようにエラーが
発生して実行できませんでした。
最初に作ったものは正常に作動したので、たぶん音楽ファイルがどこにあるか参照できなくなったことが原因だと思うのですが、
どうやったらこの問題を解決できるかご存知ないでしょうか?
音楽ファイルは作成したプログラムと同一のフォルダに入れておきました。
0074デフォルトの名無しさん
NGNGここで聞く質問じゃなくなってると思う。
そのブツを見れる人間じゃないと答えようがないと思う。
007549
NGNGヘルプ探しても分からなかったので……
>>52
ありがとうございます。
結局、
WorkSheet.Range[WorkSheet.Cells[m,n],WorkSheet.Cells[o,p]].Font.Color := RGB(255,0,0)
で対応しました。
あとはセンタリングと罫線を引く事…。
どうにもコード補完が効かないので困ってます……
007673
NGNG他をあたってみます。
0077デフォルトの名無しさん
NGNGとかにすりゃいいんじゃないの。
007874
NGNG意味が分かった。
失敬。
007976
NGNGパソコン一般板でも同様の質問をしたところ追い返されてしまいました( ゚Д゚)・・・
なんというか・・・、Delphiの勉強をはじめて一ヶ月ほどなので、よくわからないことが多いです。
こんな感じの命令文を書きましたがエラーがでてきました。
音楽ファイル名もmusic.midに変更後、File Nameで参照しなおしておきました。
いじったところと言えば、再生ボタンを見えなくしたことと、
Auto Open プロパティをTrueにしたくらいです。
ここに何をつけたせばいいのかどうか教えてください。
参考書を読んでも書いてありません。。。
procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.Play;
ExtractFilePath(Application.ExeName) + 'music.mid'
end;
end.
[エラー] Unit1.pas(33): 文が必要な場所に 'String' 型の式があります
0080デフォルトの名無しさん
NGNGこれは困った(色んな意味で)。
0081デフォルトの名無しさん
NGNG基本が全く出来てないぞ
0082デフォルトの名無しさん
NGNGもちっといじってから質問しような。なっ?
大丈夫。すぐ分かる。
がんばれ。
以上。
008379 ◆7kkYm.VmFc
NGNG計算関係分野から離れて、こういった分野に手を出したのは今回が初めてなので、
いまいち定義の仕方などがわかりません。
要注意人物として、今後ともよろしくお願いします。
しばらくチャレンジしてみて解決できなかったら、また質問させてください。
0084デフォルトの名無しさん
NGNGMediaPlayer1.FileName := 'ファイル名';
MediaPlayer1.Play;
な感じで出来なかったっけ
008579 ◆7kkYm.VmFc
NGNG次はオンクリックイベント無しで検討してみたいと思います。
>>84
今やってみたところ音楽は流れましたが、
他の人に受け渡しても音楽が流れるかどうかまでは確認できてません。
0086デフォルトの名無しさん
NGNG相対パスと絶対パスについてぐぐれ。
そのうえで>>77を読み返すのだ。
0087デフォルトの名無しさん
NGNGCreateやFreeはどこで呼び出せばいいのでしょうか?
Delphi6 Personalで制作しています。
0088デフォルトの名無しさん
NGNGCreate は関数の中、Free は呼び出した方で、ってなると思うけど、あんまりよい
方法ではないね。なにか操作した結果を TStringList で返したい場合は
procedure Nanika(... ; sl: TStringList);
のようにして、Create も Free も呼び出し側にさせるべきだと思う。
> property foo: TStringList;
この場合は、Create と Free はコンストラクタとデストラクタで。
private フィールドの Ffoo: TStringList という変数にインスタンスを格納し、
それを参照する。
0089デフォルトの名無しさん
NGNGオブジェクトを返り値とする関数は作らないほうがいい。
リソースのリークが起こりやすい。
プロシジャーで、値を設定する変数も引数で渡すようにする。
あるいは、カスタムクラスの作成。
0090デフォルトの名無しさん
NGNGMLの過去ログ見てたら戸田ちゃんがTCPを使った方がメモリーの共有より
簡単って事を書いてました。
これってどうやるんでしょうか?
Indyのデモとか見ててもサーバーが必要で、しかもメッセージは
サーバーに行くだけで他のクライアントには行かないようなのです。
長くなりましたが、誰か教えて。
0091デフォルトの名無しさん
NGNGbegin
Result := TStringList.Create;
Result.LoadFromFile(FileName);
end;
...
sl := LoadFromFile('foo.txt');
try
finally
sl.Free;
end;
0092デフォルトの名無しさん
NGNGといった場合、どうやって判断できまつか?
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGない
.dprの先頭ブロックでカレントディレクトリ調べるとか。
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGありがとうございました
0098デフォルトの名無しさん
NGNGParamStr(0)で取れるのはexeのパスであって
作業フォルダ(≒起動ディレクトリ)は取れないぞ。
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGGetCurrentDirectory()
0101デフォルトの名無しさん
NGNGという文字列を環境変数展開して返す関数ってないの?
010287
NGNGString型の戻り値をもつ関数で代用できるようにしてみます。
0103デフォルトの名無しさん
NGNGunit MyLib;
interface
function Foo: TStrings;
implementation
var _Foo: TStrings;
function Foo: TStrings; begin Result := _Foo; end;
initialization _Foo := TStringList.Create;
finally _Foo.Free;
end.
0104デフォルトの名無しさん
NGNGTXPManifest コンポーネントを配置するとXPスタイルになりますが、
これを削除しても元のスタイルに戻らないのですけど、どうすれば
元のスタイルに戻すことが可能でしょうか?
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGありがとうございます、スタイルが元に戻りました。
0107デフォルトの名無しさん
NGNGExtractFilePath( Application.ExeName ) ;
じゃなダメなの?
0108デフォルトの名無しさん
NGNG実行ファイルがあるフォルダとカレントフォルダは別のものです。
0109デフォルトの名無しさん
NGNGでも>>93が要求してるのは、>>107でいいんじゃないの?
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG011279 ◆7kkYm.VmFc
NGNG0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG(例)
3 2 1
4 5 4
1 3 4
0115デフォルトの名無しさん
NGNGメニューに項目のない機能にキーボートショートカットを割り当てるにはどうすればいいですか?
0116デフォルトの名無しさん
NGNGどういう風に取り出したいの?
>3 2 1
なら、’321’と認識したいのか’3’’2’‘1゜としたいのか。
いずれにしても、一行づつ文字列変数に読み込んで、スペースを探して、切り出してTstringlistにADDしていくのが、セオリじゃないか。
ロジックを考えるのが難しいなら、スペースを半角カンマにリプレースして、Tstringgridに流し込むという手もある。
0117デフォルトの名無しさん
NGNGActionListとかじゃ駄目?
0118デフォルトの名無しさん
NGNGこれでスクロールバーをssBoth、ワードラップをFalseにするとスクロールバーが逝かれるんですが、
対処法とかはないですか?
0119デフォルトの名無しさん
NGNGお答えありがとうございます。
良さそう…な気もしますがよく理解できてないのでヘルプを読んで勉強します。
0120デフォルトの名無しさん
NGNGExpandEnvironmentStrings
で事足りるかどうか…
0121ななしへたぐらま ◆XcB18Bks.Y
NGNGそのままズバリ書くと>>77 と >>84 を組み合わせてこんな感じになります.
procedure TForm1.Button1Click(Sender: TObject);
begin
// ※実行は上から順に行われる.
// 演奏するファイルの指定(実行ファイルと同じディレクトリの'music.mid')
// ※プロパティの設定は代入式で行う.
// ※『実行時と同じディレクトリ』は ExtractFilePath(Application.ExeName) .
MediaPlayer1.FileName := ExtractFilePath(Application.ExeName) + 'music.mid';
// 演奏実行
MediaPlayer1.Play;
end;
0123デフォルトの名無しさん
NGNGあれだけ(ほとんど回答レベルの)ヒントが出てたのにできてなかったのか・・・
カンニングばかりしていると何も身につかないぞ。
012479 ◆7kkYm.VmFc
NGNGyahooで検索してそれらしきサンプルを落としたりして調べてはみたんですけど
動作しなかったり、見当違いだったり、レベル不相応でまだまださっぱり理解できませんでした。
0125デフォルトの名無しさん
NGNGカンニングってのは違う気がするが…。
>>124
謝らなくてもいいから。
いろいろ自分なりにコピペでもいいから試行錯誤してれば
段々分かってくるって。
焦らなくても良いかと。
もちっといろいろやってみてからにした方がいいって。
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNGMIDI再生なんて題材として一番簡単だし>>121で解決だろ。
質問スレでいちいち難癖つけるなよ。
012879 ◆7kkYm.VmFc
NGNG>>126さんの言われるとおり次はメモ帳を作ってみようかと思います。
試行錯誤法の問題でも解いて結果をメモ帳に出力するところまで進めてみようかと思います。
012984
NGNGタイマーってのを見つけて、思いついたやり方なんですけど
こういうのってPCの体力かなり消耗しちゃいますか?
つくったプログラムは取りあえず最小化状態のまま、
たとえば5秒おきに、ある特定のフォルダ中のファイル数をカウントさせ続ける。
何があろうと、静かにずーっとカウントさせ続けるんです
で、あるとき「そのフォルダ中のファイル数が増えたら」フォームが最大化状態で
ピョコッと飛び出してくる。
ためしたところ、最小化状態でもカウントは続けてくれてるみたいで、ほぼ期待通りの動作を
してくれました。
できればこれ、動画の編集をやりながら使いたいんですけど、PCの体力はもちますか。
(Cele1200MHz, 394MB)
013084つづき
NGNG途中でPCこけたりすると、かなり頭いたいので、危険なら使うのやめます。
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG013384
NGNGありがとうございます
コピペでそのまま試すことが出来ました。
何だか物凄いテク御紹介いただきまして( ゚Д゚)。。。
今晩はもうくたくたなので、明日あらためてこちらの都合に合わせて
書き換えて試してみます
0134デフォルトの名無しさん
NGNGリピート時に止まらないようにするのは大変だぞ!
0135デフォルトの名無しさん
NGNGファイルの指定部分を読み込む→それをbitにして表示です
0136デフォルトの名無しさん
NGNGPostMessage(WM_USER)
だと、
あまりにもWin32ベタ杉なんで、
VCLの中の人でやる方法無いで塚?
0137デフォルトの名無しさん
NGNGApplication.ProcessMessages呼んでたまったメッセージを先に処理する。
>>135
一バイトずつ読み込んでこれで変換
function Bin2Str(b: Byte): string;
var i: Integer;
begin
SetLength(Result,8);
for i := 0 to 7 do if b and (1 shl (7-i)) = 0 then Result[i+1] = '0' else Result[i+1] = '1';
end;
0138136
NGNG芋みたいに処理を連結したいんでつが、
その場合はどうしたら良いでしょ?
0139デフォルトの名無しさん
NGNGApplication.Processmessages;
case i of
0: // 0の処理
1: // 1の処理
...
10: // 10の処理
end;
end;
もっと柔軟にやりたいなら処理をオブジェクトにしてリンクでつないで
o := FirstObject;
while Assigned(o) do
begin
Application.ProcessMessages;
o.Execute;
o := o.NextObject;
end;
0140デフォルトの名無しさん
NGNG違う意味だよ。そのイベントハンドラを抜けてからほかの処理を実行したい場合は、
タイマやPostMessage() じゃないとダメだろ。
0141135
NGNGありがとん
家帰ったらためしてみますです
0142136
NGNGでは、とりあえずPostMessageで作って、他に変えれれば変えます。
Kylixでも大丈夫かな。
使う予定は無いんだけど。
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG別に等価だなんていってないよ。
溜まったメッセージを先に処理するVCLでのやり方を紹介しただけ。
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGこれは PostMessage() に近いね。自分でフラグ倒すことを忘れないようにすると。
0147デフォルトの名無しさん
NGNG1回だけ実行なら PostMessage に近いけど、連続での場合は、他のメッセージがキュー
に入らないと実行が止まるね。PostMessage も TTimer もメッセージベースの実装な
わけだが、TTimer はクラスでラップしてあるだけマシかな。PostMessage() の機構も
簡単にラップしたコンポを作れるけど。
0148デフォルトの名無しさん
NGNG0149136
NGNG超キボンニュ。
今回使えなかったとしても、将来激しく使いまつ。
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNGD7のアップデートってどこにあるの?
某のリンクたどっても見あたらない。
0153& ◆R7PNoCmXUc
NGNGどうしたらいいのでしょう? ヘルプを見たらFileSetDateというのがありますが、これは
Pascal ネイティブなファイル変数ではなく,ファイルハンドルを対象とするとなっているので使え
ないようです。
0154デフォルトの名無しさん
NGNG0155名無し
NGNGbtnDraw(Sender);//独自関数
delay(200); //下記
Form2.Visible := not Form2.Visible;
delay(200);
btnDraw(Sender);
とすると、Visible:=Trueとなる場合に(Trueを代入する場合)
一度Form2のオブジェクトにフォーカスが当たるのですが、
その後またフォーカスがForm1に戻ってしまいます。
delay関数でインターバルを設定しているのが
悪いのかどうかは判断できませんでした。
procedure delay(T: Longint);
var
finish: longint;
begin
finish := LongInt(GetTickCount) + T;
repeat
Application.ProcessMessages
until LongInt(GetTickCount) > Finish;
end;
0156金正日
NGNG・・・・
var
Buf: array[0..2047] of Char; //0から始まっているのがミソ!
begin
GetStr(buf);
end;
としていいんだよね?
0157デフォルトの名無しさん
NGNGで、結局どうしたいん?
0158& ◆s6EvxEmmnE
NGNGForm2.Visible:=Trueとしたときに、
Form2(のList1)をアクティブにしたいんですけど…
上の書き方だとForm1がアクティブになってしまうんです。
0159デフォルトの名無しさん
NGNGそれファイルハンドルと違う
FileOpen が簡単かも
0160デフォルトの名無しさん
NGNGbtnDraw(Sender);
がなければ Form2 にフォーカスがあたるけど。
0161150
NGNGForm1.Image1.OnMouseDownでフラグを立ててForm2.OnDeactivateで
フラグが立っていればフォーカスをForm2に残したままにする、
みたいなことって出来ませんか?
(Form1.OnClose 内で Action:=caNone とすると終了キャンセルするように)
0162155
NGNG0163デフォルトの名無しさん
NGNGはずせるかどうかは問題ではなく、フォーカスが移るなんらかのコードがあるかどうか
が問題
最後に Form2.SetFocus; したらいいんでは
0164デフォルトの名無しさん
NGNGテキストファイルならこんなな感じかな?
var
F: TextFile;
Age: Imteger;
begin
Age := 20;
FileSetDate(TTextRec(F).Handle, Age);
end;
型無しファイルだったらTTextRecをTFileRecに置き換えて試してくれ。
0165デフォルトの名無しさん
NGNG参考になるHPまたはソースってありませんか?
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGモナジラプロジェクト
0168デフォルトの名無しさん
NGNG一見胡散臭いけど、確かに参考にできる数少ないHPだよな。
0169おれ様専用メモ
NGNGsetlength(a,5,21,65);
high(a) //=4
high(a[0]) //=20
high(a[0,0]) //=64
0170デフォルトの名無しさん
NGNGできれば詳しく教えていただきたい
0171& ◆iJ3ewyZ4sc
NGNGvar
S: array[0..6] of Char;
P: PChar;
begin
S := 'delphi';
P := S; //互換性があるので @ 演算子を使わなくて良い
end;
こういう例はOKだが関数や手続きの引数を渡すときは型違いでコンパイラがエラーを出すはず。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGモナジラのページは、HTTPのGETメソッドやPOSTメソッドでサーバーにリクエストするときのコードの例が載っている。
そしてそこで開発されているソフトの多くはデルファイでかかれている。
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG0176174
NGNGそこまではできるのですが、
for i := 0 to 100 do
arraybtn[i].caption:=inttostr(i);
とした場合、フォームに配置されたボタン1〜100に対応させる方法がわからないのです。
formbutton1:=arraybtn[1]
を100回繰り返さないとダメなのでしょうか?
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGまず、YahooのログインページのHTMLソースを見る。
すると、ログイン処理がHTMLのFormで記述されていることを理解する。
次に、Formの処理というものはHTTPではPOSTメソッドが使われることを
理解する。
最後に、DelphiでHTTP通信するときはIndyを使うのがもっとも簡単であり、
TIdHttpコンポーネントのPostメソッドを使うことを理解する。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGDelWiki (>>1) には行ってみた?
あと、今なら「カンタン!Delphiプログラミング」がヤフオクに一冊だけ出てる。
0181デフォルトの名無しさん
NGNGできたらソースを。。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNGクッキーが働いてくれず、ホットメールなどのサイトが表示できません。
解決策か、もしくは他に代替となる良いブラウザコンポーネントがあれば
教えて頂けないでしょうか?同じIEベースであろうSleipnirでは正常に
表示できるんですが、そこらへんどうなんでしょう?
0184デフォルトの名無しさん
NGNGhttp://www.google.com/search?&hl=ja&lr=lang_ja&ie=sjis&q=%83%5E%83O%83u%83%89%83E%83U
0185デフォルトの名無しさん
NGNG単に設定の問題じゃないのか?
クッキーにも対応してないブラウザコンポーネント・・。う〜〜ん。
0186デフォルトの名無しさん
NGNG検索してみたら同じような症状っぽいのがありました。
ttp://www.users.gr.jp/ml/archive/viewer.aspx?name=vb&no=3485
環境の問題かも知れないので、いろいろ試してみます…
0187Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
質問っす。
HDDの容量・空き容量を調べたかったりしますが
OSに依存しない&2GB以上もOKってコードを書くのは
DiskFree/DiskSizeをつかっててOKなのですか??
GetDiskFreeSpaceExとか使う必要はなし?
同様に、利用可能デバイス中から
フロッピーとリムーバブルDiskを区別する方法で
OSに依存しないコードはどう書くのでしょうか?
どちらも
MLを検索しまくったり、WEBを探してみても
情報がぐちゃぐちゃに散在していてわかりませんでした。
教えてください。よろしくです。
0188デフォルトの名無しさん
NGNGWinのバージョン調べていけそうな(95OSR2以降な)場合だけ云々とか。
OSってWin系だよね。Kylixは関係ないよね。
0189デフォルトの名無しさん
NGNG取るしかないわけだが
0190デフォルトの名無しさん
NGNGDelphi6 PersonalでFormを生成し表示するプログラムだけで、
exeのサイズが400kになってしまいます。
実行時パッケージを使って構築にチェックを入れると、
exeのサイズは小さくなりますが、この場合、外部のDLLも必要になってしまいます。
上以外の方法で、exeサイズを縮小する方法は何か無いでしょうか。
よろしくお願いします。
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG「小さいEXEの作り方」という解説ページがあるはず。ググッてみ。
基本的には、Tformクラスを使わずに、すべてコードで書くことになる。
0193デフォルトの名無しさん
NGNG彼の技法を使えば190のexeは10KB以下で作れる。
0194デフォルトの名無しさん
NGNG小さいサイズの実行ファイルを作ることが絶対必要なら VCL 使わずに SDK だけで書くこと。
でもそんな要求って滅多にないんだよね。
400KB なんてたいしたサイズじゃないと思う。
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGすんまそん
0199デフォルトの名無しさん
NGNGちなみに画像ファイルの場合は 16 進表示をしてくれる。
まぁ、最近ではウェブデザイナ必携のツールだな。
0200デフォルトの名無しさん
NGNGコンボボックスとボタンが1対1の関係になっていて、各ボタンをクリックしたときにそれぞれ対応する
コンボボックスの内容をフォーム上に唯一存在するラベル(Label1)に表示するようにしたいと考えています。
ここで下のようなコードを書いてみたのですが、<<ここがわからない>>の部分にどのように記入すればいいのか
わかりません。どなたか御教授願いします。
procedure TForm1.Button1Click(Sender: TObject);
begin
Dpy_ComboBox_Name(combobox1.Name);
end;
//<略>
procedure Dpy_ComboBox_Name(ComboName:<<ここがわからない>>);
begin
Label1.Caption := ComboName.text;
end;
0201デフォルトの名無しさん
NGNG皆さんありがとうございます。
教えていただいたことを参考に腕を磨いていきます。
ありがとうございました。
0202デフォルトの名無しさん
NGNGあなたのコードとちょっと違うけど、こんなのはどう?
前提条件としてデザイン時に.ButtonコンポーネントのTagプロパティに.Button1なら1、.Button2なら2を設定しておきます。
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption := 'This is Combo-Box No.'+IntToStr( TButton(Sender).tag );
end;
Senderは、Tobjectなので、TButtonに型キャストしてTagプロパティを読み出します。
0203デフォルトの名無しさん
NGNGかき忘れたけど、Button2のイベントハンドラもButton1と共有できます。(そうしないと意味がない。)
0204デフォルトの名無しさん
NGNG// 'Button1'->1
// 'Button'->0
function GetComponentNum(Name: string): Integer;
var
i: Integer;
begin
for i := Length(Name) downto 1 do
begin
if Name[i] in ['0'..'9'] then
continue;
Result := StrToInt(Copy(Name, i+1, High(Integer)));
Exit;
end;
Result := 0;
end;
procedure TForm1.ButtonClick(Sender: TObject);
var
idx: Integer;
cb: TComboBox;
lb: TLabel;
begin
idx := GetComponentNum((Sender as TComponent).Name);
Assert(idx>0);
cb := FindComponent('ComboBox' + IntToStr(idx)) as TComboBox;
Assert(Assigned(cb));
lb := FindComponent('Label' + IntToStr(idx)) as TLabel;
Assert(Assigned(lb));
lb.Caption := cb.Name;
end;
0205Delフサギコ ◆A6VzDeLphI
NGNG∫,,,,,,,,,∧,,∧ OSはWin系です
⊂,,,,,,,,,つ,,゚Д゚ミつ
どこかの誰かがライブラリ化して関数とか
作ってないっすかね・・・
ご近所だけ使うアプリだから、
リムーバブル&Aドライブなら
フロッピーと限定しちゃっていいような肝するのですが。
興味として。
0206200
NGNGありがとうございます。もともとの質問の意図ですが、Comboboxに文字列を記入し
Buttonを押したときに、それまでのコンボボックスに記録した文字列と比較し、一致するものがなければ
コンボボックスのリストの最後に追加する、という作業を行おうと考え 単一のボタン、単一のCombobox
ではうまくいったものの、完成品には1つのボタンには2個のComboboxこれが5セット分あり合計10個分
のほぼ同じコードを記述するのも無駄に感じたため、質問させていただきました。
いただいたコードでゴリゴリやってみます。ありがとうございました。
0207デフォルトの名無しさん
NGNGMultiSelectedをTrueにして、複数ファイルを選択したときの選択しているファイルの数を取得したいのですが、
どのプロパティを使えばいいのかわかりません。
自分なりに検索したり、ソースを読んだりして、Folders[Index]がポイントだというところまではわかったのですが、
そこから先がさっぱりです。
Folders[Index]という表現からして、TstringsオブジェクトのようなCountプロパティに相当するものがあると思うのですが。
どなたか詳しい方よろしくお願いします。
0208デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/MADIA/delphi/Win32API/GetDriveType.htm
95以降なら大丈夫だろ。っていうか大丈夫。MSDNでもそうかいてある。
容量は…面倒だな…
GetVersionExで、バージョン判定した後に95OSR2以降なら
GetDiskFreeSpaceExで
それ以前なら
GetDiskFreeSpace
ってところか。
(DiskFreeの実装知らんのけど2G未満でしかうまく動かないという話もあるので
上記のようにする必要があると思う。)
0209デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/kotobukijirushi/ddt/bcbonsun/bosvol07.html
BCBだけど参考になると思う。
0210208
NGNGフロッピーとリムーバブルディスクの区別つかないや。
0211デフォルトの名無しさん
NGNGSelCountでは駄目なのかなぁ・・・
0212Delフサギコ ◆A6VzDeLphI
NGNG,,ミ,,゚Д゚ミ
.とミ,,,,,U,,U
>>208さん。そうなんすよ
うまくいかんのですよ。
>>209さん
ヲォ!日曜日はBCBは行方不明&消去になったと
思ってました。
よかったー、いまのうちに(σ・∀・)σゲッツ!しとこうかと。
後で呼んでみます。
0213デフォルトの名無しさん
NGNGSelcountで、取得できました。
ありがとうございました。
0214デフォルトの名無しさん
NGNG>903,270,400 バイトの空き領域
0215デフォルトの名無しさん
NGNGDelphiのバージョンにもよるけど、5以降ならOSの違いはVCLで吸収しているので素直にDiskFree/DiskSizeでOK
っつうかソース嫁
FDの識別は...リムーバブルかつFAT12という条件でどう?
0217デフォルトの名無しさん
NGNG0218Delフサギコ ◆A6VzDeLphI
NGNG∫,,,,,,,,,∧,,∧ 情報が散在してて
⊂,,,,,,,,,つ,,゚Д゚ミつ 正解がどこにあるかわからないのに
"VCLソース呼んで解決することができる"ほどに賢くはないから、
質問して確認しているんだが。くだすれで。
D6で
SysUnils.pasにコメントで書いてあるのね。
{ The GetDiskFreeSpace Win32 API does not support partitions larger than 2GB
under Win95. A new Win32 function, GetDiskFreeSpaceEx, supports partitions
larger than 2GB but only exists on Win NT 4.0 and Win95 OSR2.
The GetDiskFreeSpaceEx function pointer variable below will be initialized
at startup to point to either the actual OS API function if it exists on
the system, or to an internal Delphi function if it does not. When running
on Win95 pre-OSR2, the output of this function will still be limited to
the 2GB range reported by Win95, but at least you don't have to worry
about which API function to call in code you write. }
えっと、英語よめない。後半とかあまりヨクワカ.......
肝心なのは最後の一文か。。。
0219デフォルトの名無しさん
NGNGbeginって打った時に
→→→→|
に自動的にインデントさせる設定ってないですか?
ないとして最新バージョンだとできたりしますか?
0220Delフサギコ ◆A6VzDeLphI
NGNG∫,,,,,,,,,∧,,∧ MLでは、
⊂,,,,,,,,,つ,,゚Д゚ミつ "マイコンピータのシェルのアイコンから区別できんじゃね?"
という人もいたみたいだけど、
明確な回答は出ていなかったかと、記憶してるです
・・・空容量チェックか・・・
フロッピー、遅いからコリンコリンとアクセスしにいって
ほしくないのですが・・・
0221デフォルトの名無しさん
NGNG表示名が取れるよ
0222Delフサギコ ◆A6VzDeLphI
NGNGhttp://forum.nifty.com/fdelphi/samples/01432.html
∫,,,,,,,,,∧,,∧ ホワワ
⊂,,,,,,,,,つ,,゚Д゚ミつ >>221さん、夜遅くにありがおう。
function IsFDDrive(const ADrive: Char): Boolean;
これかしら?
Pos(' FD (', UpperCase(fi.szDisplayName)) > 0
なるほ・・・
0223デフォルトの名無しさん
NGNGそれって言語(ロケール)依存しないの?
0224デフォルトの名無しさん
NGNG「エクスプローラと同じ」って意味では依存しないのでは
0225デフォルトの名無しさん
NGNG0226sage
NGNG' FD (' を含むのか、ってことでは?
0227226
NGNG0228デフォルトの名無しさん
NGNGそれなら >>222 にきいてみたら。自分の周りだけのアプリだそうだから、それで十分なんでは
0229デフォルトの名無しさん
NGNGものっ凄い遅レスですがうまくいきました。ありがとうございました。
0231名無し募集中。。。
NGNGメニュー間隔がスカスカなのとセンスの欠片もないスピードボタンにガッカリです
どうにかしてDelphi4の引き締まったインターフェイスに戻すことは出来ないのでしょうか?
0232デフォルトの名無しさん
NGNG1. Delphi7をアンインストール
以上
0233デフォルトの名無しさん
NGNGcon := 0;
for i :=0 to ListView.Count-1 do
begin
if ListView.items.item[i].selected then
con := con + 1;
end;
とかで一応なんとか
でもスマートじゃないよね?
0235215
NGNG> > FAT12
> それだとディスク入ってないと判定できなくね?
ぎくっ
>220
これ参考になりませんかね?
ttp://forums.belution.com/ja/vc/000/078/05.shtml
0236Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ >>228
質問の回答ってのは
質問者の漏れだけに役に立つ会話じゃないんだから。
漏れもロケールのトコは気にしてなかったけど、気になってきた。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGブルックナーの第8交響曲を聴いた後、秋田馬方節を歌えばよい!
0240デフォルトの名無しさん
NGNG表示用の文字列はロケール依存激しいと思う。
右から書く言語もあるしね。
0241デフォルトの名無しさん
NGNGすべての発音を入れておく。
0242デフォルトの名無しさん
NGNG今はどうなったのかしらんが。
0243デフォルトの名無しさん
NGNGRaveではNewPageみたいなメソッドって無いんでしょうか?
FinishNewPageでは思うような動きをしてくれなくて・・・
探しても見つからないし、マニュアルは英語だし・・・限界です_| ̄|○
0244デフォルトの名無しさん
NGNGプログラマには向かないかも
0245デフォルトの名無しさん
NGNG>漏れもロケールのトコは気にしてなかったけど、気になってきた。
周りだけのアプリで、気にすんの? アラビア語とか使ってる人いるの?
0247デフォルトの名無しさん
NGNGでもマジな話、英語はできるようになったほうがいいよ。
別にペラペラにならなくてもいいから、辞書片手にマニュアルくらいは読めるようにはすぐなれるし、
将来海外の人と電子メールするようになるかもしれないでしょ。
マニュアル、ヘルプくらいだったらちょっと努力すれば比較的簡単だよ。
0249デフォルトの名無しさん
NGNGどうやって初期化すればいいですか?
ただ、そのプロシージャが呼び出されるたびに
初期化されるのも困るんです。
グローバル変数にするしかないですか?
0250デフォルトの名無しさん
NGNGWin2k で FD のところをレジストリからとってみた。
\??\FDC#GENERIC_FLOPPY_DRIVE#5&7fad87f&0&0#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
うーん、これはロケール依存しなさそうだね。"FDC" のところを検出するとOKかも
0251名無し募集中。。。
NGNGCでいうstatic変数のことかな?
Delphiには存在しないからimplementation部に変数宣言
もしくは手続き、関数内で型付き定数を使用するぐらいしかない
0252デフォルトの名無しさん
NGNGグローバル変数を使いたくなければ、クラスを使え。
たとえば、変数と手続きだけのクラスを作って、
起動時にインスタンス作って以後そのインスタンスを使うとか。
GUIアプリなら、変数と手続きの両方をForm1のメンバーにしちゃうとか。
変数だけForm1のメンバーにして、手続きにvarで参照渡しするとか、
やりかたはたくさんある。
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGそんなエサに釣られるクマー(AA略)
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGなぜそこでって、プロシージャ内でしか使わないのに、その外からアクセスできるんじゃ
グローバル変数で妥協するのと変わんないじゃん。
0257デフォルトの名無しさん
NGNG>ただ、そのプロシージャが呼び出されるたびに初期化されるのも困るんです。
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG↑これ上手くいった方いますでしょうか?
自分の環境(Delphi6 per)では上手くいきませんでした。
どうやればいいのでしょうか?
0262デフォルトの名無しさん
NGNGCoInitialize(nil);
finalization
CoUninitialize;
end.
ってユニットごとにガシガシ呼んでも大丈夫?
0263デフォルトの名無しさん
NGNG具体的にどう上手くいかないの?
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGdelphi特殊
0267デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNGほかの原因はなに?
0270249
NGNGなにやら質問自体に問題があったようで・・・
しかし、さっぱりなのでそこらへんかんべんです。
しっかり勉強してみます。
0271ななしへたぐらま ◆XcB18Bks.Y
NGNG読み上げ算プログラムを作りたい,ということしょうか.
「いち」「にー」「さん」「しー」「ごー」「ろく」「なな」「はち」「きゅー」「じゅー」
「にじゅー」「さんじゅー」「よんじゅー」「ごじゅー」「ろくじゅー」「ななじゅー」「はちじゅー」「きゅーじゅー」
「たす」
みたいな音声を用意してたとえば49+83なら
「よんじゅー」「きゅー」「たす」「はちじゅー」「さん」と連続再生すればとりあえずできるようになります.
(最大2桁なら「きゅーじゅーきゅー」まで全部用意しても良いのですが3桁以上だと現実的ではありません)
あとは数値から読みに変換する(たとえば 49 を「よんじゅー」「きゅー」にする)部分のプログラムを書きます.
>>248
何でも良いから小説本でも読む.何でもというからには
ttp://www.france.co.jp/bisyojo/index.html こんなんでも良いと思います.
個人的には『スレイヤーズすぺしゃる』シリーズとか.お笑い系で短編集なので1つが短い.
>>270
ご質問自体は間違っていません!!
C言語にはご質問の通りに使えるstatic変数というものが存在しますし,
Delphiにはstatic変数はありませんがコンパイラオプションで『型付き定数への代入』を許可すると
型付き定数をCのstatic変数と同じように使うことができます.
procedure TForm1.Button1Click(Sender: TObject);
const YobidashiCount: integer = 0;
begin
inc(YobidashiCount);
ShowMessageFmt('%d回目の呼び出しだぜ!', [YobidashiCount]);
end;
0272デフォルトの名無しさん
NGNG> 型付き定数をCのstatic変数と同じように使うことができます.
( ・∀・)つ〃∩ ヘェー*16
0273デフォルトの名無しさん
NGNGこれ非推奨だけどな。
var YobidashiCount: integer = 0;
procedure TForm1.Button1Click(Sender: TObject);
begin
inc(YobidashiCount);
ShowMessageFmt('%d回目の呼び出しだぜ!', [YobidashiCount]);
end;
のがまだまし。外に出してもユニットローカルだから大して問題にはならない。
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGしょぼいなぁ。
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGしょぼいなぁ。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGDelphiはC++より不自由だからコンパイルが速いとか
ジェネリックプログラミングとビルドが速いのはどちらが作業効率が高いかとか
際限なく話が広がっちゃうのでやめれ。
0281デフォルトの名無しさん
NGNGOK
0282デフォルトの名無しさん
NGNGウェブサーバーアプリケーションを作るとき、「CGI実行形式」を選んだ場合、
吐き出されたバイナリは、ウインドウズ系以外のOS上のアパッチでも動くのでしょうか。
CGIを作る必要があって、(パールの使えますが、)可能ならデルファイでやりたいと思います。
苦労して作って、動かなかったというのは避けたいですし、実験しようにもよくわからないものを
外部のサーバーに送り込むのは、セキュリティ上気が引けます。(プライベートネットワークには、
IISが動いているマシンはありますが、ユニックス系のOSのマシンはありません)
よろしくお願いします。
0283デフォルトの名無しさん
NGNGという希ガス。
0284デフォルトの名無しさん
NGNGマジレスするとWindows以外のOSは山ほど在るんだが・・・
恐らくUNIX系OSとの推測で答えると・・・これまた山ほど在る。
製品名がどうこうではなく、CPUのアーキテクチャからして違う。
Delphiファミリーで生成できるのはintel i386アーキテクチャ上での
Windows or Linux用実行モジュールのみ
0285284
NGNGすべてのライブラリ(コンポーネント)やOSに依存する機能が提供されている訳ではないので誤解なきよう。
例えばLinuxにOleDBやADOはない。
0286デフォルトの名無しさん
NGNGどうしよう。
0288デフォルトの名無しさん
NGNGネーミングから、何度も発生しそうなイベントですが、本当に一度でつか?
何度も発生するならフラグ付けますが。
0289名無し募集中。。。
NGNGprocedure CMShowingChanged(var Message: TMessage);message CM_SHOWINGCHANGED;
procedure TfrmAE002.CMShowingChanged(var Message: TMessage);
begin
inherited;
if Visible then
begin
end;
end;
0292デフォルトの名無しさん
NGNGレス、どうもです。
つかうメソッドに注意して試してみます。
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNGTApplication.OnMinimizeです。
0296デフォルトの名無しさん
NGNGその通りですた。
ただ、アプリの初期処理をForm.OnActivateとApplication.OnMinimizeと2箇所にいるなんて、
VCLが一つになるようなイベント用意してくれれば良かったのに。
0297デフォルトの名無しさん
NGNGOnShowとOnActivateは一回づつしか発生しないでつよね?
0298デフォルトの名無しさん
NGNGDeactivate → Activate するたびに OnActivate
初期化は Application.OnIdle でやってしまって、イベントハンドラをはずすと
一回だけオブジェクトの生成後に処理できます。
0299デフォルトの名無しさん
NGNGprocedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.Add('Create');
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Lines.Add('Activate');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Memo1.Lines.Add('Show');
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Memo1.Lines.Add('Paint');
end;
procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
var Done: Boolean);
begin
ApplicationEvents1.OnIdle := nil;
Memo1.Lines.Add('Idle');
end;
0300デフォルトの名無しさん
NGNGDelphiアプリが言うことを聞いてくれません。
どうしたら良いで塚?
起動元、起動側、両方Delアプリでつが、専用の処理を入れるのメンドウでつ。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGSW_SHOWMINNOACTIVEのみアイコン化ですた。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG0305ウルトラ初心者
NGNGvar
i, j, LP, Blk, M,LS: Integer;
begin
Result := '';
LP := Length(P); LS := Length(S);
if (LP = 0) or (LS = 0) then Exit;
Blk := LS div LP;
M := LS mod LP; //PassWord文字列の長さに満たない場合
SetLength(Result,LS);
for i := 1 to Blk do
for j := 1 to LP do
Result[(i-1)*LP+j] := Char( Ord(S[(i-1)*LP+j]) xor Ord(P[j]) );
if M > 0 then
for i := 1 to M do
Result[Blk*LP+i] := Char( Ord(S[Blk*LP+i]) xor Ord(P[i]) );
end;
-------------------------------------------------------------------------
単に任意の文字列に対しXORをかけるだけなのでP(パスワード文字列)も任意の日本語で問題ないと
思うのだが XorEnCode( '諸星弾&友里アンヌ' , 'ウルトラ警備隊') などとやると2回繰り返した
場合元に戻らない。なんでじゃろ?
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGエクスプローラで見ると指定したアイコンなのですが、exeファイルを右クリックでみると
デルファイのアイコン?になってしまいます。
resファイルを削除して再構築してもだめでした。
0308デフォルトの名無しさん
NGNGなんだかよく知らんが、ソース分かり辛い。意図した動作をしないならコード間違っているんじゃない?
RC4でも使えば? 簡単だし速いしソースも一杯転がっているし、バイト単位でできるし汎用性が高いので使いやすいと思う。
0309デフォルトの名無しさん
NGNGたとえばカタカナ同士の LeadingByte は同じだから、Xor をとればゼロになる。
だから、文字列の長さを間違う。
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s := XorEnCode('諸星弾&友里アンヌ','ウルトラ警備隊');
Label1.Caption := s;
Label2.Caption := XorEnCode(s,'ウルトラ警備隊');
end;
ならうまくいくが、
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := XorEnCode('諸星弾&友里アンヌ','ウルトラ警備隊');;
Label2.Caption := XorEnCode(Label1.Caption,'ウルトラ警備隊');
end;
失敗する。暗号化したものは文字列として受け取ることは危険。
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGプロジェクトオプションで指定するプロジェクト全体のアイコンと各フォームのアイコンの両方指定してありますか?
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s := '途中で'#0+'途切れる';
Label1.Caption := s;
Label2.Caption := IntToStr(Length(s));
Label3.Caption := IntToStr(Length(Label1.Caption));
end;
文字列同士の代入は参照の代入で同一の実体を指す。CopyOnWrite 。
プロパティーへの代入はアクセサによるコピーなので最初に見つかった #0 で長さ確定。
これは PChar と string の代入互換性を実現するためにしかたないか。
>>305 の Xor のようなビット操作で文字列を「暗号化」した結果は、かなり高い確率で #0 を含む
ので、もはや文字列ではなく、バイナリデータだとみなした方がいいね
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGコピーだって言ってるじゃん。最初の#0までの。
0319デフォルトの名無しさん
NGNGTByteArray = array of byte;
procedure XorEncode(const Source, PassWord: string;var ba:TByteArray);
var
i, LP,LS: Integer;
begin
SetLength(ba,0);
LP := Length(Password); LS := Length(Source);
if (LP = 0) or (LS = 0) then Exit;
SetLength(ba,LS);
for i := 1 to LS do
ba[i-1] := Ord(Source[i]) xor Ord(Password[(i-1) mod LP +1]);
end;
function XorDecode(const ba: TByteArray;const PassWord: string):string;
var
i, LP,LS: Integer;
begin
result := '';
LP := Length(Password); LS := Length(ba);
if (LP = 0) or (LS = 0) then Exit;
SetLength(result,LS);
for i := 1 to LS do
result[i] := Char(ba[i-1] xor Ord(Password[(i-1) mod LP +1]));
end;
0320デフォルトの名無しさん
NGNGvar
ba:TByteArray;
s,p: string;
i:integer;
begin
s := '諸星弾&友里アンヌ'; p := 'ウルトラ警備隊';
XorEncode(s,p,ba);
for i := 0 to Length(ba)-1 do Memo1.Lines.Add(Format('%.2d : $%.2x',[i,ba[i]]));
Label1.Caption := XorDecode(ba,p);
end;
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGプログラム実行中にLineやItemが追加する動きの後に
その合計数を参照したいのですが…。
激しく既出でしたら申し訳ございません。
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNG以下のコードを貼り付けて(要Memoコンポーネント)、100回実行してみてください。
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
begin
for I := 0 to 9 do Memo1.Lines.Add(IntToStr(Random(100)));
end;
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNG乱数の種をどこから取得しているのかという質問か?
0333デフォルトの名無しさん
NGNG{$IFDEF LINUX}
begin
RandSeed := _time(nil);
{$ENDIF}
{$IFDEF MSWINDOWS}
var
systemTime :
record
wYear : Word; wMonth : Word; wDayOfWeek : Word;
wDay : Word; wHour : Word; wMinute : Word;
wSecond : Word; wMilliSeconds: Word;
reserved : array [0..7] of char;
end;
asm
LEA EAX,systemTime
PUSH EAX
CALL GetSystemTime
MOVZX EAX,systemTime.wHour
IMUL EAX,60
ADD AX,systemTime.wMinute { sum = hours * 60 + minutes }
IMUL EAX,60
XOR EDX,EDX
MOV DX,systemTime.wSecond
ADD EAX,EDX { sum = sum * 60 + seconds }
IMUL EAX,1000
MOV DX,systemTime.wMilliSeconds
ADD EAX,EDX { sum = sum * 1000 + milliseconds }
MOV RandSeed,EAX
{$ENDIF}
end;
0334さんくすえぶりばでぃ
NGNG時間からとっていたとはぁこりゃぁたまげた(・∀・)
Delphiユーザーは天才だなwwwwwwwwwwwwwwwwwwwwww
0335& ◆LMRaV4nJQQ
NGNGEncodeByte: TByteArray;
L := SizeOf(EncodeByte);
WriteF.Write(L, SizeOf(L));
WriteF.Write(EncodeByte, L); ※
ReadF.Read(L, SizeOf(L));
ReadF.Read(EncodeByte, L); ※
でええのかな? 文字列だと ※のところが
WriteF.Write(EncodeStr[1], L);
ReadF.Read(EncodeStr[1], L);
でいいみたいでっけど・・・・・
0336デフォルトの名無しさん
NGNGRead も同様
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNGSizeOf(EncodeByte);
は常に4
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG元データが文字列なんだからString, PChar, varあたりが妥当だよ。
StreamはWrite(const buf; だし。
ついでにTByteArrayは別の形で定義済み。Types.TByteDynArray使っとけ。
0341デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
ms:TMemoryStream;
i,L:integer;
EncodeByte,DecodeByte:TByteArray;
s,p: string;
begin
s := '諸星弾&友里アンヌ'; p := 'ウルトラ警備隊';
XorEncode(s,p,EncodeByte);
ms := TMemoryStream.Create;
try
L := Length(EncodeByte)*SizeOf(Byte);
ms.Write(L,SizeOf(L)); // 書き込み
ms.Write(EncodeByte[0],L);
ms.Position := 0;
ms.Read(L,SizeOf(L));
L := L div SizeOf(Byte);
SetLength(DecodeByte,L);
ms.Read(DecodeByte[0],L);
Label1.Caption := XorDecode(DecodeByte,p);
finally
ms.Free;
end;
end;
0342デフォルトの名無しさん
NGNGお好きにどうぞ。
文字列をEncode → 文字列じゃまずい、バイナリデータにすべき
という流れから Array of Byte にしたんだろ。PChar はどう見てもまずい。
0343デフォルトの名無しさん
NGNG文字列の問題じゃないといったい何度言わせれば・・・
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGるでしょ。そうでなければ >>305 の関数自体は正しいでしょ。
0346デフォルトの名無しさん
NGNGMove で一行
0347デフォルトの名無しさん
NGNG意味分かってない奴。
なんにしてもバッファ操作にarray of byteなんて使う奴はいないってこった。
Delphi cryptかなんかで検索してインターフェース調べてみなよ。
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGうーむ、どこがバッファ操作なんだろう?
ソース文字列とパスワード文字列と XOR するのに添え字でアクセス出来るので
この上なく便利だと思うのだが?
0350デフォルトの名無しさん
NGNGタブが表示されるまでCreateされないんでしたっけ?
出来れば、該当のVCLの位置キボンユ
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG0353350
NGNG0354デフォルトの名無しさん
NGNGうーむ、codecのどこがバッファ操作じゃないんだろう?
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGAdd 出来たなら Create されているんでは? 消えた原因は不明だけど
0358デフォルトの名無しさん
NGNG再描画シテミソ
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGmemo1.visible
のmemo1部分をconという変数に代入して、
con.visible
という感じに動作させるにはどのようにすればいいのでしょうか。
con の型は何で宣言すれば?
0362デフォルトの名無しさん
NGNGうまくいきました。ありがとうございます。
0364デフォルトの名無しさん
NGNG360の条件ならFreeしちゃ駄目だと思う。
0365デフォルトの名無しさん
NGNGonCreate内でmemo := TMemo.Create(Self)
onDestroy内でmemo.Freeが必要なのでは?
0366デフォルトの名無しさん
NGNGmemo.Parent := Self;
しとけば児童解放される。TComponent継承してるクラスならね。
0367デフォルトの名無しさん
NGNG>360はcreateではなく別な変数memo1(たぶんフォームデザイナで作ったインスタンスへの参照)を
代入しているから、もしconをfreeすると元々のmemo1が解放されてしまう。
0368デフォルトの名無しさん
NGNG他の例えばTStringGrid.Colなどは問題なく動作するのですが。
同じフォームにコピーしたTStringGridで同じことをやっても特に問題は起こりません。
何が起こってるんでしょう・・・
0369デフォルトの名無しさん
NGNG一般に他のグリッドなら駄目と言うことはないよ。
0370デフォルトの名無しさん
NGNGでも特にwhileもfor〜も使ってないのです。
showmessageなど使って問題の行の前後に置いてみると、
確実にTStringGrid.Rowの行で止まってます。
0371デフォルトの名無しさん
NGNG止まったら呼び出し履歴調べてみて。
0372デフォルトの名無しさん
NGNGc:\winnt\System32\rtl60.bpl
c:\winnt\System32\rtl60.map
c:\winnt\System32\rtl60.jpn
は、Delphi 6をアンインストールしたら削除しても良いファイルなのですか?
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGパッケージ使ったアプリとは、どういうことでしょうか?orz
このファイルは、Deiphiをインストールする前からあったファイルなのですか?
(上書き前のファイルのことです)
0375デフォルトの名無しさん
NGNGすみません、単純なコードのミスだったことが判明しました。
失礼しました・・・
0376デフォルトの名無しさん
NGNGプロジェクトオプションで指定できる実行時パッケージの事。
それ使うとexeのサイズが激減する代わりに*.bplがないと動かなくなる。
0377デフォルトの名無しさん
NGNGc:\winnt\System32\rtl60.bpl
c:\winnt\System32\rtl60.map
c:\winnt\System32\rtl60.jpn
はDelphiのランタイムだったんですね。
ということは、Delphiをアンインストールしたからといって、
わざわざ上書き前のファイルに戻してやる必要はないのでしょうか?
0378デフォルトの名無しさん
NGNG>>376
ありがとうございます!
0379デフォルトの名無しさん
NGNGアアア
イイイ
ウウウ
上記の項目を設計時にTreeViewに設定してあった場合、
イイイの下にテキストファイルの内容を、子ノードとして追加していきたいのですが、
イイイの取得の方法を教えていただけませんか?
0380デフォルトの名無しさん
NGNGTreeView1.Items[]でTreeNode列挙できるからTextとLevelみて検索
0381デフォルトの名無しさん
NGNG全角スペースを挿入したあと、BS で全角スペースを消すと
文字化けするんだけど、解決方法教えてくだちい。
0382デフォルトの名無しさん
NGNGさっそく試してみたところ、取得できました。
ありがとうございました。
0383デフォルトの名無しさん
NGNGWindowsUpdateしてDel6用パッチを全てあててから
フォームにComboBoxを一つだけ貼り付けてプロジェクトで再現したら
使ってるOSを書く。
0384デフォルトの名無しさん
NGNGAutoCompleteプロパティをFalseに汁
0385デフォルトの名無しさん
NGNG正直、AutoCompleteはお奨めできない
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNGarray of charでもなくてPCharでもないのにキャストできたりして意味不明
0388デフォルトの名無しさん
NGNGサイズは変更可能、最小化のボタンだけ残したいのですが。
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNG「最小化だけ」は無理じゃない?
「終了ボタン」も、「無効」なら出来るけど、
純粋に「最小化ボタンだけのウィンドウ」って無理だと思う…。
0391デフォルトの名無しさん
NGNGCopy on write機能搭載の参照カウンタつきポインタ
詳しくはここ
http://web.archive.org/web/20040206013521/kakinotane.s7.xrea.com/obj/ml006.html
0392デフォルトの名無しさん
NGNGところでこのサイトまとまってよかったのに何でやめちゃったのかな
元のページなくなってるし
0393デフォルトの名無しさん
NGNGSeventh Delphi旧入門として復活してるよ。
0394デフォルトの名無しさん
NGNGWM_NCPAINT で最小化ボタンだけのタイトルバーを自前で描画する。
ボタンの部分は WM_NCLBUTTON〜 でなんとかする。
元の項目は CreateWnd あたりをオーバーライドして DeleteMenu で消す。
0395デフォルトの名無しさん
NGNG何を覚えればいいんでしょうか?
0396デフォルトの名無しさん
NGNGKOLとか言う、容量を少なく出来るらしい奴を使ったんですが、
exptintf.dcuが見つからないと言われました。
どうしたらいいでしょうか?
0397デフォルトの名無しさん
NGNGありがとうございます。
やっとpstringとpcharの違いがわかった気がします
0398396
NGNGごめんなさい。
0399TWAIN
NGNG内容的にはTWAINを自力で制御するソースをACTIVEX化したいと
思っています。
(鶴の一言によりImageKitのような市販品は今の所、使えません。
組み込みもPowerCobolに行うのでActiveX化が必要です。)
とりあえずTWAINソースは簡単なサンプルを作ったのですが
ACTIVEX化で詰まっています
TTimerや通信系のような、画面に出ないOCXを目標にしています。
新規作成−ACTIVEX−ACTIVEXコントロールで作ろうとすると
例えばTTimerがありません。
TTimerはウィンドウレスだから出てこないのかと思っていますが、
・このような場合どうやってACTIVEX化するのか
が1日ネットで泳ぎましたが分かりません。
最近のDELPHIでもACTIVEXコントロールの辺りは大差ないと
思うので、ちょっとしたポインタだけでもご存知でしたら教えてください。
0400デフォルトの名無しさん
NGNG0401TWAIN
NGNG他のコンパイラに機能を提供するのには今時はなにをつかうのですか。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404TWAIN
NGNGdllだと1アプリでスキャナ2台使うケースまで考えると、
1アプリに対してのdllインスタンスは1つなので
dll呼び出し時にハンドルを使用者側で管理してもらう必要があります。
(本家本元のTWAINライブラリの都合上hwndが必要です
→DLLでCreateWindow発行
→使用者にハンドルを渡す)
OCXなら「使う分貼りつけて」になり、使用者側も分かりがいいかと。
総合的には今の所、ActiveXControlの方が利便性があると思っています。
TTimer系をActiveXにするポイントをご存知の方、よろしくお願いします。
実際のものもTComponentから派生する予定なのですが、TComponentだから
ActiveXに出来ないのでしょうか(その辺がわかっていません)
0405デフォルトの名無しさん
NGNG使用目的が限定されているなら、ActiveXなんて面倒なラップしないで普通にAPIなDLLで提供したほうが楽そうな気が。
てか、ActiveXは作るのが面倒。どのIDEでも同じだが、提供されるのは最低限の雛形生成。
クラス型のプロパティがあったりすると、そこはActiveX用にインターフェイスを定義してやらないとアクセスできんし。
メンテも大変だしね。
ひょっとしたら、どこかにサポートツールが在りそうなきがしないでもないが俺は知らん。
手動でインターフェイス書くなら間違いなくActiveXのほうが作業量が多いがそれでもやりますか?
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG> 体験版提供予定(2005年01月)
0410デフォルトの名無しさん
NGNGメニューが使えなくなるようですけど、これを避ける方法があるのでしょうか?
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGという作業を自動化するアプリを作ろうとしています。
タスクトレイ全体のハンドルを取得することはできましたが、そこで詰まっています。
目的のアプリに対応するアイコンの場所かハンドルかを取得して
マウスクリックのメッセージを送る、という方法になるかと思っていますが、
具体的にはどのようにしたらよいでしょうか?
0413デフォルトの名無しさん
NGNG0414412
NGNGえと、方法自体もOSで変わってくるのでしょうか?
ウィンドウ構造に関してははここを読みました。
http://homepage1.nifty.com/kazubon/progdoc/tclock/taskbarhistory.html
0415デフォルトの名無しさん
NGNGだったり、その親の TrayNotifyWnd クラスだったり SysPager があったりなかったり
全部のOSを動的に判断することはできるから、不可能ではないにしろめんどくさいね。
0416デフォルトの名無しさん
NGNG途中の結果が見たい。
それでTimerを使ってIntervalを1に設定して定期的に表示してるけど遅い
速い方法はありますか?
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGま、あんまり拘らずに1秒間隔でも俺はいいと思うぞ。
0419416デフォルトの名無しさん
NGNGすばやい回答、本当にありがとうございます!
試してみます。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGvar
N,X:single;
I:integer;
Form1: TForm1;
N:= Memo1.Lines.Count;
X:= StrToFloat(Memo1.Lines[I]);
I:=0;
for I:= 0 to N-1 do
for文の制御変数波ローカル変数にするにはどうすればいですか?
0423デフォルトの名無しさん
NGNG0424ななしへたぐらま ◆XcB18Bks.Y
NGNG変数をメソッドの中で宣言して下さい.
メソッド,関数,手続きの中で宣言した変数はローカル変数になります.
それ以外で宣言した変数はグローバル変数になります.
なんとなく変数I, N, XをForm1の下に宣言しているような気がするのですが,
ここに変数を置く必要はまずありません.(私は置いた記憶がありません)
平均値を求める処理はTForm1にメソッドを1つ作り,その中で行うと思いますが,
変数I, N, Xはこの中でしか使わないのでここで宣言すべきです.つまりローカル変数にすべきです.
0425デフォルトの名無しさん
NGNGDeCal使え
http://onigiri.s3.xrea.com:8080/delphi/index.php?DeCal
0426デフォルトの名無しさん
NGNGFor i:=0 to 255 do
begin
hairetu[i]:=0;
end;
とするしか方法はないでしょうか?
0427デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNGLength(array)*SizeOf(要素の型) じゃないと。
procedure TForm1.Button1Click(Sender: TObject);
var
IntArray:array[0..4] of integer;
i:integer;
begin
for i := 0 to 4 do IntArray[i] := Random($FFFFFFF);
FillChar(IntArray,Length(IntArray),#0);
for i := 0 to 4 do Memo1.Lines.Add(IntToStr(IntArray[i]));
end;
は間違い。
procedure TForm1.Button1Click(Sender: TObject);
var
IntArray:array[0..4] of integer;
i:integer;
begin
for i := 0 to 4 do IntArray[i] := Random($FFFFFFF);
FillChar(IntArray,Length(IntArray):SizeOf(integer),#0);
for i := 0 to 4 do Memo1.Lines.Add(IntToStr(IntArray[i]));
end;
が正しい。
0432デフォルトの名無しさん
NGNGFillChar(IntArray,Length(IntArray)*SizeOf(integer),#0);
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG> SizeOf(hairetu)でいいやん
これ動的配列ではダメだね。スマートポインタだからいっつも4になる。
procedure TForm1.Button1Click(Sender: TObject);
var
IntArray:array of integer;
i:integer;
begin
SetLength(IntArray,5);
Label1.Caption := IntTostr(SizeOf(IntArray));
for i := 0 to 4 do IntArray[i] := Random($FFFFFFF);
FillChar(IntArray[0],SizeOf(IntArray),#0);
for i := 0 to 4 do Memo1.Lines.Add(IntToStr(IntArray[i]));
end;
この場合も
FillChar(IntArray[0],Length(IntArray)*SizeOf(integer),#0);
ならOK
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG0438TWAIN
NGNGあきらめてDLLにしました
ご意見ありがとうございます
0440デフォルトの名無しさん
NGNG書き換えたいのはほんの16バイト〜64バイトだけなのに
TFileStreamやTMemoryStreamとかだと上書き保存でも先頭から最後まで上書きしていくようなのです。
動画ファイルをいじるツールなので、ファイルサイズは当たり前にウン百MB・・。
ひたすら時間がかかってしまいます。
0441デフォルトの名無しさん
NGNGseek
0442デフォルトの名無しさん
NGNGBlockWriteで良いんじゃない?
0443440
NGNG遅くなりましたが何とかうまくいきました。
ファイル型を使うのが初めてだったのとRecSizeとBlockWriteの書き込みサイズの関係に手間取ってました。
まさしく理想的な速さです。(本当に保存したのか不安になるぐらい)
ありがとうございました。
0444ななしへたぐらま ◆XcB18Bks.Y
NGNGつまり,TFileStreamのSeekメソッドで書き換えたい位置に移動,
Writeメソッドで書き込み,最後にFreeメソッドでファイルを閉じる,
という感じで部分的に書き換えることができます.
0445デフォルトの名無しさん
NGNGプロジェクトのディレクトリのデフォルト設定とかじゃなくて。
0446デフォルトの名無しさん
NGNG環境オプション ライブラリパス
0447デフォルトの名無しさん
NGNG入力値チェック等複数の条件分岐が必要な場合は
if (条件) then
if (条件) then
if (条件) then
とif文をネストしていましたが例外処理を使って
try
if (条件) then raise Exception.Create('最初のif文)
if (条件) then raise Exception.Create('次のif文)
if (条件) then raise Exception.Create('最後のif文')
except
end
と書いても同じことになるのでしょうか?
0448デフォルトの名無しさん
NGNGまあでもgotoの代わりに使うのは面白くないけどな
0449447
NGNG例外を生成してるのでこれだとメッセージが出ないですね
>>448
レスどうもです
条件分岐がたくさんある時はいちいちif文で分けないで
エラーだったらズバッと特定部分に飛ぶのはスマートだと思いますが
これは間違った認識なのでしょうか?
0450デフォルトの名無しさん
NGNGエラーが発生したことと、エラーの発生した場合の処理を分離する為の機構なんだから。
暇があったらここでも読んどけ。
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3%2FException%A4%F2%B8%AD%A4%AF%BB%C8%A4%A8%5D%5D
0451デフォルトの名無しさん
NGNGttp://groups-beta.google.com/group/DelphiFreeTalks
Web と mail からで利用できる。
両方とも投稿 IP が記録されるので、絶対的に匿名が必要な場合には今までどおり
ここを使っておくれ。
0452デフォルトの名無しさん
NGNGベクターとかに登録してもいいんですか?
0453デフォルトの名無しさん
NGNGGNUの宣言文なんかよりずっと読みやすい、
平易な文章だ。そして、自分で理解しろ。
そうしないと危険だ、わかるだろ?
0454デフォルトの名無しさん
NGNG読んでみました。
フリーソフトとしての配布なら問題ないって事ですよね?
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGイラネ
0457デフォルトの名無しさん
NGNG0458ウルトラ初心者
NGNGtype
CharArray = array[0..2047] of Char;
procedure XorEncode(var Buf: CharArray; LS: Integer; PassWord: string);
var
i, j, LP, Blk, M: Integer;
begin
LP := Length(PassWord);
if LP = 0 then Exit;
Blk := LS div LP;
M := LS mod LP; //PassWord文字列の長さに満たない
for i := 0 to Blk - 1 do
for j := 0 to Plen - 1 do
Buf[i*LP+j] := Char( Ord(Buf[i*LP+j])
xor Ord(PassWord[j+1]) );
if M > 0 then
for i := 0 to M - 1 do
Buf[Blk*LP+i] := Char( Ord(Buf[Blk*LP+i])
xor Ord(PassWord[i+1]) );
end;
これは確かに文字列の復号化には失敗するのだけど次のようにファイルに対してはOK。
なんでじゃろ?
0459デフォルトの名無しさん
NGNGTmpName := ChangeFileExt(FileName, '.$$$');
try
WriteF := TFileStream.Create(TmpName, fmCreate or fmShareExclusive);
try
repeat
NumRead := ReadF.Read(Buf, SizeOf(Buf));
XorEncode(Buf, NumRead, PassWord);
WriteF.Write(Buf, NumRead);
until NumRead <> SizeOf(Buf);
finally
WriteF.Free;
end;
finally
ReadF.Free;
end;
if DeleteFile(FileName) then RenameFile(TmpName, FileName);
0460デフォルトの名無しさん
NGNGTmpName := ChangeFileExt(FileName, '.$$$');
try
WriteF := TFileStream.Create(TmpName, fmCreate or fmShareExclusive);
try
repeat
NumRead := ReadF.Read(Buf, SizeOf(Buf));
XorEncode(Buf, NumRead, PassWord); //Decodeもいっしょ
WriteF.Write(Buf, NumRead);
until NumRead <> SizeOf(Buf);
finally
WriteF.Free;
end;
finally
ReadF.Free;
end;
if DeleteFile(FileName) then RenameFile(TmpName, FileName);
どんなファイルでもOKみたいだ。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG前のレスの内容どおりだろ。
0463TParser
NGNGvar
Fs: TFileStream;
Parser: TParser;
S: String;
begin
Memo1.Lines.Clear;
Fs := TFileStream.Create('D:\mydata\testdata.txt', fmOpenRead);
try
Parser := TParser.Create(Fs);
try
S := '';
while Parser.Token <> toEof do
begin
// '/' の前にある数値でなければ抽出する
if (Parser.TokenString <> '/') and (S <> '') then Memo1.Lines.Add(S);
// 現在のトークンが数値だったら保存する。
if Parser.Token = toInteger then S := Parser.TokenString
else S := '';
Parser.NextToken;
end;
finally
Parser.Free;
end;
finally
Fs.Free;
end;
end;
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGTParser ってヘルプにもない・・・とおもってぐぐったら出てきた出てきた!
そうかあ・・・こんなパーサーあったんだな。
こんな便利なものなんでヘルプに載せないのかな?
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG自己解決しますた
やりたいことはTStringGridのセルにTComboBoxをはめ込んで使用していますが
セルにTComboBoxが表示されている時にスクロールすると
セル表示されているColが全てTComboBoxになってしまいました
単にTComboBoxのOnExitイベント内でTComboBoxを非表示にすればいいだけでした
お騒がせしますた
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGそれで Delphi 2005 Professional を購入しようと思っているのですが、
動作環境に Windows XP Pro となっています。
私のはWindows XP Home なのですが、これでは使えないのでしょうか?
また、使えたとしても、なにか制限が生じるのでしょうか?
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BDelphi%A4%CE%C6%FE%BC%EA%A4%C8%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%5D%5D
0474デフォルトの名無しさん
NGNGD2005のトライアルで試せばいいと思うけど
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG予算は大丈夫か?新規購入はめっちゃ高いぞ。
047779 ◆7kkYm.VmFc
NGNGuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls, FileCtrl, Grids;
こんなものが書いてありますけど、たとえばMathなどを使う必要もないのに書き加えても
動作上は問題ないのでしょうか?
0478デフォルトの名無しさん
NGNGDelphi1の頃の塚越本には書いてあった希ガス。
今でもだいじょうぶなんじゃない。
Mathユニットの関数と同じ名前の関数とか作ったりしなければ。
0479デフォルトの名無しさん
NGNGモノによってはusesするだけでexeのサイズが肥大化するものもあるけど
動作上問題になるケースはまずないよ。
コードサイズが増えるかどうかはユニットの一番下の
initialization/finalizationにコードが記述されているかどうかを見て判断。
Mathは増えない。
048079 ◆7kkYm.VmFc
NGNG0481デフォルトの名無しさん
NGNG高速かつリアルタイムに描画が反映される方法かコンポってない?
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGScanLineをつかうといいよ。
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNGそれ用のコンポーネントか、アーカイバコンポーネント使ったら?
0486デフォルトの名無しさん
NGNGなにをしたいの。
String型でも文字コードの並んでいるものとして扱えばバイナリで処理できるけど。
この場合は、PCharにキャストしたほうがいい。
0487デフォルトの名無しさん
NGNGそういうことではなく
メモリ(バイナリ)イメージを表示可能なテキストに変換する
s := bin2str(myrecord, sizeof(myrecord)) //=> '12 fs df 00 00...'
str2bin(s, myotherrecord)
のような機能が標準であるかということです。
0488デフォルトの名無しさん
NGNGそれなら、IntToHex 関数というのがある。
整数値を16進形式の文字列にして返してくれる。
0489デフォルトの名無しさん
NGNG# 実装の仕方がわからないわけではありません。
0490デフォルトの名無しさん
NGNG標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
標準で
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493ななしへたぐらま ◆XcB18Bks.Y
NGNG基本的には>>483のとおり,PixelsではなくScanLineを使います.
ただ,イメージコンポ内部のビットマップ形式を変更する必要があります.以下,へたれサンプル投下.
(※うちはDelphi 5なのでそれでも動くようにImage1.Picture.Bitmapを参照しています.)
procedure TForm1.Button1Click(Sender: TObject);
var
x, y: integer;
r, g, b: byte;
pb: PByte;
begin
// 内部ビットマップの初期化
Image1.Picture.Bitmap.PixelFormat := pf24bit; // ←ハードウェアや画面モードに依存しない,かつ画素当たり24ビットの形式
Image1.Picture.Bitmap.Width := Image1.ClientWidth;
Image1.Picture.Bitmap.Height := Image1.ClientHeight;
// メインループ:1画素ずつ塗りつぶす
r := high(byte);
b := high(byte);
for y := 0 to pred(Image1.Picture.Bitmap.Height) do begin
g := high(byte);
pb := Image1.Picture.Bitmap.ScanLine[y]; // ←pbはラインyの左端の画素の1バイト目を指す
for x := 0 to pred(Image1.Picture.Bitmap.Width) do begin
pb^ := b;
inc(pb);
pb^ := g;
inc(pb);
pb^ := r;
inc(pb);
g := (g + 255) and 255;
end;
b := (b + 255) and 255;
end;
end;
0495デフォルトの名無しさん
NGNG代案厨乙
0496デフォルトの名無しさん
NGNGファイル名にUnicodeを使うにはAPIたたかないと駄目でしょうか?
0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNGウニコードはWideString型だから
StringToWideChar
とか使ってみれば?
でもファイル名にユニコードの意味がよく分からん。
そんなのOS側で処理してくれるでしょ
0499496
NGNGそういうファイルをAssignFileとかTFileStreamとかでは扱えないっぽいので。
0500デフォルトの名無しさん
NGNGそういう抜け道以外でVCLでW対応したものってないんじゃないの。
0501496
NGNGありがとうです。
0502デフォルトの名無しさん
NGNG殆ど対応している。
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG反転させるのはコストが高そう。
私なら頭から読んでいって、最後にでてきた位置を覚えておいて
その場所を返すようにするなぁ。
0508デフォルトの名無しさん
NGNGできるのでしょうか?
0509デフォルトの名無しさん
NGNG出来ると思うけど、フレーム上のコンポーネントとか動かすのが
大変になるし、プロジェクト依存の変数とか使えなくなるよ。
0510デフォルトの名無しさん
NGNG尻から順番に比較して、
ヒットしたらByteType関数で先頭がmbTrailByteでないか確認。
ベタに関数を書き下しても、引数チェックを除けばたったこれだけ。
Result := 0;
for i := Length(Text) - Length(Sub) + 1 downto 1 do
begin
if Text[i] = Sub[1] then
begin
f := False;
for j := 2 to Length(Sub) do
begin
f := (Text[i + j - 1] <> Sub[j]);
if f then Break;
end;
if not f and (ByteType(Text, i) <> mbTrailByte) then
begin
Result := i;
Break;
end;
end;
end;
0511デフォルトの名無しさん
NGNGそうなのですか・・・
たくさんのフレームを作成していて、そのうち1つだけ使用回数がえらい多いので
フレームコンポーネント選択→フレーム選択がとてもわずらわしいもので・・・
0512デフォルトの名無しさん
NGNGコンポーネント・テンプレートに登録すれば、
パレット上に表示できる。
フレーム変更時は、再登録しないと変更が反映されないけど。
0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNGいけないのだろうか?
type
TMyRec = packedrecord
Dat1:SmallInt;
Dat2:Integer;
end;
TMyAry = array ofTMyRec;
procedureTForm1.Button3Click(Sender:TObject);
var
IDX:Integer;
FFile:TFileStream;
Dat:TMyAry;
begin
if not OpenDialog1.Execute thenExit;
FFile:= TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
IDX:= FFile.SizedivSizeOf(TMyRec);
SetLength(Dat,IDX);
try
FFile.Read(Dat[0],FFile.Size);
finally
FFile.Free;
Finalize(Dat); //これははたして必要か?
end;
end;
0516デフォルトの名無しさん
NGNGCreateならFree、NewならDispose、SetLengthならFinalize
やっぱり自分で作ったものは自分で面倒みなきゃ
0517デフォルトの名無しさん
NGNGこんなのあった?
0518デフォルトの名無しさん
NGNGCPUウィンドウ見れば答えがすぐ分かるよ。
>>516
知ったか死ね。
0519デフォルトの名無しさん
NGNG俺なら死ねとかいう人は信用ならないので自分で調べる。
0520デフォルトの名無しさん
NGNGおそらく、ファイルやフォルダが削除出来なくて、
君は解放忘れじゃないかと疑ってるんじゃないか?
もしそうだとしたらら原因はOpenDialog1にあるよ。
0521デフォルトの名無しさん
NGNGString型、バリアント型を使用している場合は必要
お前も知ったか死ね
0522デフォルトの名無しさん
NGNG話が長くなりそうだから問題の起きるサンプルコードよろ。
そのコードを実行すると何が問題になるのか、どう修正するといいのかも説明して。
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG逆だろ
ここ初心者スレだぜ?
ユーザー減らすようなマネやめないか?
そういうレスは、フサギコの相談室でやってくれ、頼む
0525デフォルトの名無しさん
NGNG起動中に不必要なメモリを占領し続けないというなら必要だが
メモリリークについては心配無用!
0526デフォルトの名無しさん
NGNG間違ってるのが致命的だが。
0527デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
0528デフォルトの名無しさん
NGNG勇気を持って書き込んだ超低レベル初心者は>>516と>>518だからあってます。
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGだそうです。>>516>>518
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNGバカじゃね。
0535デフォルトの名無しさん
NGNG代案厨乙
あるいは気がついてないのかもしれないけど
あんたの代案は誰の役にも立ってないよ。
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGShowMessage('(*´ω`*)モチツケ');
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG2chブラウザなら出来そうだと思ったんですが、作り方が
よく分かりません。
そこで相談ですが、どのように作れば良いか教えていただけないでしょうか?
「ぐぐれ!」というのは無しでお願いします。調べても分からなかったんで。
よろしくお願いいたします。
0541デフォルトの名無しさん
NGNGそんなエサに釣られるクマー(AA略)
0542デフォルトの名無しさん
NGNGどうも、フサスレから荒らしが来てしまってるようだな…
0543デフォルトの名無しさん
NGNGいっぺんに作ると余裕で破綻するから
・板情報の入ったHTMLをダウンロードするサンプル
・HTMLを解析して板情報を抽出するサンプル
・板のURLを入力してスレ一覧を取得するサンプル
・スレのURLを入力してレス一覧を取得するサンプル
・レス一覧を取得して個々のレスにばらして表示するサンプル
をそれぞれ別のプロジェクトとして作成する。
で、サンプルの機能を一つのクラスにしてユニットにまとめる。
で、それをまとめてアプリケーションに組み込む。
こういう構成要素の多いアプリケーションを作る場合
単一の機能を下から一つずつ作っていくといいよ。
いきなりフォームにメニューおいてツリービューと
リストビューとブラウザコンポおいてと
進めるのはあまりお勧めできないよ。
0544デフォルトの名無しさん
NGNG↓
理解不能。2chブラウザも大変なんだと気がつく
↓
もうちょっと役に立たない物から作ってみる
0545デフォルトの名無しさん
NGNG>もうちょっと役に立たない物から作ってみる
これが、楽しい内は大丈夫。
それに飽きる頃には、実力の無さを嘆くのみ_| ̄|○
0546デフォルトの名無しさん
NGNGこれが知ったかと言える要因。
みんな間違って覚えるんじゃないぞ。
521は逃げたようですね。
0547デフォルトの名無しさん
NGNGそれよりも根性だ。
1日かけようと思っている時間を1ヶ月にすればもっといいものが出来る。
面倒だと思うところを面倒がらずにやる。
無限の労力をかければどんどんなんでも出来ていく。
できないことはない。
いかに時間を浪費させずにやるかは実力絡むかもな。
0548デフォルトの名無しさん
NGNG根性で、なんとかなれば苦労はしないよ・・・
最終的にはセンスや才能っていうのが大きいけど、
とりあえず禁止事項を理解しよう。
0549デフォルトの名無しさん
NGNG項目を見てみたのよ。 以下引用
>動的配列変数は暗黙にポインタであり,長い文字列型と同じ参照カウントの方法を使用して管理されます。
>動的配列の割り当てを解除するには,配列を参照する変数にnil を代入するか,Finalize に変数を渡します。
>配列がほかで参照されていなければ,これらの方法のどちらでも配列が破棄されます。
>動的配列は,参照カウントが0 まで下がった場合に,自動的にリリースされます。長さが0 である動的配列の値はnil です。
>動的配列変数に逆参照演算子(^)を使用してはいけません。
>また,動的配列変数をNew 手続きまたはDispose 手続きに渡してはいけません。
つまり、ほっといても動的配列ならガベコレが効くけど、明示的に割り当てを解除したけりゃ、
参照カウントを0にした上で、nilを入れるなりFinalizeなりする、ってことでいいんじゃないすかね。
で、参照カウントを0にできない状況でメモリ負担を減らしたければ、setlengthで要素数を0にすると。
ガベコレという言葉をここで使うことの是非は知らんけど。
0550デフォルトの名無しさん
NGNGDelphi6はDLしたんですがSDLのダウンロードの仕方がわかりません。
それとDelphi+SDLでプログラミングしていくには、どういう手順を踏めばいいんでしょうか?
0552デフォルトの名無しさん
NGNGそれとも、下にある本家のサイトからSDLをDLするんでしょうか?
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGそのうち、この単語でgoogleで検索すればいいのでしょうか?とか聞くのだろうか
0555デフォルトの名無しさん
NGNGクラスのメソッドを渡すのは無理なのでしょうか?
C++のstaticメンバ関数のようにクラスメソッドにすれば
できるかと思ったのですがAccess Violationエラーがでてしまいます。
(もちろんクラスに入れないで使えばエラーがでてない)
WEB上で検索をかけてもそういうことやってるのは見当たらなかりませんでした。
できれば隠蔽したいのですが…無理なら無理って言ってください。
0556デフォルトの名無しさん
NGNG詳しい説明は面倒なのでしない。
メソッドは隠れた引数(インスタンスのポインタ)が存在する。つまり型が全く違う。
0557デフォルトの名無しさん
NGNG無理。メソッドの引数リストには暗黙の引数 Self が含まれるから。
呼び出し元の API の lParam に対象となるオブジェクト (Self など) を渡して、
コールバックがそれを手がかりにメソッドを呼ぶようにしたらいい。
0558デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNG何で?
Delphiの方がいいと思うなら素直にDelphiって言えばいいじゃん。
何か言えない事情でもあるの?w
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGクラスメソッドはSelfじゃなくてクラス参照が渡される。
0564デフォルトの名無しさん
NGNG>>561
隔離病棟に(・∀・)カエレ!
0565デフォルトの名無しさん
NGNGやっぱ.NET使うならVS買うよな。
0566デフォルトの名無しさん
NGNGうるさい氏ね
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGJVCLをインストールしようとしたのですが、
その前のJCLがインストールできないです。
1.93では、Delphi2005を認識してくれないようです。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNGvar
Name: string[30];
と宣言した場合Nameは短い文字列になるのでしょうか?
0576デフォルトの名無しさん
NGNG?
ヘルプにそう書いてあるだろ。
短い文字列にならなかったのか?
0577デフォルトの名無しさん
NGNGリムーバブルディスクのハードウェア名からドライブを
取得したいんですが、どうしたらできるのかしら。
リムーバブルディスクを右クリック→プロパティ
でハードウェアタブで「なんたら USB Device」ってなってる
名前のことです。
なんか他にうまいやり方あるのかな。
ここら辺のプログラム組んだ事なくて、ダメダメなんです。
WinXP Del5Pro
0578デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNGレジストリから取るのが一番確実らしい。さかのぼって見てみたら。
0581デフォルトの名無しさん
NGNG0582Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
前に話題になったのは
>でハードウェアタブで「なんたら USB Device」ってなってる
>名前のことです。
とは違うだろ....
吐駄と同じキャラはこのスレにはいらないってば。
0583デフォルトの名無しさん
NGNG0584577
NGNGまだ分かりません。もう少し調べてみます。
あmぁ、調べても分からなかったので聞いたワケですが。。
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNGWebBrowserに表示したページのソースを取得したいのですが、
IndyのTIhttpを使ってもエラーが出て取得できないのです。
RichEdit1.Text:=idHTTP1.Get(WebBrowser1.LocationURL);
このようにコーディングしたのですが、普通のページ(Yahooのトップページ等)
は無事に取得できました。
しかし、MyAuctionのページ(http://user.auctions.yahoo.co.jp/jp/show/mystatus)を
取得しようとすると、『HTTP1.0 302 Found』のエラーが表示され、取得することが
出来ません…
他の方法でも構いませんので、どなたかご教授頂けないでしょうか…
宜しくお願い致します。
0587デフォルトの名無しさん
NGNG302ってURLがリダイレクトされてるって言ってるんじゃないかい?
だからそのリダイレクト先のURLを収得してGetしないといけないと思う。
0588586
NGNGご回答有難うございます!
早速リダイレクトに関して調べ、TWebBrowserのonNavigateComplete2イベントや
onDocumentCompleteイベントでURLを拾い、パブリック関数に入れて実行したのですが
現象変わらず…でした。
(URL自体に変化がありませんでした…)
しかし、リダイレクトと言うのは考えていませんでしたので、もう少し調べてみます。
本当に有難うございました。
0589デフォルトの名無しさん
NGNGItemのメモリを正しく解放するにはどうすれば良いのでしょうか?
例えば、ListView1のOwnerDataを有効にした上で
ListView1.Items.Add;
ListView1.Clear;
とするとMemCheckでリークが検出されてしまいます
0590デフォルトの名無しさん
NGNGTObjectListとかに自分でインスタンスを保持しといて
ListViewからデータのリクエストがあったらそのリストからインスタンスを渡し
最期にリストごとまとめて自分で解放する。
0591589
NGNGもしかしてOwnerDataが有効なListViewに項目を追加するにあたっては
Items.Addは不必要(というか、やっては駄目)でしょうか?
ListView項目追加にあたり、単にデータ保持用のインスタンスの項目と
Items.Countを調整してやるだけならリークしてない様なのです
0592586
NGNG色々調べたところ、IdHTTPの『HandleRedirects』をtrueに設定することによって
無事取得することが出来ました!
解決に導いていただいた>>587さんに改めて御礼申し上げます。
0593デフォルトの名無しさん
NGNGCountに個数セットして
OnDataイベントでItem.Indexに対応するオブジェクトを文字列化する
Item.Caption := Format('Data:%d', [Item.Index]);
Itemsには触らない。
0595デフォルトの名無しさん
NGNGci : tcursorinfo;
getcursorinfo(ci);
とすると正常に動作しないです。
delphi5でtcursorinfoのヘルプないけどコンパイルは通ります。
自分何か勘違いしてますでしょうか?
tcursorinfoの構造体が違うんじゃないかなと・・・
0596デフォルトの名無しさん
NGNGci.cbsize := sizeof(ci);
win32check(getcursorpos(ci));
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGOwnerData=Trueの時はItems.Add, Insert を行ってはいけない。VCLのバグでリークが発生する。2005で修正されたかは確認できていない。
回避するには、Items.Countで要素数を変更するか、APIで追加を行う。
0599577
NGNGそこで、質問を変えようと思います。
ドライブ名からハードウェア名を得るにはどのようにしたら
よいのでしょうか?よろしくお願いします。
0600デフォルトの名無しさん
NGNG0601沸騰シミュレーション
NGNGこれと同じようなソフトをDelphiで作りたいのですが
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNG水が沸騰する様子をビデオに撮ってメディアプレーヤーコントロールで再生しましょう。
冷却するときは逆方向に再生するのがお勧めです。
0604デフォルトの名無しさん
NGNGバグがなかった場合、OwnerDraw:=TrueでAddしたらどうなる(べきな)の?
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNGで、PATHの設定を弄れば良いのかとおもったわけです?
0608デフォルトの名無しさん
NGNG本当にパスが問題なら、.NETの方とWin32の方で別口だから確認しなよ。
0609デフォルトの名無しさん
NGNGフォームにシェルコンボボックスを貼り付けて、ビジブルプロパティーをフォルスにする。
あとは、シェルコンボボックスのリストアイテム(文字列とグリフ)にアクセスして取得する。
怒るなよ。決してふざけて書いてるんじゃない。最善の策が取れなければ、次善の策で対応することも必要だ。
0610デフォルトの名無しさん
NGNGせめてカタカナはやめれ
0611577
NGNG使ってみました。いまいちできそうもない感じですが、
もうちょっと頑張ってみます。
0612デフォルトの名無しさん
NGNG2つのフォームを持つアプリケーションを制作しているのですが…
例えばこのような構成で、
Unit1→Form1
Unit2→Form2 Label1
Unit1において
Form2.Label1 := 'hogehoge';
は可能なのに
Form2.Visible := True;
ではEAccessViolationクラスの例外としてエラーになります。
どうすればUnit1からForm2のVisibleを制御できるのでしょうか?
0613デフォルトの名無しさん
NGNG落ち着け。
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGこのページ、サンプル一杯あっていいな
0616名無し募集中。。。
NGNGプロジェクトオプションでフォーム自動作成にしてればuses節に
Form2のpasファイル名書けばアクセスできる。
動的に作成するなら
Form2 := TForm2.Create(Self);
try
Form2に対してアクセス
finally
Form2.Release;
end;
0617612
NGNG616氏のやり方で出来ました。
どうもありがとうございます。
0618デフォルトの名無しさん
NGNGdelphi getlogicaldrivesでぐぐって最初に出てくる日本語ページを見れ
0619デフォルトの名無しさん
NGNGそれ激しく見当違い
0620デフォルトの名無しさん
NGNG「EInOutError クラスの例外を生成しました。'I/Oエラー(32)'」
とのメッセージが出てきました。
これはどういったことが原因で起こるエラーなのでしょうか?
0621デフォルトの名無しさん
NGNGEInOutError 例外は,ファイルの入出力エラーが発生するたびに生成されます。
0622620
NGNGAssignfile(dum_f,dum_path+'\'+ChangeFileExt(dum_fn,'.txt'));
ReWrite(dum_f);
こういうコードのところでエラーが起きていました。
再チェックしてみます。
ありがとうございました
0623デフォルトの名無しさん
NGNG0624620
NGNG今までは正常に動いていたのですが、あれこれ書き換えていた最中にエラーが発生するようになりました。
なんとか>>620にあるようなエラーはなくなったのですが、
今は浮動小数点演算などというエラーがでてきてトレース実行しながら点検中です。
浮動小数点演算に関するエラーは、0での割り算が行われていた場合に発生するエラーだったような気がするのですが、
どなたか教えてください。
0625デフォルトの名無しさん
NGNGなにを?
0626デフォルトの名無しさん
NGNG信じなさい
0627620
NGNG0628デフォルトの名無しさん
NGNG移植前のソフトではどういう対処してたの?
0629620
NGNGA:a.ループ計算 b.固定値
B:a.固定値 b.ループ計算(現在作成中のもの)
X:a.ループ計算 b.固定値
Y:a.固定値 b.ループ計算
XYはABの発展版で、すでにA、XYは完成しています。(私が作成したものではありません)
だからYを元にBを作っていけば簡単だろうと思って、
使われてる変数に注意しながらコピーペーストを繰り返していたところ
難問にぶつかってしまったというわけです。
0630デフォルトの名無しさん
NGNGそんな漠然とした情報出したって意味ないよ。
エラーの出る箇所を特定してそこにブレークポイントはって
再度実行して各変数の値に異常がないか調べて
異常な値があったらその値がどこでセットされたかを調べて突き止めたら修正。
を地道に繰り返すしかない。
0631デフォルトの名無しさん
NGNG0632620
NGNGおっしゃるとおりにやってみます。
うまくいったら報告しにきます。
ありがとうございました。
0633名無し募集中。。。
NGNG浮動少数発生例外の種類知りたきゃ
try
浮動小数でなんたらかんたら〜
except
on EZeroDivide do ShowMessage('ゼロで除算しちゃった');
on EOverflow do ShowMessage('オーバーフローれす');
on EUnderflow do ShowMessage('アンダーフローれす');
on EInvalidOp do ShowMessage('無効な演算発生');
end;
て書けば例外の種類に応じたメッセージが表示される
統合開発環境だとあまり意味ないかな
0634デフォルトの名無しさん
NGNGText := TStringList.Create;
try
try
Text.LoadFromFile(filename);
except
on EFOpenError do ShowMessage('エラー');
end;
finally
Text.Free;
end;
このようにやっても通常のEFOpenErrorが出てしまいます。
何が原因なのかさっぱり分からないのでアドバイスをお願いします。
0635デフォルトの名無しさん
NGNGそもそもfilenameが存在しているか?のチェックも必要なんでないの?
0636634
NGNGしかしプログラムが正しく動いているか確かめるために
わざとエラーを出させようとしたら、例外処理が働いていなかった
というわけです……。
0637634
NGNG同様の方法でEConvertErrorも捕捉できませんでした。
0638デフォルトの名無しさん
NGNGおかしいな?コピペして(全角空白は半角にしたけど)
動かしたらちゃんと「エラー」って出るよ。
↓コレやってみたらどうなる?デルファイに忠告もらうと思うけどw
procedure TForm1.Button1Click(Sender: TObject);
var text:TStringlist;
begin
try
Text := TStringList.Create;
try
Text.LoadFromFile('123');
except
on EFOpenError do ShowMessage('エラー');
end;
finally
Text.Free;
end;
end;
0639名無し募集中。。。
NGNGエラーを出させるというのは無効なファイル名を指定して
意図的にEFOpenError例外を発生させるということなのかな?
試しに下のコード書いたらこちらでは動いたけど
ファイル名は存在しない名前で例外を補足出来る
procedure TForm1.Button1Click(Sender: TObject);
var
Text: TStringList;
begin
Text := TStringList.Create;
try
try
Text.LoadFromFile('E:\Temp\aa.tx');
except
on EFOpenError do ShowMessage('エラー');
end;
finally
Text.Free;
end;
end;
0641デフォルトの名無しさん
NGNG例外を補足できてないと勘違いしてるっつーパターンでないの
0642634
NGNG「ソースファイルが見つかりません」と出た後に「デバッガ例外が発生」となります。
ちなみにdelphi6 Personalです。
数日前に同じことを試したときはちゃんと動いた気がするんですが……。
0644638
NGNGトホホ。
0645デフォルトの名無しさん
NGNG>数日前に同じことを試したときはちゃんと動いた
このときも同じ勘違いしてたのを思い出しましたorz
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGif not(opendialog1.execute) then exit;
とかやる。
0648デフォルトの名無しさん
NGNG>>647
死ね
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651620
NGNG出力されません。
49.999996224 22.2169675652865 1.5
--------------------------------------------------------
本来なら
49.999996224 13.1789910114626 0.01
49.999996224 12.9951821606033 0.02
49.999996224 12.9626502250015 0.03
49.999996224 12.951383041687 0.04
49.999996224 12.946190205465 0.05
(右端の値について0.01*150でループ計算)
49.999996224 22.2169675652865 1.5
こんな感じで150個の値をテキストファイルに出力したいのですが、どのようにすればいいのでしょうか?
----------------------------------------------------------
0652620
NGNGtemp_i0:=0.01*k ;
Rkg_setting.P_val[4]:=temp_i0;
if not RKG_Routine(RKG_setting,
dum_path,
dum_fn) then begin
ShowMessage('計算に失敗しました');
exit;
end; //----(if not文)----
StB_main.panels[0].Text := '出力中…';
Application.ProcessMessages;
if not RKG_ResultOut(dum_path,
dum_fn,
RKG_setting) then begin
ShowMessage('結果の出力に失敗しました');
exit;
end;
end;//----(for文)----
RKG_cal_flag := true;
RKG_show_result;
StB_main.panels[0].Text := '';
end;
0653デフォルトの名無しさん
NGNG0654620
NGNGどうかアドバイスお願いします!
0655620
NGNGありがとうございました!
0657デフォルトの名無しさん
NGNG150回同じファイル名で作って書き出してるような希ガス。
0658620
NGNGReWrite(dum_f);
Writeln(dum_f,'[実施日]');
Writeln(dum_f,FormatDateTime('yyyy"."mm"."dd',Now));
:
:
:
:
こんなものを見つけましたが、この残り時間で新しい技術にはとうていチャレンジできません!
0659デフォルトの名無しさん
NGNG0660620
NGNGめいわくでしょうが、どうかお許しください。
0661デフォルトの名無しさん
NGNGだから、RewriteをAppendにするだけ。それで解決。
0662620
NGNGdum_path:String;
dum_fn:String):boolean;
var
i,j ,k,l :Integer;
dum_loop :Integer;
k_temp :array of Extended;
q_temp :array of Extended;
y_temp :array of Extended;
y_old :array of Extended;
x_temp :Extended;
dum_f :Textfile;
dum_s :String;
dum_dy :array of Extended;
dum_kk :integer;
dum_v :array of Extended;
dum_row :integer;
0663名無し募集中。。。
NGNGAssignFile(dum_f,dum_path+'\'+ChangeFileExt(dum_fn,'.log'));
if FileExists(dum_path+'\'+ChangeFileExt(dum_fn,'.log')) then
Append(fp)
else
Rewrite(fp);
try
Writelnなんたかかんたら
finally
CloseFile(dum_f);
end;
0664デフォルトの名無しさん
NGNG0665620
NGNG確かに沢山の結果が出力されるようにはなったのですが、
このプログラムはメモ帳に設定条件が出力され、秀丸に計算結果が出力されるようなプログラムでした。
ここを変更したら、設定条件が沢山出てきてしまいました。
>>663さんの方法もためしてみたいのですが、頭が混乱しています!
0666デフォルトの名無しさん
NGNG削除されません。
[コンポーネント]-[パッケージのインストール]
→設計時パッケージより選択し「削除」
で削除されるはずが・・・なんででしょう;
0667620
NGNG一度見ていただきたいのですが。
0668デフォルトの名無しさん
NGNG計算結果側のRewriteだけをAppendに汁。全部置換したんだろ?
0669デフォルトの名無しさん
NGNG今度は全部表示されたんですが、なぜか前回の計算結果まで表示されてしまいます!
0670620
NGNGこんな感じです。
0671デフォルトの名無しさん
NGNG新手の釣りにしか思えない
0672620
NGNG//******自分で追加 と書いてある項目以外は、全て先生が作ったものです。
本当に結果が最終結果だけしか出力されずに困り果てています。
0673デフォルトの名無しさん
NGNGこれはDelphiのプログラムとは関係ない話だよ。
プログラム自体は正常に動いてるんじゃないのか(Appendだけじゃ駄目だけど)。
メモ帳とか秀丸とか言われたってこっちは分からないよ。
話すならファイル名いいなよ。
0674デフォルトの名無しさん
NGNG見てみた。最終結果だけ出すプログラムだから、あたりまえじゃんw
パラメータだけ出力する手続きと結果出力する手続きに分けなきゃできんよ。
0675620
NGNG0676デフォルトの名無しさん
NGNGAppendのままにしていらない項目のWritelnをコメントアウトすれば
とりあえず目的は達成されるんじゃない?
0677620
NGNG怒られはしましたが、ものの一瞬で修正個所を直してくれました。
if FileExists(dum_path+'\'+ChangeFileExt(dum_fn,'.txt')) then
Append(dum_f)
else begin
ReWrite(dum_f);
なんかこんな文章を加えることで動くようになりました。
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGちょっと自分で考えるようにしたら?
要領よくだけでやってけないよ。
0680デフォルトの名無しさん
NGNGAppendしてもファイルできるだけで例外になんないみたい。
そらそっちが便利だあね。いまどきこんな古い入出力使わないからいっか。
0681デフォルトの名無しさん
NGNGテキストファイルの内容をMemoコンポーネントへ加筆表示させる方法がわかりません。
処理の過程をMemoコンポーネントへ表示しているのですが
文字をMemoへ加筆表示するには
memo1.Lines.Add('処理1経過');
memo1.Lines.Add('処理2経過');
この後、テキストファイルの内容を加筆表示したいのですが
memo1.Lines.LoadFromFile('test.txt');
とするとMemo1に上書きされてしまい以前の表示が消えてしまいます。
レベルの低い質問で申し訳ありませんが,どなたかご教授お願い致します。
0682デフォルトの名無しさん
NGNGvar
sl:TStringList;
begin
sl := TStringList.Create;
try
sl.LoadFromFile('C:\Test.txt');
Memo1.Lines.Add(sl.Text);
finally
sl.Free;
end;
end;
0683デフォルトの名無しさん
NGNGありがとうございます。
助かりました。
修行します。
0684デフォルトの名無しさん
NGNGつーか、前任のソースくらいあらかじめよんどけや
0685デフォルトの名無しさん
NGNG>いまどきこんな古い入出力使わないからいっか。
これだからDel厨は・・・
0686デフォルトの名無しさん
NGNG0687名無し募集中。。。
NGNG最近のDelphiは変ったのか?(Delphi7 Enterpriseでテスト)
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNGVCLコンポーネント(TEditにちょっと手を加えた簡単なヤツ)の登録をしたいのですが、
HELPにある「コンポーネント>コンポーネントのインストール」というメニューに
行き着けず難渋しております。
(ウィザードに沿ってUnitが表示されるまでは行くが)
どなたかご教示願えませんでしょうか。
0690デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BDelphi2005%2FFAQ%5D%5D
0691デフォルトの名無しさん
NGNG要するに「dclusr」がないとウィザードで選択肢が出てこないようです。
助かりました。
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNGTListで削除や挿入をしてるとなぜ遅いんですか?
削除や挿入を頻繁にやるとしたらどうやって高速化するんですか?
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その10
http://pc2.2ch.net/test/read.cgi/tech/1064423473/315
http://pc2.2ch.net/tech/kako/1064/10644/1064423473.html
0694デフォルトの名無しさん
NGNG配列(TList)の挿入削除の計算量がO(n)だから。
O(1)なデータ構造(リンクリストなど)を選択すれば高速化可能だけど
その場合配列のメリットは手放さなければならない。
0695デフォルトの名無しさん
NGNGOの意味もカッコ内がなんなのかも、
配列のメリットがなんなのかも、
解決策も、
ぜんぜん通じてこないんですが、私嫌われてます?
0696デフォルトの名無しさん
NGNG一言で言うとTListの挿入削除は本質的に遅いのでどうにもならないってことだよ。
リンクリストを使うとで解決できるものの今度は
ランダムアクセス(list[3]のように添え字を使ったアクセス)が出来なくなるし
メモリ効率も悪くなる。だから万能な方法はない。
だから問題の性質に応じて一番ましな方法を選ぶ必要がある。
リンク先読めないんだけど何がしたいんだ?
0697デフォルトの名無しさん
NGNGどのような解決を行っているかをググってみたら出てきただけで、
読んでもわかりませんでした。
ベクター構造とリスト構造があって、挿入と削除は遅いって書いてあるんだけど、
じゃぁ、挿入削除もしなきゃいけないけど、もうちょっと速くならないかって
思ってる同志が楽な方法見つけてないかな?と思って、
質問してみたけどよくわからないので来年あたりまた考えてみます。
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BDeCal%2FMANUAL10H%5D%5D
0701デフォルトの名無しさん
NGNG考えて解決できるもんでもないけどね。原理的なものだし。ようは適材適所で選ぶしかない。って >>696 と同じか
0702デフォルトの名無しさん
NGNGSetって、そんなに凄いんですか?
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGsetはlist, vectorと保持する情報が等価じゃないし。
DeCalでは等価なの?
0705デフォルトの名無しさん
NGNGDeCalは「データ構造を非常に簡単に変更できる」というのが長所みたい
0706デフォルトの名無しさん
NGNGO(n)もわからんようでは、プログラム組めんと思うが
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGただ、コンテナに対する操作のパフォーマンスの話がしたいなら知っておかないと駄目だろ。
話が長くなりすぎる。
0709デフォルトの名無しさん
NGNGO(n) データ数に比例した計算量
O(n^2) データ数の二乗に比例した計算量
で、あってる?>識者
0710デフォルトの名無しさん
NGNG手元の教科書にもそう書いてある。
ちなみにSetだとランダムアクセスできないよね確か。
0711デフォルトの名無しさん
NGNG便利なマクロが一杯公開されてるようなの。
0712デフォルトの名無しさん
NGNGリファクタリングも出来てうわなんだやめ
0713デフォルトの名無しさん
NGNG0714& ◆OTJoAFsiZw
NGNGをロード、もしくは追加しようとしたときに、極端に速度が低下したものだが、その後
修正されたのだろうか?
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNGテキストエディタって人によって使用感の好みがはっきりわかれてしまうから
あれだけどsakuraエディタとかでいいんじゃないの?
0717ななしへたぐらま ◆XcB18Bks.Y
NGNGDelphi 3で修正されたようです.
ためしに文字列リストにランダムな文字列(長さ40〜80バイトランダム)を追加するベンチマークプログラムを作って調べてみました.
古いPC(MMX Pentium 200MHz RAM32MB Win95)では
Delphi 2.0でコンパイルしたものとDelphi 3やDelphi 5でコンパイルしたものとでは
0行から1万行に追加した場合に約5倍,2万行では約13倍の差が出ました.
新しいPC(Athlon 64 3000+ RAM512MB WinXP Pro)ではそれぞれ約4.5倍,6倍の差になりました.
(なお,Delphi 3ではCapacityプロパティが追加されましたが上記の結果はFalseのままです.)
Delphi 3とDelphi 5のClasses.pasを見るとCapacityを自分で設定しなくてもその数を
4→8→16→32→48→64→以後Capacityが足りなくなるたびに全体の4分の1を増やしているようです.
(Capacityを最初に設定した場合はさらにかなり速くなりましたので,
あらかじめ数がわかっている場合はやはり設定すべきようです)
手元のDelphi 2.0がスタンダード版なのでソースコードを見ることはできませんが,
もしかしたら単純に4個ずつとか最悪1個ずつという感じで増やしているのかもしれません.
0719デフォルトの名無しさん
NGNG外部エディタを使えるとか、せめてキーカスタマイズできないのですか?
Turbo Pascalの頃は使いやすかったのに。
0720グラフィック画面のちらつき
NGNGは関数等のグラフを描くソフトを作成しようとしているのですが、グラフのスケールの
拡大・縮小を実行すると画面がちらつきます。マウスドラッグで画面を移動するときは
特に問題はないようです。
ちらつきの原因は何でしょう?
http://f31.aaa.livedoor.jp/~jword/cgi/nevada/upload/upload.html
の screentest.lzh
0721デフォルトの名無しさん
NGNGZoomInとZoomOutでRefreshしてるから。Refreshは一旦背景を消去する。
TMyScreenのControlStyleにcsOpaqueを含めて消去しないようにするか、Refreshの代わりにその自作のDrawでいいんでない?
0722デフォルトの名無しさん
NGNGおお、ありがとうです。
ついでに聞きたいのですけど Invalidate と Refresh の使い分けはどうしたらいいのでしょう?
ヘルプを見てもよくわからないし、ぐぐってもさっぱりです。
0724デフォルトの名無しさん
NGNGTShellListViewの画面のファイルやフォルダをダブルクリックしたら独自の処理をしたいんです。
でOnDblClickにイベントハンドラ指定すると確かに独自の処理ができるけど、その後にファイルをダブルクリックしたら実行されるというエクスプローラと同じ処理が自動的になされてしまいます。この処理は余計なのでなくしたいんですけどどうすればいいのでしょうか。
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNGメッシュを動的に作成する方法、
頂点を操作する方法、
がわかりません。教えてください。
0729デフォルトの名無しさん
NGNGTPからそんなに変わってないと思うけど。具体的には?
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGOnHintイベントハンドラに書かれている処理を実行させる方法はないのでしょうか?
Delphi6 Personalです。
0733こまってます
NGNGDelphi7 Proを使っているのですけど、IDEから起動したプログラムを
終了した時に、デバッガで致命的なエラーが発生した事を示すエラー
メッセージが表示されてしまい再起動を促されるのですけど、どうす
れば解決できるでしょうか?
他の方でエラーメッセージとか表示された事のある人はいるでしょうか?
エラーメッセージが発生する条件は、コンパイラの”ヒント”が表示される
時のみです。例えば、以下のコードを実行して起動して終了した時など。
procedure TForm1.Button1Click(Sender: TObject);
var
B: Byte;
begin
end;
Delphi7はWindowsXP Home Sp1上にインストールしてます。
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG修正パッチは以下をあてています。
Delphi 7 - Indy ヘルプファイル・アップデート
VCL および RTL ヘルプファイル・アップデート
調べた所、まだこれだけしかないみたいですし。
0736デフォルトの名無しさん
NGNGコントロール名を変数で指定することは可能でしょうか。
lbl_0
lbl_1
lbl_2
とあるときに、0,1,2の部分を変数で管理するということです。
どうすればよいのでしょうか。
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGDelphi 7.1 update出てるよ
0740ななしへたぐらま ◆XcB18Bks.Y
NGNGOpen Tools APIでプログラムを書けばキーアサインを追加したりできるようなのですが,
情報がほとんど無い少ないのが難点です.
私はサンプルなどを見よう見まねで
[Alt]+[I]/[J]/[K]/[M]でそれぞれ上左右下に移動するようにしています.
>>726
ゲーム製作技術板のDelphi関連のスレの方がレスがつきやすいと思いますよ.
いくつかリンクを貼っておきます.
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
http://pc5.2ch.net/test/read.cgi/gamedev/1097836469/l50
Delphiゲームプログラミング相談室
http://pc5.2ch.net/test/read.cgi/gamedev/1006249204/l50
Delphiでアクションゲームが作りたい!! Part2
http://pc5.2ch.net/test/read.cgi/gamedev/1027482533/l50
0741デフォルトの名無しさん
NGNGServerからClientにファイルを転送したいと思っています。
どのように書けばよろしいでしょうか。。
0742デフォルトの名無しさん
NGNGまさか「サンプルを提示しろ」ってことじゃないよね?
まずは地道な検索から。
0743デフォルトの名無しさん
NGNGご返答ありがとうございます。
ClientからServerには送れたのですが(´・ω・`)
Delphiのネットワークプログラミングについて書かれている
オヌヌヌの本はありますでしょうか?
とりあえずは地道に検索してみます(`・ω・´)
0744デフォルトの名無しさん
NGNGDelphi7を使っています。
XMLのパースをRelaxNGで行いたいのですがどうやるのでしょうか?
0745デフォルトの名無しさん
NGNGvariantのバイト数を取得したのですが、
どのようにしたら良いのでしょうか?
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNGそしたら次のステップとして Stringのバイト数の取得に挑戦しる。
0748745
NGNG正>variantのバイト数を取得したいのですが、
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNGほかのコントロールでも実現させる方法ってありますか?Del6です。
0751デフォルトの名無しさん
NGNGVarToStrと、Lengthを検索しる
0752デフォルトの名無しさん
NGNGとりあえず、OnMouseMoveでやってみたら。
コントロールの上にマウスポインタがあると発生する。
あるいは、ウインドウメッセージをハンドルする。
0753デフォルトの名無しさん
NGNGたとえば 'Delphi' という文字列を1万個含む1MB程度のテキストで、 'Delphi'を
'Borland' に置換するとちょっと古いマシン(Pentium 800MHz)では4分くらいかかる。
検索に AnsiPos を使ってるのが原因だと思うのだが、最近のDelphiでは少しは早くなっ
たのかな?
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNGそういうのをどう解決するのかがプログラムの醍醐味なわけよ
0756デフォルトの名無しさん
NGNG0757高速置換
NGNG//高速版 AnsiStrPos
function AnsiStrPosEx(StrStart, StrEnd, SubStrStart, SubStrEnd: PChar): PChar;
var
p, ps: PChar;
SL : Integer;
begin
p := StrStart;
SL := SubStrEnd-SubStrStart;
Result := Nil;
while p < StrEnd do
begin
ps := SubStrStart;
while ps^ = p^ do
begin
Inc(p); Inc(ps);
if ps^ = #0 then
begin
Dec(p,SL);
Result := p;
Exit;
end;
end;
if p^ in [#$81..#$9F, #$E0..#$FC] then Inc(p);
Inc(p);
end;
Result := Nil;
end;
0758置換前半
NGNGvar
PosList : TList;
DestIndex : Integer;
i,Count : Integer;
p, e, ps, pe: PChar;
zs, zo: String;
begin
zs := S; zo := FindStr;
if UpLow then //大・小文字を区別しない
begin
zs := AnsiLowerCase(zs);
zo := AnsiLowerCase(zo);
end;
Result := S;
if FindStr = '' then Exit;
PosList := TList.Create;
try
p := PChar(zs);
e := p + Length(S);
ps := PChar(zo);
pe := ps + Length(FindStr);
while p < e do
begin //ソース文字列のどの位置に置換すべき文字列があるかをリストに保持
p := AnsiStrPosEx(p, e, ps, pe);
if p = nil then Break;
PosList.Add(p-PChar(zs)+PChar(S));
Inc(p, Length(FindStr));
end;
if PosList.Count = 0 then Exit;
0759置換後半
NGNGSetString(Result, nil, Length(S) +
(Length(RepStr) - Length(FindStr)) * PosList.Count);
p := PChar(S); //p を文字列の先頭に戻す
DestIndex := 1;
//位置リストを見ながらソースからバッファへMove。もちろん置
//換すべきところでは、置換すべき文字列をMove。
for i := 0 to PosList.Count - 1 do
begin
Count := PChar(PosList[i]) - p;
Move(p^, Result[DestIndex], Count);
Inc(p, Count);
Inc(DestIndex, Count);
Move(RepStr[1], Result[DestIndex], Length(RepStr));
Inc(p, Length(FindStr));
Inc(DestIndex, Length(RepStr));
end;
e := PChar(S) + Length(S);
Move(p^, Result[DestIndex], e - p);
finally
PosList.Free;
end;
end;
0760デフォルトの名無しさん
NGNG計算し、メモリを確保してコピーすると、最少回のコピーで複数置換が出来るよね。
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGそれから大量の文字列を処理するのが分かってるなら
汎用性は欠けるけど拡張可能な自前のバッファ確保してそこに書き込めばよし。
汎用性を持たせるにしてもわざわざリスト持って長さ算出してなんて
オーバーヘッドでか過ぎ。
妄想終わり。
0763デフォルトの名無しさん
NGNG拡張を多数回やるから文字列の挿入が遅いのに
>>757 からのはオーバヘッドないよ。 汎用性も十分
0764デフォルトの名無しさん
NGNG特に検索個数が0, 1がメインの場合無駄が大きい。
なんにしても計らなきゃ分からない。
0765デフォルトの名無しさん
NGNGレベルの低い質問です。ごめんなさい。
MemoとRichEditの違いについて
Memoコンポーネントにテキストを入れ表示したものに対し、
マウスの第一ボタンで範囲をドラックし範囲指定し第二ボタンでコピーはできるのですが、
Memoの変わりにRichEditを使用すると、第一ボタンでは同じように範囲指定できるのですが、
第二ボタンでのコピー、カットが出来ません。
同じように使うことは出来ないのでしょうか。
どなたか、ご助言お願いいたします。
0766デフォルトの名無しさん
NGNG検索関数の仕様(テキストの途中から途中までの範囲で検索でき、かつ
テキストの長さを測るなどという処理を行わない)が優れていることが
大きい。俺は大いに感銘を受けた。
>>7621=764の言っていることは>>763が指摘したとおり。
それにしてもくだすれでこんな質の高いコードを目にするとは!
アップしてくれた人、ありがとう。
0767デフォルトの名無しさん
NGNGそのstringを、もう一度stringsに戻すにはどうすればいいでしょうか?
(改行コードを含むstringからstringsの作成と考えていただいてもよいです。)
0768デフォルトの名無しさん
NGNGサンプルがあるURLまたは具体例などを教えて頂けないでしょうか?
0769デフォルトの名無しさん
NGNG?
TStrings.Textにいれてやるんじゃ不満なのか?
0770768
NGNGとりあえず、サンプルが見つかりました。
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG作っている2000で実行する分には何の問題もないのですが原因あるのでしょうか?
一応、下記のサイトを参考にルナスタイルに対応させてます
ttp://hp.vector.co.jp/authors/VA015850/delphi/tips/etc13.html
0773ななしへたぐらま ◆XcB18Bks.Y
NGNGDelphi 5のSysUtils.pasを見るとAnsiPos関数はStrAnsiPos関数を呼び出していますよ.
>>765
メモコンポの右クリックで出てくるポップアップメニューと完全に同じにする方法はわからないのですが
とりあえずコピーとカットができればよいのでしたら…
・TPopupMenuコンポを新たに1個置く.
・リッチエディットコンポのPopupMenuプロパティにそのコンポを割り当てる
・TActionListコンポを1個置く(すでに置いてあればそれを使っても良い).
・それをダブルクリックしてアクション一覧ウィンドウを出す.
・[Shift]+[Insert]を押して『標準アクション』ウィンドウを出す
(または[Insert]キーがなかったら▼をクリックして『標準アクションの新規追加』をクリック)
・分類が『編集』になっている項目をすべて選んでOKをクリック
・さっきおいたTPopupMenuコンポをダブルクリックしてメニューデザイナを出す
・空のメニュー項目が選択状態になっていると思うので,オブジェクトインスペクタでActionプロパティにEditCopy1を割り当てる
・空のメニュー項目が増えているのでそれをクリックで選び,オブジェクトインスペクタでActionプロパティにEditCut1を割り当てる
・同様にほかのアクションも追加
0774デフォルトの名無しさん
NGNG765です。
773さん、ご丁寧にありがとうございます。
0775デフォルトの名無しさん
NGNGスキルアップの為に簡単なプログラムを作りたいのですが、
何がお勧めのものはないでしょうか?
ちなみにdelphi6パーソナルを使っています。
よろしくお願いします。
0776デフォルトの名無しさん
NGNG頻繁使いそうなところで圧縮、解凍ソフト
0777デフォルトの名無しさん
NGNGありがとうございます。がんばって作ってみようと思います。
0778デフォルトの名無しさん
NGNG複数のFormでも一つの設定ファイルに書き込み&読み込みする方法、何かよいやり方はあるのでしょうか?
0779デフォルトの名無しさん
NGNGメモ帳って確か文字列の置換もできないし上方向の検索もできなかったんじゃ
なかったっけ?
だから圧縮、解凍ソフトもいいけど、メモ帳の機能を強化してもいいのでは。
0780デフォルトの名無しさん
NGNGwebやメール系の文章を扱うのなら、複数の文字コードのテキストの
読み込み・変換ってのを付けるってのも良いかも。
自分で組んでもそんなに難しくはないけど、nkf.dllを使えばより簡単だし
外部dllの使い方が分かって、いろいろなdllを利用できるようにもなるから、
非常に有益だと思う。
0781デフォルトの名無しさん
NGNGただのストリームだから追加していけばいいんじゃないの。
ただし先頭のフォームは新規でファイルを作り、
読み書きするのは常に決まった順番でないといけない。
例えばForm3を開くからForm3だけロードは難しい。
0782デフォルトの名無しさん
NGNGEXEのアイコンってDelphi2005で作れるのでしょうか?
作れたらどうやって作るのか教えてください。
0783デフォルトの名無しさん
NGNGフリーウェアのがよっぽど使いやすいが。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG>実行マシンのプライベートIP
というのが意味不明だけど、こういうことか?
ttp://www.borland.co.jp/qanda/delphi/d0009357.html
0788デフォルトの名無しさん
NGNGLANにぶらさがってるマシンに割り当てられるプライベートIPを取得したいという意味だったのですが
ClientSocketを貼ればできるような気がしてきました、ありがとうございます
0789デフォルトの名無しさん
NGNG標準で使うブラウザ情報ってレジストリのどこにあるのですか?
できたらレジストリからデータの取得方法も教えてください
0790デフォルトの名無しさん
NGNGHKEY_CLASSES_ROOTのhtmlfileとhttpとhttps
TRegistryのRootKeyを設定して、OpenKeyでキーを開いて、ReadStringで値を読む。
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGTIdUDPServerならOnUDPReadイベントで渡されるABinding.PeerIPで取れるが
他は試したことがないのでわからない。
0793デフォルトの名無しさん
NGNGありがと(
0794デフォルトの名無しさん
NGNGvar
Reg: TRegIniFile;
begin
Reg := TRegIniFile.Create('HKEY_CLASSES_ROOT\htmlfile\shell\open\');
try
ShowMessage(Reg.ReadString('command', '', ''));
finally
Reg.Free;
end;
end;
こんな感じでやってみたのですが何も出力されません
regeditで見てみて、(標準)というところに格納されているのですが、どうやって取り出すのでしょうか?
0795デフォルトの名無しさん
NGNGできますが、このとき画像をマウスでつまんで(^^;)動かすにはどうしたらいいのでしょう? 次のよ
うにやってみたのですが全然ダメでした。
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If Button = mbLeft Then Image1.BeginDrag(False);
end;
procedure TForm1.ScrollBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is TImage then
begin
Accept:=True;
Image1.Left:=X; Image1.Top:=Y;
end;
end;
procedure TForm1.ScrollBox1DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
Image1.Left:=X; Image1.Top:=Y;
end;
0796デフォルトの名無しさん
NGNGImage1.DrugMode = dmAutoMaticにしてないのではないかという気もするが。
それ以上に気になるのが、スクロールバーのPositionプロパティに値を代入していないことなんだが。
これだと、スクロールボックスの中で、イメージ1がスクロールバーに関係なく動いてしまうんじゃないか。
0797795
NGNGしかし、ScrollBox1.DrugMode = dmAutoMaticにすれば時々動きますが変な動きをします(^^;)。
こういう場合(ScrollBoxがImageのParent)はドラッグしたいのはImageなので
ScrollBox1.DrugMode = dmManual
でいいと思うのですけど・・・・。
procedure TForm1.ScrollBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is TImage then
begin
Accept:=True;
Image1.Left := X;
Image1.Top := Y;
ScrollBox1.HorzScrollBar.Position := -X;
ScrollBox1.VertScrollBar.Position := -Y;
end;
end;
0798デフォルトの名無しさん
NGNGはるか昔に、delphi-MLで同じような質問を見た記憶がある。
「猫の手スクロール」等のキーワードでMLを漁ってみてそ。
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG最近同様の質問があったようなと・・・
http://pc5.2ch.net/test/read.cgi/tech/1062422335/490-501
0802デフォルトの名無しさん
NGNGToolbar2000
ttp://www.jrsoftware.org/
TBX(Toolbar2000のアドオン。要Toolbar2000)
http://www.g32.org/tbx/index.html
DecExpress ExpressBars Suite
ttp://www.devexpress.com/products/VCL/Exbars
メニューのみなら
XPMenu(フリー)
ttp://www.shagrouni.com/english/software/menu.html
ツールバーのみなら
TMS TAdvToolButton
ttp://www.tmssoftware.com/
0803デフォルトの名無しさん
NGNGそれを参考に
private
FDownFlg :Boolean;
FPosX :Integer;
FPosY :Integer;
procedure TForm1.ScrollBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDownFlg := True;
FPosX := X; FPosY := Y;
end;
procedure TForm1.ScrollBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDownFlg := False;
end;
procedure TForm1.ScrollBox1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if FDownFlg then
begin
ScrollBox1.HorzScrollBar.Position := X-FPosX;
ScrollBox1.VertScrollBar.Position := Y-FPosY;
end;
end;
としましたが、だめでした(;_;)。
0804デフォルトの名無しさん
NGNGShift: TShiftState; X, Y: Integer);
begin
FPosX := X;
FPosY := Y;
end;
procedure TForm1.Image1StartDrag(Sender: TObject;
var DragObject: TDragObject);
begin
(Sender As TControl).Enabled := False;
end;
procedure TForm1.Image1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
(Sender As TControl).Enabled := True;
end;
procedure TForm1.ScrollBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := True;
(Source As TControl).Left := X - FPosX;
(Source As TControl).Top := Y - FPosY;
end;
では何とか動きました。ただマウスの位置によっってはImage1MouseDownしただけで
(つまりドラッグしていないのに)そのマウスの位置にImage1のLeft、Topが移動し
ます。
0805デフォルトの名無しさん
NGNGOnMouseMove で FPosX と FPosY を更新してないね
Image の上で操作したいのになぜ ScrollBox のマウスイベントを使うのか謎
0806デフォルトの名無しさん
NGNGScrollBox1.HorzScrollBar.Position := X-FPosX;
じゃなくて
ScrollBox1.HorzScrollBar.Position := ScrollBox1.HorzScrollBar.Position + X-FPosX;
のような
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGゲッターは値渡しになるのでしょうか?
だとしたら、アクセスに無駄があると思うのですが、
かと言って、プロパティでポインタを返すのも変ですよね?
0812デフォルトの名無しさん
NGNG6PerでもIndyをインストールすれば良いはず。
インストールしたとして、TIdUDPServerでいいかどうかはおまいさんの作りたいソフト次第。
他のコンポについてはわからないから、偉い人降臨きぼん。
0813デフォルトの名無しさん
NGNGどうしていいのか見当も付きません。
なにか良い方法はありませんか?
0814デフォルトの名無しさん
NGNGResponseCodeのことか?
0815813
NGNG0816デフォルトの名無しさん
NGNGバージョンは2005です
0817デフォルトの名無しさん
NGNGDelphi2005
0818デフォルトの名無しさん
NGNG実際に弄るコードはこんな感じ。
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%C6%C9%A4%DF%BD%F1%A4%AD%A4%B9%A4%EB%A4%CB%A4%CF%5D%5D#content_1_7
0819デフォルトの名無しさん
NGNG助けてください
0820デフォルトの名無しさん
NGNGそれじゃ答えようがない。
どんなコンポーネットが配置しあって、どういう状態でポップアップメニューを出すとエラーになるのか。
フォーム上はどこでもエラーになるのか、特定のコンポーネントの上なのか。
どのユニットのどのメソッドでエラーになっているのか。
(多くはInterface部でUsesしているユニットでエラーが出ていると思う。存在しないオブジェクトをたたいていることが多い)
このへんを上げたら、何か反応が返ってくるかも。
あとブラクラ状態って何だ?
0821デフォルトの名無しさん
NGNGアプリを作っている途中で一回コンパイルに失敗してから終了させたらこういうエラーがでて閉じても閉じても閉じられませんでした。
ちなみにほかのときは大丈夫でした。
で、最終的には再起動して終了させました
0822デフォルトの名無しさん
NGNGMS: TMemoryStream;
s: string;
begin
MS := nil;
try
MS := TMemoryStream.Create;
s := 'ほげほげ';
MS.Write(s, Length(s));
MS.SaveToFile('c:\ほげほげ.txt');
finally
MS.Free;
end;
end;
といったような事をやると、保存したファイルが文字化けしたような状態になってしまうのですが
ちゃんと保存する方法はないのでしょうか?
普通ならTStringListあたりを使うんだと思うのですが、改行コードが自動的にCRLEになってしまうのでいやなんです。
0823デフォルトの名無しさん
NGNGじゃなかったっけ?
0824デフォルトの名無しさん
NGNG配置したコンポーネントを参照するコードを書いて、その後仕様変更でコンポーネント削除して、コードはそのままなんじゃないか?
0825デフォルトの名無しさん
NGNGstringは添え字1から。
0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNGなんで?すごくいいんだけど?
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG0830ななしへたぐらま ◆XcB18Bks.Y
NGNG『Object Pascal言語ガイド』より(Delphi 4版ですが)―――
・静的配列型,レコード型,集合型の関数結果の場合,値が1バイトを占有する場合はALに,値
が2バイトを占有するときにはAXに,値が4バイトを占有する場合はEAXに結果が返される。そ
の他の場合は,宣言されたパラメータのあとに関数に渡される追加のvarパラメータに結果が返さ
れる。
―――ということでレコード型では値渡しにはならないようですが,
1レコード全体の内容をコピーすることには変わりなく,
それによるオーバーヘッドが無くなるわけではないので
大きなレコードを大量に処理するような場合は影響が出るかもしれません.
一方,レコード型の値をポインタで渡すことは変ではないと思います.
私のつたない経験ではむしろレコード型のポインタ型にする方が使いやすいと思います.
なぜならレコードの一部だけを変更する処理がシンプルになるからです.
レコード型ならこんな感じ:
Rec := NantokaObj.Records[i];
Rec.FamilyName := 'Sato';
NantokaObj.Records[i] := Rec;
ポインタならこんな感じ:
NantokaObj.Records[i]^.FamilyName := 'Sato';
※ポインタの場合でもレコード全体をコピーする場合は以下のようにそれぞれ1行で書けます.
NantokaObj.Records[i]^ := Rec;
Rec := NantokaObj.Records[i]^;
0831ななしへたぐらま ◆XcB18Bks.Y
NGNGTIdTCPServerならピアスレッドのConnection.Socket.Binding.PeerIPで取れるようです.
特定クライアントとの接続に関するイベントハンドラ(OnServerConnectなど)では
パラメータAThreadがそのピアスレッドですからここから参照できます.
接続中に一覧を取得したい場合はThreadsプロパティにピアスレッドのリストが入っているのでこれを使います.
var theList: TThreadList; ClientIP: string;
theList := IdTCPServer.Threads.LockList;
try
// 接続している各クライアントについて…
for i := 0 to pred(theList.Count) do
begin
theThread := TIdPeerThread(theList[i]);
ClientIP := theThread.Connection.Socket.Binding.PeerIP;
// ※処理※
end;
finally
IdTCPServer.Threads.UnlockList;
end;
0832デフォルトの名無しさん
NGNGキタ━━━(゚∀゚)━━━!!!!!
上手くいきました。サンクスです。
0833813
NGNG>>814さんに教えて頂いたResponseCodeをさっそく試してみたのですが、
URLの指定の仕方がまったくわかりません。
どうやって指定すればいいのでしょうか?
0834デフォルトの名無しさん
NGNGGet なり Head なりのメソッドでリクエストかけれ
0835デフォルトの名無しさん
NGNG0836813
NGNGこれは
try
IdHTTP.head('http://tyometyome.com/');
except
end.
のようにスルーしちゃっていいものなんでしょうか?
0837811
NGNG詳細なご解説本当にありがとうございました。
Delphiでは、なるべく直感的なプログラミングを心掛けていましたが
この場合は、ポインタを使ったほうがよりスマートになりそうですね。
0838デフォルトの名無しさん
NGNGそれは813がやりたいこと次第だな。
言語例外はライブラリが「あえて」起こすもので、単なるエラーとは違う。
どう処理するかはプログラマーがやりたい事に即して決めるものだ。
0839デフォルトの名無しさん
NGNGどれがおすすめですか?
一応、自分のマシンは400MHZ,256MBのAMDK6-2マシンです。
使用目的は、Delphi言語の学習&フリーウエアの制作(夢)です。
友人は6,7のうちどちらかを手元に残して置きたいそうなので、
4,5あたりをもらおうかと思うのですがどうでしょう?
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG0842839
NGNGいや、その友人はプロ版しかもっていないので
パーソ版をくれとはいえないのです。
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG6のプロ最強っす。
もらっとけばー。
0845デフォルトの名無しさん
NGNGずばり6。
5でも悪くはないが、6にでは、一部のイベントが拡張されている(TlabelのOnMouseEnterなど)。
7は、重いし、6とあまり変わってない。仕様許諾で、個人情報をもっていかれるのが気色悪い。
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG釣られているかと思うが、マジレスするとさ、
その友人は多分、アップグレード版で各バージョンを
揃えているはずだからさ、アップグレードした前のバージョンを
人にあげるのは、ライセンス違反だから気をつけなよ。
Borlandはかなりライセンスについてはケチなので。
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG6per でいいじゃん。ライセンスもオッケーだし。
0851デフォルトの名無しさん
NGNGDelphiでぐぐると
>Borland - Delphi 6 Personal Download
がトップ項目に出てくるしな・・・
某にとっていいこととも思えないが。
0852デフォルトの名無しさん
NGNGどちらが得かは非常に微妙なところだ
0853デフォルトの名無しさん
NGNG単に潰した暇をドブに捨ててるだけだから日本全体の損失だよ。
そんな暇があったら働いて彼女作って子供作って収入を力の限り消費しなさい。
0854813
NGNG例外処理は「もうだめぽ」というよりは「注意」程度のものとして考えてもいいんでしょうか
てっきりもうなにもできないからプログラム死ぬのを待つもんだと思ってました。
やっぱりエラートラップ仕掛ける事にします。ありがとうございました。
0855デフォルトの名無しさん
NGNGIdHTTP.head('http://tyometyome.com/');
ヘッダが取れた
except
ヘッダが取れない
end.
で分岐するコードを書けばいいんだろ
0856デフォルトの名無しさん
NGNGオレだったらC#をすすめるが
0857デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNGDVDに全部焼けばいいじゃないか。
それよりも、本気でやるならもう少しPCいいもの使ったほうがいいいよ。
0863デフォルトの名無しさん
NGNG0864まとめ
NGNGDelphi6 Personalは無料で入手可能。
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BDelphi%A4%CE%C6%FE%BC%EA%A4%C8%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%5D%5D
それに対してもらうのはライセンス違反の可能性大。
違反してまで古い4,5を使うメリットはないからやめとけ。
0865デフォルトの名無しさん
NGNGだまりなさい いぬちくしょうめ
おまえに しゃべる けんりなど ないのです
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNGゆずってくれ!たのむ!
ころしてでも、うばいとる
0869デフォルトの名無しさん
NGNGC#rろくにやってないのがばればれ
0870デフォルトの名無しさん
NGNG>>856はライターですから…
0871デフォルトの名無しさん
NGNGガラハドワラタ
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG今年、ちょと気になったこと。
GDN掲示板でDel>>>C#乗り換え厨らしい人をたくさん見たこと。
>>869 みたいに沈みかけた船から乗り換えられない人もいるんだな
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNGプロトコルを決めれば自ずと結果は導き出されるだろ・・・
0878デフォルトの名無しさん
NGNG部屋の掃除でも指定なさい。
0879デフォルトの名無しさん
NGNGただしSTX,ETX(crlf)等の区切りを意識して送受信
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGToolbar2000とTBXを使ってみたいんだけど、ライセンスがよくわからん…。
フリーウェアなの?
0883デフォルトの名無しさん
NGNGシェアウェア
0884デフォルトの名無しさん
NGNGToolbar2000のregisterのところに
Registration is required if you use Toolbar2000 in any applications that you or your organization are profiting from (e.g., commercial or shareware).
とあるけど、これってフリーウェアなら登録は必要ありませんってことじゃないんですか?
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG編集するにはどうしたらよいのですか?
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNGAppendMenu(
とかを使う。
0889デフォルトの名無しさん
NGNGうげ、ちらっと調べてみたけどこんなにめんどくさい方法しかないの?
MainMenuとかみたいにメニューデザイナで編集したりはできない?
0890デフォルトの名無しさん
NGNG名前忘れたけど
PopupMenu指定するだけのやつ
0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNG名前おせーて
>>892
万人が下水道這いずり回ったりバキュームカー運転したりする
低レベル作業員である必要はないからな
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNGそうだね。それがDelphiのいいところでもあるんだよ。実装を一切知らずにコンポ
探し回ってなんとかアプリの形を整える。で、バージョンアップなどでコンポが使えな
くなったりすると青ざめる。そんなのの繰り返し。だから他へ移れない。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGVS.NETに移行しても問題ないかなぁって思いました。w
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGDelの機能と対応している部分しか見ていない。
C#+.NETFWははるかに高機能で複雑だよ。
それを理解した上でなおDelphiを選択する奴は
よっぽど開発・実行環境が劣悪なんだろうな。あるいはおつむが。
0900デフォルトの名無しさん
NGNGもちろん対応している部分を見て言ってるんだがw
0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNGよかったらその高機能な点を教えてください。
Win32アプリだったらDelphiが現時点で
最強のツールであることに依存はないと思うけど
乗り換えるような魅力はあるのですか?
0903デフォルトの名無しさん
NGNG>>899 が言ってるのは .NET のライブラリの部分。VCL より巨大な迷路だと言えるね。
べつに Delphi.Win32 と機能がかぶってるわけじゃないら使い分ければいいだろ
0904デフォルトの名無しさん
NGNG乗り換える必要はない。ただ、平行してやっておく価値はある、と断言できるよ。
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG> よかったらその高機能な点を教えてください。
そんなのMSDNへいって.NET のレファレンス見てご覧。かなり VCL に似てるけど
それより遥かに広範囲高機能だとすぐに分かるよ
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG>>904
C#に価値が見出せないのですが
Javaより優れている点はありますか?
結局はWindows環境でしか使われない予感・・
>>906
もっと端的に説明できませんか?
戸田君みたいなレスは要りません
0909デフォルトの名無しさん
NGNGそれは言語の話じゃないよね?
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG>それは言語の話じゃないよね?
そう。言語のはなしじゃない。.NET の CLR の話。C# は独自のライブラリをほとんど
持ってなくて、全面的に CLR に依存している。だから .NET 専用の言語といえるだろう。
で、>>908 はMSDNへ行ってみるくらいの自助努力をしたの? 一目瞭然だけど。
0912デフォルトの名無しさん
NGNGあなたが>>899と同一人物かどうかはわかりませんがそうだと仮定します。
少なくとも>>899を見るとC#についてかなりの理解があると思います。
だけど「端的に教えて」と尋ねたら「MSDN見ろプゲラ」
としか言えないようなら口だけ番長を証明してるようなものですよ
0913デフォルトの名無しさん
NGNGいや、百聞は一見に如かずだからね。真面目に答えたいけど、真面目な質問なら
ほんとに行ってみなよ。ただ、アンチのためだけに煽ってるんじゃないんだけど。
> 口だけ番長を証明してるようなものですよ
それはそうかもね。きみは単なる教えて君であることを証明してるけどね。
試しに VCL のすばらしさは端的に答えてご覧。MSDN には載ってないし。
ちなみに >>899 とは別人。>>899 のどこがC#についてかなり理解があると思うの?
0914Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡
ミ つ旦)~~
〜と,,,~),,~)
赤の他人のしかも
くだすれDelでC#をえらそうにもちあげるような人間の
具体性に乏しい発言を立証するために
"自助努力"という名目で補ってあげるほどに
できた人間を漏れは見たことないし
これからもみることはないと思うのだが。
0915デフォルトの名無しさん
NGNGへんなヤツだね。
Delphi2005 は Delphi.Win32 と Delphi.NET と C# の統合開発環境だろ。
Delスレで C# の質問が出て、真面目に答えてどうしてそんなこと言われなきゃならないの?
0916911
NGNGまだシロートなのでつい教えて君になってしまいますスイマセン
>試しに VCL のすばらしさは端的に答えてご覧。
VCLというかペタペタコンポーネント貼るだけで簡単にWin32アプリが作れる
Delphiという開発環境はとても凄いと思います。勿論限界もありますが。
VCLの素晴らしさとは何かと辞書的に聞かれても答えられるほど理解がありません。
>>>899 のどこがC#についてかなり理解があると思うの?
何か偉そうな口調で語っていたのでかなりでなくともそれなりに
理解はありそうだと思いましたので
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGそれはVCLというより、IDEとの協調作業に依っている。VC# や Delphi2005 の C# や Delphi.NET
でもほとんど同じですよ。Windows.Forms アプリの場合は使われるライブラリが
違っているだけで。Win32 アプリはつくれませんけど。だから、乗り換えるんじゃなくて
使い分け。
0919デフォルトの名無しさん
NGNG0920911
NGNGなるほど、使い分けですか
当面はWin32のDelphiでいいけど
MicrosoftがWin32を見捨てて.Net環境に全面移行する可能性もあるので
そうなったらC#が必要になる。だったら今から準備してもいいってことですね
0921デフォルトの名無しさん
NGNGというか、それ以外に決着のつけようがない。
この議論で「○○の方がいろいろ優れてて使いやすいんだ〜」って結論が出ても
「俺は××の方が気に入ってるからそれを使う。個人的なことに意見を言われる筋合いはない」で終わりなんだから。
0922デフォルトの名無しさん
NGNG0923Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
"自分が使いやすいと思う開発環境"
の定義を構築、修正したいから
議論や情報をやりとりする意味はとてもあるよ。
ただ、結論はその人の思考に大きく左右される
ことも多いのでなかなか結論が出ない、状態にはなる
んだろうけど。
0924デフォルトの名無しさん
NGNGあっちに高い山があるんだけど、面白そうだから登ってみないか。っていう話。
山があることも、あるいは、あることは知っていてもその高さを知らないかも
知れないから、ちょっと地図でも見てご覧っていう程度。
0925Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
砂漠で目玉がどうたら、という比喩は
なんのことを指しているのか漏れにはわからなくて
語呂もきれいくないので好きではないんだが、、、
.NETがそれを使うだけで
VCLに対して断然優れていたとしたら
D8はその存在だけでユーザーに許容されていただろうし
D2005であえてWin32を呼び戻したり
BCB(Win32のみと思われ)を存続させる必要は全くないんだが...
そもそも、DelphiIDEをWinFormで書けばいいのに
某もVCLorVCL.NETで構築しちゃっているわけで....
0926デフォルトの名無しさん
NGNGD8 は Delphi.NET オンリーでしょ。.NET をやるのに言語として Delphi を
選ぶ理由はないと思うし、Delユーザもそのことをよく知っているのでは。
0927デフォルトの名無しさん
NGNGないのだから、両方やってもなんの矛盾もないと思う
0928デフォルトの名無しさん
NGNGスレ違いだ、どっか他でやれよ
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNG環境 Delphi2005
OS WinXP pro sp2
です。よろしくお願いします
0931デフォルトの名無しさん
NGNG多分ネタだと思うけどマジだったら死ね
0932デフォルトの名無しさん
NGNG嫌だっぷー(・3・)
0933デフォルトの名無しさん
NGNGまじです。作りがのっているHPがないのでわかりません。
どなたか教えてください
0934デフォルトの名無しさん
NGNGマジにしては人を馬鹿にした内容だな
まあIndy内のHTML関連のコンポーネント使ってGetメソッドとか使ってみれば
0935デフォルトの名無しさん
NGNG超初心者です
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNGお前の心の中
0938デフォルトの名無しさん
NGNGhttp://www.indyjapan.com/
http://www.indyproject.org/download/Files/Indy9.html
0939デフォルトの名無しさん
NGNGすいません、文章が下手なので
>>936
荒らし目的じゃないです。簡単に投稿できるようにしたいだけです。
>>938
9.0.17 Source code distributionのzipをDLして解凍しました。このあとどうしたらいいですか?
0940Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
>>939さん
Wininet Programing
http://www.geocities.jp/wininet_dll_jp/page15.html
WinInet.DLLを使う方法ですが。
0941Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ さらっとググってみました。
どぞー
Delphi TIPS/Indyのインストール - dev.chu.jp : http://dev.chu.jp/index.php?Delphi%20TIPS%2FIndy%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
ギコナビのビルド方法 : http://deuxdeux.hp.infoseek.co.jp/gikobuild.html
0942デフォルトの名無しさん
NGNGありです!参考になります。
少しは自分でがんばってみようと思います。
0943デフォルトの名無しさん
NGNGがんがれ〜
0945デフォルトの名無しさん
NGNG煽りとかじゃなくてあったら便利なのにと思って
0946名無し募集中。。。
NGNGDelphiにはIIFや三項演算に相当するものがない
引数の型ごとに関数を作ってオーバーロードするとか
後はVariant型でまとめて処理するとかぐらい
0947ミ,,゚Д゚ミノ ◆A6VzDeLphI
NGNGIndy Tips : http://www.monazilla.org/document/indytips.html
これやな。
0948ミ,,゚Д゚ミノ ◆A6VzDeLphI
NGNGたしかD6からだけど
IfThen
ってのがあるよ。
三項演算子じゃないから、ATrue/AFalseに
関数が渡されると、どちらも呼び出されちゃうけど。
0950デフォルトの名無しさん
NGNGDBGridで行を移動したのを拾うにはどうしたらいいんでしょうか?
マウスで移動した場合はOnCellClickが使えそうですが、
カーソルキーの上下で移動した場合がわかりません。
0951デフォルトの名無しさん
NGNG「くだすれ」とは
どんなに「くだ」らない質問でも、誰かが優しくレスをしてくれる「すれ」っど
by 毛の生えたブリーフ(別名:毛の生えたフサギコ 別名:40歳だけど〜青年です)
であることを突き止めた。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGOnkeydownイベントで、キー入力をトラップして、調べるのはどう。
0955デフォルトの名無しさん
NGNGあれただの文字セットだよ
同じく人工的に作られたハングルはうまく使われてるようだけどね
0956デフォルトの名無しさん
NGNG∧ ∧ ┌─────────
( ´ー`) < シラネーヨ
\ < └───/|────
\.\______//
\ /
∪∪ ̄∪∪
0957デフォルトの名無しさん
NGNGDataSetのイベントでしょ。普通は。
0958デフォルトの名無しさん
NGNG言われるんだけど、これってバグ?
0959945
NGNG今、起きました。
うおー本当にあったんだぁ。integerを返す奴をひとつ手製で作ってました・・。
さすがBorland、こういうとこは気が利くなぁ。
質問してよかったです。ありがとうございました。
0960950
NGNG>>957
お二人の回答とはちょっと違うんですが、参考にして色々試していたら
DataSourceのOnDataChangeで出来ることがわかりました。
どうもありがとうございました。
0961デフォルトの名無しさん
NGNGusesにSysUtilsが追加されていないとか
WindowsがSysUtilsより後ろに来てるとかが原因だと思う。
バグでは無い。
0962デフォルトの名無しさん
NGNGD&Dされたものがファイルなのか、ディレクトリなのかで処理を分けたいのですが
どうやって判別したらよいのでしょうか?
0963962
NGNGもっといい方法を知ってらしたら教えてください。
0964デフォルトの名無しさん
NGNGWin32一発で取れたような気もするけど。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGGetFileAttributesのことかな?
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGDelphi では不可能、もしくは極めて困難です。
VB.NET なら簡単に実現できます。
乗り換えましょう。今ならまだ間に合います。
0969デフォルトの名無しさん
NGNGそれが.NETでしょ
0970デフォルトの名無しさん
NGNG0971ななしへたぐらま ◆XcB18Bks.Y
NGNG>>961に補足すると,おそらくDelphiのコンパイラはそのFindCloseをWindowsユニットで宣言されているFindClose関数だと判断しています.
FindCloseという名前のものはSysUtilsユニットで手続きとして宣言されている一方で
Windowsユニットでは関数(WindowsのFindCloseというAPIを直接呼び出している)として宣言されています.
名前がぶつかった場合,Delphiでは以下の優先順位でどれを使うかを決めます.
同じクラス>同じユニット>uses節の後ろの方に宣言したユニット>uses節の前の方に宣言したユニット
統合環境からフォームを新規作成した場合はuses節には
SysUtilsユニットがWindowsユニットよりあとに書かれていますので,
単にFindCloseと書くとSysUtilsユニットのFindClose手続きだと解釈されますが
WindowsユニットのみでSysUtilsが無かったり宣言の順序が逆の場合はWindowsユニットのFindClose関数だと解釈されます.
そのため予期しないコンパイルエラーに遭遇することがあります.
この場合の対処法はふたつあります.
ひとつはuses節で列挙する順番を入れ替えること(この場合はWindowsユニットを先にSysUtilsユニットをあとに書く)です.
もうひとつは関数(または手続き)の名前の前にユニット名を指定することです.
たとえばuses節で列挙する順序と無関係にSysUtilsユニットのFindClose手続きを使いたい場合は
SysUtils.FindClose(SearchRec)
というように記述します.
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGhogeや_hogeやHoge等々いろいろあった…
0976デフォルトの名無しさん
NGNGAPI と同名。 Windows.pas は普通 uses の前の方にあるから問題にはなりにくいけど。
TBitmap なんかも API にあるよね
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGbegin
application.ProcessMessages;
ShowMessage( 'あけおめ' );
end;
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982ななしへたぐらま ◆XcB18Bks.Y
NGNG>>975
QuickBASIC(VBの血のつながらない先祖)のときも名前がぶつかったら駄目だったので,
Delphiのこの仕様はありがたかったです.
0983ななしへたぐらま ◆XcB18Bks.Y
NGNGくだすれDelphi(超初心者用)その21
http://pc5.2ch.net/test/read.cgi/tech/1104511938/l50
このスレがいっぱいになったら移住して下さい.
0984デフォルトの名無しさん
NGNGユーザがライブラリの中の名前を気にしなくてもいいのは便利。
だけど、メーカが供給するライブラリの中では、名前がぶつかっているのは無意味に
混乱させるだけだと思う。
0985デフォルトの名無しさん
NGNGすげー名前空間あるのにすげーDelphi
m9(^Д^)プギャー
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNGm9(^Д^)プギャー
0989デフォルトの名無しさん
NGNG小学生誘拐犯人並みにキモイ奴だな
0990デフォルトの名無しさん
NGNGForm1宛のメッセージはなんとか取得できるのだが・・
0991デフォルトの名無しさん
NGNGこのスレでは放置しる。
フサギコのスレで撒き餌ばらまいて「m9(^Д^)プギャー」なんて言わせて喜ばしておけ。
0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG相手にしてもらえないでよっぽど悔しいらしい(藁
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNGif thenを延々と書き連ねるしかないのかなぁ…。
これだとあんまりスマートじゃないような気がするんですけど、
もっといい方法があったりするんですか?
0996デフォルトの名無しさん
NGNGColorNames['Red'] := '0000FF';
0997デフォルトの名無しさん
NGNGwriteln("hello")
end.
0998デフォルトの名無しさん
NGNGdelphi4はWindows2000でも間違いなく動きますでしょうか。
どなたかご教示下さい。
0999デフォルトの名無しさん
NGNG別に、おら通りすがりで遊んであげただけ(藁藁
どうなっているか見に来たけどやっぱり喰いついている(藁藁藁
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。