1 名前: ◆XcB18Bks.Y mailto:sage [2008/03/12(水) 21:09:39 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その45 pc11.2ch.net/test/read.cgi/tech/1198802907/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?Delphi%20%B4%D8%CF%A2%A4%CE%B2%E1%B5%EE%A5%B9%A5%EC%A5%C3%A5%C9
651 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:26:12 ] >>650 確かにそうですね。妥協することにします。 >>647 終了です。ご回答くださった方ありがとうございました。
652 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 07:36:01 ] TStringListにいったん読み込めばいい。
653 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:29:15 ] 複数キー入力を検出するにはどうすればよいでしょうか? Ctrl+Alt+Delとかのことです。 よろしくお願いします。
654 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:31:32 ] そんな無作法なツールは死ねばいい
655 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 16:01:57 ] >>653 TShiftState
656 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:00:01 ] >653 検出はいいけど、何をしたいのか具体的に書いたほうがいいと思うが。 ちなみにCtrl+Alt+Delは捕捉できないので念のため。
657 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:01:57 ] BBS へ行ったと思われ
658 名前:デフォルトの名無しさん [2008/05/12(月) 23:42:30 ] TMemo でスクロールせずに表示できる行数を知るには ClientHeight を Font.Height で割れば良いのでしょうか?
659 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:07:26 ] 1分で確かめられる事をわざわざ聞きにくるな
660 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 02:25:24 ] 1分使って自分で確かめるくらいなら2分使って質問を投げる勇気を私はもちたい。
661 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 03:02:10 ] :::::::::::.: .:. . ∧_∧ . . . .: :::::::: :::::::: :.: . . /彡ミ゛ヽ;)ヽ、. ::: : :: ::::::: :.: . . / :::/:: ヽ、ヽ、i . .:: :.: :::  ̄ ̄ ̄(_,ノ  ̄ ̄ヽ、_ノ ̄
662 名前:635 mailto:sage [2008/05/13(火) 12:49:06 ] >>636 ありがとうございます。帰ってやってみます。
663 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:40:18 ] これからDelphiをはじめる初心者ですが TurboDelphi用の初心者向け参考書はありますか? お勧めがあれば教えて下さい。
664 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:50:23 ] >>594 >>595 >>599 melander ってしらないうちにオンラインにカムバックしてたのね melander.dk/delphi/gifimage/ ここで各種 Delphi のバージョンアップ対応のメンテ版を公開していたので 同じ 2.2 でもバージョン違いが存在する www.tolderlund.eu/delphi/ で、そもそも TGIFImage は CodeGear に寄贈されて最新版の3.0は Delphi 2007 に同梱と
665 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 23:38:58 ] >>664 D2007のTGIFImage3も>>594 のはバグってる でも他のInterlaceなGifの問題は直ってたりするけど www2.ttcn.ne.jp/~honkawa/images/2770.gif
666 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:11:31 ] (;^ω^)今更ながらtypeとポインタが便利な事に気付いたwwww今まで時間無駄にしてたわwwwwwww
667 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 05:23:00 ] で、TGIFImage の開発元にフィードバックしたいのだが。 で、いくつか問題起こす gif を見ましたが、なんつーか児童ポルノに厳しい国でも レポートできるようなアニメーション GIF で再現できない物ですかねぇ
668 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 09:45:09 ] var Attr: Cardinal; dv: string; Attr:= GetFileAttributes(pchar(dv)); if (Attr and FILE_ATTRIBUTE_COMPRESSED) <> 0 then begin MessageDlg('Compressed.', mtError, [MBOK], 0); end; if (Attr and FILE_ATTRIBUTE_ENCRYPTED) <> 0 then begin MessageDlg('Encrypted.', mtError, [MBOK], 0); end; dv はドライブ名 C:\ or D:\ これで9x系のドライブスペースとNT系の圧縮フォルダとプロの 暗号化されたやつを判定できますか?
669 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 14:03:27 ] ウィンドウハンドルを指定してそのウィンドウのキャプチャをCanvasに描くのってどうやるの?
670 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 16:52:05 ] ランダムな2バイト文字を生成するにはどうすればいいんでしょうか
671 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:27:16 ] 'ランダム' お約束すぎた?
672 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:06:49 ] >>669 GetWindowRect(ハンドル,Rect); GetDC
673 名前:デフォルトの名無しさん [2008/05/15(木) 13:49:45 ] calendarExと言うdelphiのカレンダーコンポーネント使ってるんですけど Appendで特別な祭日(2008/5/6)の追加できたんですけど削除の仕方がわかりません^^; どうやればいいのでしょう すれ違いだと思いますが罠にもすがる思いで質問します
674 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 14:18:30 ] 罠にすがられたいという事なんで レスしてみる calendarEx と言われても、誰もが付けそうな名前なんで判らん。 とりあえず一番簡単なのは、Createをメソッドとして読んで 再度 設定しなおしたら駄目? レジストリやファイルに保存してないならだけどさ
675 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 15:30:39 ] 罠??? 糸・・・藁だ 藁 なるほどその手もありましたか このソフトなんか10年くらいの前のソフトらしく四苦八苦してます ヒントくれてありがとうございます ;;
676 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 15:51:13 ] >>670 全2二バイト文字を抽出しておいて、そこからランダムに選んだらどうだろう。
677 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:20:00 ] うーん、2バイト文字ってのも良く分からないけど 何でランダムに抽出したいのか、その使い道が気になるにょ
678 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 19:09:21 ] >>670 文字コードにもよるが、SJISのランダムな日本語を得たいのかな?
679 名前:670 mailto:sage [2008/05/16(金) 19:55:14 ] >>676 それだけでかなりの時間がかかりそうですですね >>677 色々です、色々 >>678 そうです、SJISです
680 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 22:17:52 ] 結果はファイルにでもキャッシュしておけばいい。 SJISに割り当てられている全文字合わせても20KBくらいだし。
681 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 01:28:40 ] 無効な文字なら、アウトラインを取得できないかもしれないから、 それ使って判断できるかも。
682 名前:デフォルトの名無しさん [2008/05/17(土) 11:41:06 ] ListViewのMultiSelect=Trueの状態で ボタンを押すと選択行を1段下げる処理をしたいのですが <<2のところで「EAccessViolation クラスの例外」と出てしまいます また<<2だけの処理だと複数行選択してしまいます with ListView do begin Items[Selected.Index].Selected := False; //<<1 Items[Selected.Index + 1].Selected := True; //<<2 end; 他にもMultiSelectをFlaseにしてから リストをClearSelectionしてからなど試しましたが 同じようにエラーが出てしまいます 何かよい方法はないでしょうか?
683 名前:番組の途中ですが名無しです mailto:sage [2008/05/17(土) 11:59:35 ] >>682 >選択行を1段下げる MultiSelectだと飛び飛びで選択している場合もあるけど その場合は?
684 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 12:13:48 ] >>682 var hoge:integer; begin if listview1.itemindex<0 then exit; hoge:=listview1.ItemIndex+1; listview1.ClearSelection; listview1.Items[hoge].Selected:=true; listview1.Items[hoge].focused:=true; listview1.SetFocus; end; こういう事? MakeVisibleや行数を超える場合は知らない
685 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:06:00 ] >>682 <<1でTListItem.SelectedをFalseにしているのだから <<2のTListView.Selectedはnilになってる
686 名前:682 mailto:sage [2008/05/17(土) 14:58:57 ] >>683 >>684 >>685 あ!なるほど こんな感じで実装したら思ったようにいきました。 ありがとうございます!助かりました。 procedure TMainForm.ListMove(Next: Boolean); var i, idx: Integer; begin if Next then i := 1 else i := -1; with ListView do begin idx := Selected.Index; ClearSelection; Items[idx].Selected := False; Items[idx + i].Selected := True; Items[idx + i].Focused := True; end; end;
687 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 15:16:38 ] マルチセレクトでないなら ListView.ItemIndex := ListView.ItemIndex + 1 でいいんじゃない?
688 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 17:56:34 ] 指定した文字列がファイルとして作成できるか確認する方法はありますか? 例えばC:\Delphi.txtを渡すとTrue、C:\Delphi\を渡すとFalseを返す、などということです
689 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:06:56 ] ListViewについて質問です。 二つのカラムを作成し(A、B)、カラムAの1番目に文字列'1-1'、カラムBの1番目に文字列'1-2'、 カラムAの2番目に文字列'2-1'、カラムBの2番目に文字列'2-2'という形でリストを作成したいのですがどうすればいいでしょうか? よろしくお願いします。
690 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:17:14 ] >>688 ヘルプでFileCreate検索しろ >>689 ListViewの扱い方をまず学べ
691 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:21:32 BE:261735-PLT(12660)] >>689 var TestColumn: TListColumn; begin with ListView1 do begin TestColumn := Columns.Add; TestColumn.Caption := 'A'; TestColumn.Width := 100; TestColumn := Columns.Add; TestColumn.Caption := 'B'; TestColumn.Width := 100; with Items.Add() do begin Caption := '1-1'; SubItems.Add('2-1') end; with Items.Add() do begin Caption := '1-2'; SubItems.Add('2-2') end; end; end;
692 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:24:22 ] >>688 字面の正しさは正規表現でチェック '^([a-zA-Z]\:)|(\\)(\\{1}|((\\{1})[^\\]([^/:*?<>"|]*(?<!\[\])))+)$' ディレクトリが存在してるか、アクセス権があるか等々で失敗する要因が他にもあるから あまりがんばらずに、実際に書き込んでみてから例外拾って対応するのが定石。 >>689 for i := 1 to 2 do with ListView1.Items.Add do begin Caption := Format('%d-1', [i]); SubItems.Add(Format('%d-2', [i]); end;
693 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:30:13 ] >>690 ,692 FileCreateで行けるようですね、ありがとうございました
694 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:39:52 ] >>690 色々なサイトを回ったのですがSubItemの使い方について書いてあるところが見つかりませんでした。 >>691-692 ありがとうございます。 しかし、そのとおり実行してみるとカラムAの1番目に'1-1'、3番目に'2-1' カラムBの2番目に'1-2'、4番目に'2-2'と表示され、 カラムAの2,4番目は空欄、カラムBの1,3番目も空欄、というようになります。 どうすれば1番目と2番目とで納められるでしょうか?
695 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:48:41 ] 本当にすみません。 >>692 さんのコードでできました。お騒がせいたしました。 また、答えてくださった方ありがとうございました。
696 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 18:56:07 ] >>691 さんのコードもできました。 変に打ち間違えていたようです。 すみませんでした。
697 名前:デフォルトの名無しさん [2008/05/20(火) 06:08:00 ] >>696 うるせ馬鹿 死んで詫びろ
698 名前:デフォルトの名無しさん [2008/05/20(火) 06:10:06 ] >>690 お前も死ね
699 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 17:44:20 ] ActionListをダブルクリックすると編集ウィンドウが開きますが、 この位置や大きさをプロジェクト単位で覚えさせとくってできます?
700 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 00:32:41 ] 知らぬ間にPngDelphi氏んでたのね www.codeplex.com/PNGImage
701 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 07:14:42 ] >>699 フリーウェアでそんなのがありそうだな。 ソフトウェア板行って聞いてみたら。
702 名前:デフォルトの名無しさん [2008/05/21(水) 11:04:56 ] Memo1.Lines.LoadFromFile(FileName); とかでEUCのテキストを読み込むと文字化けしますが これを読めるように表示することってできるのでしょうか? テキストエディタだと見た目はeucで読み込んで表示し 保存もeucのまましてるように見えるけどあれは 内部でシフトJISに変換して表示して、保存時は再度eucに変換してるだけなんでしょうか?
703 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 11:35:28 ] TMemoryStreamで読み込んで nkf32.dllで変換して Memo1.Lines.LoadFromStream
704 名前:k [2008/05/21(水) 11:52:01 ] 正整数Nを読み込み、x^2≦N<(x+1)^2となる整数x、つまり√Nの近似値を求めるプログラムを、 sqrtなどの標準関数を使わないで作りなさいという問題なんですが。。。 わかりません。教えてもらえませんか?PASCALでやっているんですが。
705 名前:702 mailto:sage [2008/05/21(水) 11:54:14 ] >>703 やはりnkf32.dll等で自動判別して読み込んでsjisで表示するんですね ありがとうございます
706 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 12:04:07 ] >>704 良く知られた方法は 奇数を順に累計していったらという方法 function iSqr(n:Integer):Integer; var i,sum:Integer; begin sum:=0; for i:=0 to $B505 div 2 do begin sum:=sum+1+i*2; if sum>n then begin Result:=i;exit;end; end; Result:=i; end; 大きな数字で速度がある程度必要ならバイナリー法(2分検索を行う) さらに浮動小数点等で速度が必要ならニュートン法
707 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 12:05:02 ] あ div 2 は 不要だ。
708 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 14:20:05 ] 助けてください。 Form3で procedure TForm3.FormCreate(Sender: TObject); begin IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')); try pass := IniFile.Readinteger('pass', 'Pno',0); finally IniFile.Free; end; edit1.text:=inttostr(pass); end; んでForm1で procedure TForm1.N1Click(Sender: TObject); begin Form3.ShowModal; end; しても Form3のEdit1にiniのPnoデータ表示されません(;;
709 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 14:50:47 ] わざわざForm3のOnCreateを使ってiniを読む理由は?
710 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 14:54:04 ] >>708 何が表示されるの? もしかして Edit1 って文字のまま? だとしたら例外が出てるんじゃないの?
711 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:12:04 ] >>709 Form3(バージョン情報の画面)に シリアルb入力してiniファイルを作成してます。 んで次回起動時にForm3を開くと iniファイルを読んでシリアルb表示させたいんです。
712 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:15:40 ] >>710 シリアルbニして数値を表示させています。 一度入力すれば問題ないのですが 起動一発目の読み込みがうまくいきません(;;
713 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:16:52 ] コピペした部分のコードにはおかしいところはなさそうな気がする。 edit1.text:=inttostr(pass); の下に ShowMessage(Format('edit1.text=''%s'', pass=%d', [edit1.text, pass])); って行を入れてメッセージダイアログが表示され、更に値が望んだものかどうかをチェックしてみたら。
714 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:22:28 ] >>713 ダイアログ表示せず・・・ FormCreate走ってないようです orz
715 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:03:00 ] >>714 プロジェクトのオプションでForm3を自動作成の対象から外して Form1のボタンイベントを↓に変えて実行したらどうなる? procedure TForm1.N1Click(Sender: TObject); begin Form3 := TForm3.Create(nil); Form3.ShowModal; Form3.Free(); end;
716 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:53:00 ] メニューアイテムにビットマップを動的に割り付けようと 下記のようなコードを書いたのですが、反応がありません(エラーも出ない) New1.Bitmap.LoadFromFile('C:\hogehoge\new.bmp'); 設計時にオブジェクトインスペクタから、あらかじめ bitmapを割り当てていた場合は、 その画像と入れ替わりに、ビットマップが更新されます インスタンスがないのかと New1.Bitmap := TBitmap.Create; New1.Bitmap.LoadFromFile('C:\hogehoge\new.bmp'); もやってみましたが、結果は同じでした ビットマップ読み込み後に、アップデート処理などが必要なのでしょうか?
717 名前:k [2008/05/21(水) 17:34:29 ] >>706 $B505ってなんですか?すみません。なにもわからないもんで・・・
718 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 18:35:45 ] >>716 新しいTBitmapオブジェクトを作ってTMenuItem.Bitmapに代入するとうまくいくよ NewBitmap := TBitmap.Create; NewBitmap.LoadFromFile('....'); New1.Bitmap := NewBitmap; NewBitmap.Free; // 解放を忘れずに
719 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 18:53:15 ] >>716 New1.Bitmap.LoadFromFile('C:\hogehoge\new.bmp'); New1.Bitmap.Canvas.Refresh;
720 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:22:32 ] copy関数で何文字目とか文字数とかの設定は 関数にできないんでしょうか?
721 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:26:32 ] 日本語でry
722 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:41:31 ] >>720 こういうこと? function TForm1.CopyEx(S:String; Idx, Cnt:Integer):String; begin Result := Copy(S,Idx,Cnt); end;
723 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:23:11 ] >>722 申し訳ないです。 関数にできないんでしょうか? は変数にできないんでしょうか? の間違いです。
724 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:30:50 ] 722に申し訳がるこた全くなし つうか変数使えるでしょ?たぶん
725 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:32:56 ] >>723 こういうこと? var Idx,Cnt:Integer; begin idx := 1; Cnt := 2; Edit2.Text := Copy(Edit1.Text, idx, Cnt); end;
726 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:45:03 ] >>725 a1 := edit1.text; a2 := strtoint( a1 ); data := copy( Edit2.Text,a2,1 ); ここで悩んでます。
727 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:49:51 ] はぁ?
728 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:50:09 ] >>726 edit1.textに数字を入力すれば普通に動くと思う ↓またはこうする a1 := edit1.text; try a2 := strtoint( a1 ); finally a2 := 0; end; data := copy( Edit2.Text,a2,1 );
729 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:54:58 ] a1 := edit1.text; a2 := Length( a1 ); data := copy( Edit2.Text, a2, 1 ); こーゆーこと?
730 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:16:39 ] いやあエスパーさんばっかいるなwww
731 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:24:18 ] >>728 そこはexceptだろ
732 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:26:00 ] >>731 細かいなw
733 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:26:02 ] >>731 strtointdefで
734 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:27:24 ] >>728 var bno:string; keta:string; k1,k2 : string; kk1,kk2 : integer; a1,a2 : string; procedure TForm1.Button2Click(Sender: TObject); begin a1 := copy(bno,kk1,1); a2 := copy(bno,kk2,1); edit2.Text := a1+a2; end; procedure TForm1.Edit2Change(Sender: TObject); begin keta := edit2.text; k1 := copy(keta,1,1); kk1 := strtoint(k1); k2 := copy(keta,2,1); kk2 := strtoint(k2); end; コンパイルは通るのに実行するとエラーが出ます(涙)
735 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:30:36 ] edit2でキー押したとたんに落ちたの?>>734
736 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:32:51 ] とりあえず書き方がうざすぎる
737 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:33:00 ] >>735 はい。 デバッガ例外通知が出たので 継続ってすると ”は整数ではありません と怒られました。
738 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:33:35 ] >>734 bnoには何が入ってるのよ
739 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:34:50 ] >>738 ほかのEditから取り込んだ数値が入ってます。
740 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:39:46 ] >>739 ↓この行にブレークポイント置いてketaの中身をチェックしてみ k1 := copy(keta,1,1);
741 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:43:16 ] >>740 やってみます。 ありがとうございました
742 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:45:58 ] とりあえず1度深呼吸してからヘルプのOnChangeを10000回ぐらい読んでこい>>741
743 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:47:05 ] Edit&数値処理の基本 var n: Integer; begin try n := IntToStr(Edit1.Text); ShowMessage(Format('%dの二倍は%d', [n, n * 2])); except ShowMessage(Edit1.Text + 'は数値ではない'); end; end;
744 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:50:31 ] >>740 >>742 >>743 EditChangeに入れてた式を ButtonClickに移動したらエラーが出なくなりました。 もっと勉強します
745 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:51:48 ] 例外がどこで起こってるかくらいてめぇで調べられないのかよ・・・ 嘆かわしいのぅ
746 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:54:31 BE:348454-PLT(12660)] >>744 頑張ってね
747 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:56:18 ] IDEで挿入されるもの以外小文字で書いてる人よく見るけど見づらくないのかな
748 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:16:44 ] 大文字と小文字が区別されないという特徴をうまく使っていると思っている方々なんですよ、わかりません。
749 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 04:34:37 ] TDateTimePickerのKindプロパティをdtkTimeにし、Formatプロパティに日付を表示するように設定した場合、 日付を編集し、その後に時刻を編集すると日付が元に戻ってしまうのですが、 OnChangeなどを監視するなどしか対策方法はないでしょうか ヘルプには 「Format プロパティに日付フィールドのコードが含まれている場合には日付部分も編集できます。」 と書いてあるのに・・・
750 名前:716 mailto:sage [2008/05/22(木) 10:04:22 ] >>718-719 ありがとうございました
751 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 19:06:30 ] Delphi5, TStringGrid にデータ表示 1レコード1行の場合OnDrawCellイベントで if Grid.Row = ARow then begin Grid.Canvas.Brush.Color := '紺色'; Grid.Canvas.Font.Color := '白色'; Grid.Canvas.FillRect(Rect); end else begin Grid.Canvas.Brush.Color := Grid.Color; Grid.Canvas.Font.Color := Grid.Font.Color; Grid.Canvas.FillRect(Rect); end; として、フォーカスが当たっているように見せています。 1レコード2行の場合はどうすればいいでしょうか? Grid.Row が2の倍数で ARow = Grid.Row + 1 Grid.Row が2の倍数以外で ARow = Grid.Row - 1 の条件の時にも 背景・前景色を変更したけど、フォーカス色が残ってしまう場合があります。 OnDrawCell内で Grid.Repaint; を実行するとチラつきます。 Grid.Invalidate; だと さらに チラつきっぱなしです。 複数行フォーカスってどうやるんでしょうか?