Delphi初心者のための寺子屋at TECH
Delphi初心者のための寺子屋 - 暇つぶし2ch693:デフォルトの名無しさん
09/09/19 22:20:34
言語がひとつしかできないやつって終わってるね

694:デフォルトの名無しさん
09/09/19 22:26:34
Delphi程度なら片手間で習得できないとお話にならない

695:デフォルトの名無しさん
09/09/20 01:29:39
>>693
日本語しかまともに喋れない大半の日本人終わったな

696:デフォルトの名無しさん
09/09/20 10:15:11
日本語すらもまともに書けないねらー達はどうなる?

697:デフォルトの名無しさん
09/09/20 17:31:27
Del厨になる

698:デフォルトの名無しさん
09/09/24 16:50:32
メインフォームじゃないウィンドウで最小化ボタンを押すと、
タスクバーに入らずデスクトップ左下にアイコン化してしまう(ためタスクバーから復帰できない)のですが、
対処方法はありますか?

699:デフォルトの名無しさん
09/09/24 17:40:20
>>698
URLリンク(hpcgi1.nifty.com)

700:デフォルトの名無しさん
09/09/24 17:55:27
>>699

しかし、ビミョにやりたいことと違う。。。

701:デフォルトの名無しさん
09/09/24 18:30:41
>>698
子窓を最小化したときにタスクバーに入れたいなら
URLリンク(www2.big.or.jp)

アプリケーションごと仕舞いたいなら
URLリンク(delfusa.main.jp)

702:デフォルトの名無しさん
09/10/17 23:35:42
delphi5の初心者です。コンボボックスで「3」を選択した際に、
グリットを可変させて、変数ABCを
1,1にA 1,2にB 1,3にCを
グリット内に書き出したいのですが、わかりません。
どなたか、お知恵を拝借したく思います。
突然の乱入すみません。よろしくお願いします。

procedure TForm1.ComboBox1Change(Sender: TObject);
var
x :integer ;
y :string ;
lp:integer;
z :string;

begin
z:='ABC';
x:=combobox1.ItemIndex ;
y:=combobox1.Items[x];

StringGrid1.RowCount:=StrToInt(y)+1;

// 項目部設定
StringGrid1.Cells[1,0] := '東京';
StringGrid1.Cells[2,0] := '大阪';
StringGrid1.Cells[3,0] := '沖縄';

for lp:=1 to strtoint(y) do begin
StringGrid1.Cells[0,lp] := inttostr(lp);



703:デフォルトの名無しさん
09/10/20 00:26:33
変数ABCなんて無いじゃん

704:デフォルトの名無しさん
09/10/28 14:19:49
Delphi6のプロジェクトをDelphi2010に移行してとりあえずコンパイルできるようにしようと思って
Char→AnsiChar string→AnsiStringで置換掛けてコンパイルしてみました。
ところが実行時にStrToIntでエラーが出ます。
処理するレコードは固定長レコードなのですがある項目が全角日本語だったり半角だったりするために
Ansiにしたことで変換対象のロケーションが以前と違っていることが判りました。
StrToIntの引数は固定長だしと直値で指定している箇所がたくさんあり、
全角半角を判定してとかはやりたくないのですがいい方法は無いでしょうか?

705:デフォルトの名無しさん
09/10/28 15:39:11
何気に2005以前のユーザーは年末までに買えばアップグレード料金でとか
いう戦略でアップグレードしてる奴多そうだな。


706:704
09/10/28 18:35:39
すいません、他スレで聞いてみるので質問を取り消します。

707:デフォルトの名無しさん
09/11/14 15:36:17
delphi5と6(フリー版)、TURBODELPHIを使っています。
次のようなプログラムを考えています。

プログラムを起動

ファイル(群)を選択

選択したファイル(群)をプログラムに取り込み(一つのファイルにする)パスワードをかける。

取り込み処理終わり


復元処理

プログラムを実行、パスワードを入力

一定回数パスワードを間違えたら、プログラムごとファイルを消去。

こういう事って可能ですか?
取り込み処理では圧縮をしてもしなくても構いませんが、最終的に一つのファイルになるのが必須です。

708:デフォルトの名無しさん
09/11/14 16:31:36
そりゃできるのは当たり前だけど、そういう動作はいかがなものかと思うが

709:デフォルトの名無しさん
09/11/14 16:33:13
第一自身を消去したところであらかじめコピーをされてたら何の意味もない

710:707
09/11/14 19:38:02
>>708、709

>>あらかじめコピーをされてたら何の意味もない
それについては次のステップの課題なんだけど、コピーをされたら内部で「パスワード」を変更するようにする。
つまり、永久に開く事が不可能となる、というのを考えている。

>>そういう動作はいかがなものかと思うが
これは、セキュリティ対策の一環としてアイデアが出たモノで、これで決定というわけではない。
ただ、試行して結果が好ましかったら本採用になる。
というわけで、いくつかある仕様の一つなので、今の段階では善し悪しが判定できない。


という事情があります。

711:デフォルトの名無しさん
09/11/14 19:48:14
>>710
コピーされたかどうかが分かるぐらいなら、ソフトの不法コピー問題なんて起こらないよ

712:デフォルトの名無しさん
09/11/14 22:09:53
>710
なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。
もういちどスタートラインに戻って考え直してみてはいかが?

713:デフォルトの名無しさん
09/11/15 02:54:06
>>710
それが可能かどうか判断が付かないレベルでは、作るのは到底無理だと思うよ

714:デフォルトの名無しさん
09/11/15 02:56:31
>>711
ファイルシステムから作れば可能ではあると思うよw

715:デフォルトの名無しさん
09/11/15 08:45:08
>>710
まず先に、OSのファイルコピーなどをフックするrootkitをインストールか動作させる必要があるなw

716:デフォルトの名無しさん
09/11/15 08:47:03
ああでも、あらかじめコピーしたら意味ないかw他のOSでブートしてコピーとか、ファイル共有越しにコピーとかいくらでも方法あるな

717:デフォルトの名無しさん
09/11/15 09:42:22
すべてのOSに常駐してコピーを監視するウィルスのようなソフトを作るとかw

718:デフォルトの名無しさん
09/11/15 18:04:25
6なんですが、本体が手に入ったとして、インストール番号とかは現在も取得できるのでしょうか?
以下のURLを見ると、インストール番号などがないと使用許諾コードを取得できないようなのですが。
URLリンク(edn.embarcadero.com)

719:デフォルトの名無しさん
09/11/15 18:16:41
電話すればいいんだっけ?

720:デフォルトの名無しさん
09/11/18 22:29:21
URLリンク(www.eurus.dti.ne.jp)
delphiで画像の一番上左から4番目のワードアートと似たような文字を表示したいのですが、
可能でしょうか?
win32apiのパスを使えばできそうだけど、分からないですorz

721:デフォルトの名無しさん
09/11/18 23:36:43
ok

722:デフォルトの名無しさん
09/11/20 11:01:05
>>720
Officeのワードアート機能を使うサンプルは見たことがあるけど
直接表示するのは知らないなあ。

723:デフォルトの名無しさん
09/11/20 20:42:25
これか?
URLリンク(hpcgi1.nifty.com)

724:デフォルトの名無しさん
09/11/21 20:56:27
>>723
そんな感じです!文字を変形させるのに使う計算が理解できなくて苦しんでます。

URLリンク(www.geocities.jp)
これを元にやってみてはいるんですが、うまくいかないorz

725:デフォルトの名無しさん
09/11/26 17:43:14
までも無料版のdelfaiってあるのですか?

726:デフォルトの名無しさん
09/12/01 19:06:18
誰かくだすれ建てないのかな
俺のホストじゃ無理だった

727:デフォルトの名無しさん
09/12/02 00:20:06
>>726 俺じゃないが
スレリンク(tech板)

728:デフォルトの名無しさん
09/12/03 17:30:13
デルフォイ デルフォイ

729:デフォルトの名無しさん
09/12/05 00:23:18
TMemorystreamの基本的な使い方を教えて下さい。
・整数値を書き込む、読み出す
・文字列を書き込む、読み出す
・あるアドレスからあるサイズだけ読み出すってのがわかりません。

730:デフォルトの名無しさん
09/12/05 01:53:26
マルチ乙

731:デフォルトの名無しさん
09/12/05 09:00:01
>729
その前に派生元であるTStreamの使い方を調べるべきだ。

>730
またお前か。さっさと吊れ。


732:デフォルトの名無しさん
09/12/05 16:02:24
さっさと吊れ(キリッ

だってw
くっさww

733:デフォルトの名無しさん
09/12/05 19:53:23
キモイ

734:デフォルトの名無しさん
09/12/05 23:01:04
>>732
       _, ._   んもー / NMO
     ( ・ω・)
     ○={=}〇,
      |:::::::::\, ', ´
   .wwし w`(.@)wwwwwwww

735:デフォルトの名無しさん
09/12/05 23:57:36
さっさと吊れ(キリッ

だってv
くっさvv

736:デフォルトの名無しさん
09/12/07 22:09:28
case文なんてelseifがあればいらねんじゃね

737:デフォルトの名無しさん
09/12/07 23:14:26
     /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ    ___
     /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、  /     ヽ
    /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/  リ!: ::/ノ  l`ヽl !: : |: : : :l: :l: リ / そ そ お \
   /: : ヽヾ/: : l/::l |/|||llllヾ,、  / |: :/ , -==、 l\:::|: : : :|i: | /   う う  前  |
.   /: : : //ヾ ; :|!: イ、||ll|||||::||    ノノ  イ|||||||ヾ、 |: ::|!: : イ: ::|/   な 思 が
   /: : ://: : :ヽソ::ヽl |{ i||ll"ン    ´   i| l|||l"l `|: /|: : /'!/l     ん う
 ∠: : : ~: : : : : : : :丶ゝ-―-      ,  ー=z_ソ   |/ ハメ;, :: ::|.   だ ん
   i|::ハ: : : : : : : : : : : 、ヘヘヘヘ     、  ヘヘヘヘヘ /: : : : : \,|.   ろ な
   |!l |: : : : : : : : :、: ::\    、-―-,      / : : :丶;,,;,:ミヽ   う  ら
     丶: :ハ、lヽ: :ヽ: : ::\__  `~ "      /: : ト; lヽ)   ゝ
       レ `| `、l`、>=ニ´        ,  _´ : :} `   /
         ,,、r"^~´"''''"t-`r、 _  -、 ´ヽノ \ノ   /    お ・
       ,;'~  _r-- 、__     ~f、_>'、_         |  で  前 ・
      f~  ,;"     ~"t___    ミ、 ^'t         |  は  ん ・
      ,"  ,~         ヾ~'-、__ ミ_ξ丶     |  な  中 ・
     ;'  ,イ ..          ヽ_   ヾ、0ヽ丶    l         /
     ( ;":: |: :: ..          .`,   ヾ 丶 !    \____/
     ;;;; :: 入:: :: ::      l`ー-、   )l   ヾ 丶
     "~、ソ:: :い:: :     \_  ノ ,    ヾ 丶

738:デフォルトの名無しさん
09/12/07 23:23:22
まあ、10年ぶりにプログラム組もうとしたら、すっかり
頭の中がリセットされていたことに笑いが止まらなかった。

739:デフォルトの名無しさん
09/12/08 08:17:29
ならデルヒなんてやめとけ

740:デフォルトの名無しさん
09/12/08 14:12:11
>>739
      ____
     /      \
    /|   _ =    ミ
   彡  -、 , 、 _,-  ミ _
   { `| ,=・ァ = ,r・=、, |´ }
   ヽ{!  '" , ',:、 '" ,' |}ノ   黙れ小僧!
    |  /`'ー'"ヽ- ト、
__,.-ヽ ノー=-' } /:: \_
: : : : : :/`ー、__ノ-'/ : : : |: :`ー
: : : : く: /:| \_,.-"/:: : : : |: : :
: : : : /: : :|/|:::∧ /:: : : /: : :
: : : :|: : : : :| /:く /:: : : ;\: : : :
: : : :|: : : : :|'::::::::/: : :◎: :/: : : :

741:デフォルトの名無しさん
09/12/11 16:05:26
TStringGridを継承したコンポーネントを作ってるんですが、設計の都合でVCLのGrid.pasを
改造する必要が出てきました。

今作ってるコンポーネント以外にはGrid.pasの変更を波及させたくないので、コンポーネントの
プロジェクトからだけ改造したGrid.pasを参照するようにしたいんですが、うまく行きません。
ソースコード上はAlt+↑で継承元を辿っていくとちゃんと改造したGrid.pasに辿り着くんですが、
いざコンパイルを掛けるとTCustmoGridに追加した変数が認識されずエラーとなります。

こういう場合はどうしたら良いでしょうか?

 A.諦めて継承先のコンポーネントで何とかする
 B.DELPHIが参照しているVCL本体を置き換える。
 C.改造したGrid.pasをGrid2.pasのように別名保存し、コンポーネントのプロジェクト内では
  Grid.pasの代わりにGrid2.pasを参照する。

のような案を考えましたが、他に何か良い案が有れば宜しくお願いします。

742:デフォルトの名無しさん
09/12/11 16:14:00
修正部分だけコーディングしてあとは元のコードを使うようにできるんじゃなかったっけ?
それくらいじゃ対処できないってんならC案だろうけど。

743:デフォルトの名無しさん
09/12/11 16:43:05
>>741
プロジェクトのフォルダに改造したGrid.pasを入れればそっちを参照するんじゃない?
その方法が開発チーム内で許されていればだけど。

744:デフォルトの名無しさん
09/12/12 00:33:54
そもそもGrid.pasを改造する必要が本当にあったのか

745:741
09/12/14 03:56:07
今作ってるプロジェクトはパッケージなんですが、通常のプロジェクトとは違って>>743の方法が使えないみたいです。
containsにGrids.pasを書くと、
「パッケージ 'vcl' はすでにユニット 'Grids' を含んでいます」
というエラーが発生してコンパイルできません。
containsに書かずにプロジェクトのソースディレクトリにGrids.pasを置くとvclパッケージ内部のGrids.pasが優先して参照されてしまいます。

継承先でどうにかする方法も模索中ですが、TCustomGridがprivateで持っているメンバーにたくさんアクセスする必要があるため難航しています。

746:デフォルトの名無しさん
09/12/14 10:30:49
ひょっとして「実行時パッケージを使って構築」にチェック入れてる?
vclを外す事は許されないんだろうか。

747:デフォルトの名無しさん
09/12/14 13:53:58
>>745
対象バージョンが固定ならprivateメンバーにアクセスする方法はいくらでもある
まあ別にバージョン固定じゃなくてもその分分岐すればいいんだけど

748:741
09/12/17 19:21:57
>>746

チェックは入れていません。
というかチェックボックスが触れない状態です。

>>747

例えばどんな方法が有るでしょうか?

749:デフォルトの名無しさん
09/12/17 22:12:16
すみません。教えて下さい。

TClientDataSet が保っているデータセットを
結合して1つのDBGridに表示したいのですが、
どうすればいいでしょうか?

宜しくお願いします。

750:デフォルトの名無しさん
09/12/17 23:15:32
>>749
一方のDataSetにFieldKindがfkLookupの
TFieldを用意し、他方のDataSetを参照すればいけそう。な気
がする。

やり方
URLリンク(docwiki.embarcadero.com)参照項目を
定義する


751:デフォルトの名無しさん
09/12/17 23:25:32
>>748
最初に確認すべきだったけど、Delphiのバージョンとエディションは?

752:デフォルトの名無しさん
09/12/17 23:45:34
>>750
的確なアドバイスありがとうございました。

これで眠れそうです。

753:デフォルトの名無しさん
09/12/18 00:05:15
>>748
TObjectからTCustomGridまでに宣言されてるすべてのメンバー変数を抽出して、
それをレコードか何かとして宣言して、インスタンスをそのレコードでキャストすれば直接アクセスできる
それぞれの変数間に詰め物もあるけど、その辺はデバッガでメモリ覗く等して一度調べればOK
多少語弊があるかもしれないけど、簡単に言えばクラスってのは継承できるレコードに過ぎないからね

他にもprivate変数をpublicにしただけのクローンクラスを作ってキャストしても同じ効果が得られる
もちろん目的のprivate変数自体のオフセットが分かってればインスタンスアドレスから直接取り出した方が早いけど
ただしこの説明で何やってるかピンと来なければ危険なのでやらない方がいい

754:デフォルトの名無しさん
09/12/19 03:15:07
オブジェクト指向における継承の概念をしっかり理解しない人が
コンポーネント改造しようだなんて10年早い

755:デフォルトの名無しさん
09/12/19 04:03:16
こういうことを書いてる人が本当に理解できてた例を見た試しがない

756:デフォルトの名無しさん
09/12/19 04:49:30
ftTimestamp型が使えなくて泣いてみたりして

757:デフォルトの名無しさん
10/01/13 14:25:34
フォルダ作成機能付きのフォルダ選択ダイアログありますか?

758:デフォルトの名無しさん
10/01/13 14:33:43
>>757
SelectDirectory(Delphi2009で確認)

759:デフォルトの名無しさん
10/01/13 16:19:00
BDEを使わずにODBCアクセスってどうやれば良いですか?

760:デフォルトの名無しさん
10/01/13 20:57:58
がんばる

761:デフォルトの名無しさん
10/01/14 00:03:06
つActiveX


762:デフォルトの名無しさん
10/01/14 14:09:31
ActiveXでODBCアクセスって出来ましたっけ?

763:デフォルトの名無しさん
10/01/15 10:30:36
ADOがあるじゃない

764:デフォルトの名無しさん
10/03/24 23:33:45
URLリンク(sites.google.com)

765:デフォルトの名無しさん
10/03/27 18:22:08
Delphi の購入で、Pro版かEnt版かで悩んでいます。
開発ターゲットは、SQLServerを使うDBアプリです。

Ent版ならSQLServerのNativeDriverが付いてきますよね。
でも、Pro版でもADOやODBC経由でSQLserverを使えるはず。

ADOやODBC経由と比較し、NativeDriveerが使えるメリットって、
何があるのでしょうか?


766:デフォルトの名無しさん
10/03/27 18:31:43
・Delphi付属のDBコンポーネントが使える
・SQLServerの全機能をDelphiから扱える


767:デフォルトの名無しさん
10/03/27 21:07:41
リモートでDBXを使える(ProはDBXをリモートで使えない)。

768:デフォルトの名無しさん
10/04/03 18:51:03
>>767が、とっても重要で見落としてはいけないことを言った

769:デフォルトの名無しさん
10/04/07 18:11:25
フォームのクライアント領域の一部に長方形や円を描きたいと思い、フォームのOnPaintで

Self.Canvas.Brush.Color := clBlack;
Self.Canvas.Rectangle(10, 10, 200, 100);

のようにしました。
この描画結果をデザイン時でもに見えるようにするにはどうしたら良いでしょうか?
フォーム自体のコードではデザイン時に無反応なので無理だと判断しています。

そこで、試しにカスタムコンポーネントTDrawTestを作って

constructor TDrawTest.Create(AOwner: TComponent);
begin
 inherited;
 if AOwner is TForm then begin
  FParent := TForm(AOwner);
  FParent.OnPaint := Self.ParentDraw;
  FParent.OnResize := Self.ParentDraw;
 end;
end;

procedure TDrawTest.ParentDraw(Sender: TObject);
begin
 FParent.Canvas.Brush.Color := clBlack;
 FParent.Canvas.Rectangle(10, 10, 200, 100);
end;

のようにしてやり、このコンポーネントを対象のフォームに配置しました。
すると、デザイン時にフォームをリサイズした時に長方形が描画されたのですが、フォームを他の画面の後ろに隠して再び前に出した時など、サイズ変更が伴わない再描画処理では長方形が描画されませんでした。
処理対象のイベントを増やしていけば一応は動作するのでしょうが、根本的に方法がおかしいような気もします。
何か良い方法は無いでしょうか?

770:デフォルトの名無しさん
10/04/07 20:03:16
新規作成→ダイアログで作ったダイアログでOKを押しても
条件によって、そのダイアログを表示し続けるにはどうしたらいいですか?


771:デフォルトの名無しさん
10/04/07 22:21:30
フォーム(ダイアログ)のOnCloseQueryでCanCloseにFalseを設定する。

772:770
10/04/08 10:10:55
トンです。

773:デフォルトの名無しさん
10/04/13 17:59:42
IdHTTPでgetメソッド行うときってtimeout設定出来ましたっけ?

timeoutでググルと下が出てきましたがエラー一覧だった:

URLリンク(mrxray.on.coocan.jp)


774:デフォルトの名無しさん
10/04/14 00:28:13
Indy10ならTIdHTTP.ReadTimeoutはどう?

775:773
10/04/14 11:42:49
C++ Builder 6なので、TIdHTTP.ReadTimeoutが無いみたいです。

実際に発生しているエラーは、
Getメソッドを繰り返し行って4回目くらいに、Connection Closed Gracefully、が発生です。
どうもPCのスペックが悪いのか(Win7のネットブック)、時間がかかってるのが目に見えるようなのでやっぱタイムアウトかな、と思います。

776:デフォルトの名無しさん
10/04/14 13:54:12
Gracefullyの意味を辞書で調べてくるといいと思うよ^^

777:773
10/04/14 13:58:30

URLリンク(hpcgi1.nifty.com)
(FTPですが)にも書いてあるように、
VCLコントロールが内部から投げてる例外って意味ですが、
やっぱ、その場合にもエラー処理を行うのが対処みたいで、
正常終了ということでは無さそうです。

実際、
>Connection Closed Gracefully
が発生しているのは、
何十~何百台あるPCの1、2台だけっぽいです。

778:デフォルトの名無しさん
10/04/14 20:08:50
ネットワークものは素人の推測でどうこうするのではなく、まずはWiresharkでパケットをキャプれ。
話はそれからだ。

TIdHTTP.ReadTimeoutはIndy9にもある。というかあんまり古いバージョンはお勧めしない。
C++Builder6ならIndy9まではあげたほうがいい。

779:デフォルトの名無しさん
10/04/14 21:32:31
>>775
Connection Closed Gracefullyがでるときは大抵POSTミスやら通信ミスってるだけだろ

780:デフォルトの名無しさん
10/04/14 22:24:20
Connection Closed Gracefully自体には悪い意味はなくGracefull shutdown(URLリンク(msdn.microsoft.com))
のことだろ?たぶん。Gracefullな手順踏んで正常にコネクションが切断されただけだろ。
タイムアウトじゃねぇかな。

781:デフォルトの名無しさん
10/04/14 22:33:06
うそ書いた。正常にコネクション切断されたなら、タイムアウトすると矛盾するな。
すまそ。

782:デフォルトの名無しさん
10/04/15 14:24:25
HTTP 1.0と1.1の違い知ってる? 前者はコネクションをいちいち切る 後者はつなげたまま

783:デフォルトの名無しさん
10/04/16 16:25:23
Delphi 2010に、TurboPower SysToolsをインストールしようとしています。
EDN(エンバカデロデベロッパーネットワーク)のWebページの通りにインストールしたのですが、
コンパイルエラーになってしまいます。
エラーメッセージとエラー箇所のコードを下記に示します。
対処方法を教えていただけないでしょうか?


■エラーメッセージは次の通りです。
 [DCC エラー] StBarC.pas(1751): E2030 case 文のラベルが重複して定義されています
 [DCC 警告] StBarC.pas(1752): W1063 指定された AnsiChar 定数 (#$84) を WideChar に
   拡大変換した結果、情報が失われました

■エラー箇所のコードは次の通りです。
 > procedure GetACode128CDigit (c : Char; var Index : Integer;
 > var bcDigitPos : Integer);
 > var
 > J : Integer;
 >
 > begin
 > case (c) of
 > #130 : bcDigits[bcDigitPos + 1] := 98; {rest are manufactured characters}
 > #131 : bcDigits[bcDigitPos + 1] := 97;  <- ★ここで上記のコンパイルエラーになります★



784:デフォルトの名無しさん
10/04/16 19:05:28
AnsiChar(c)

785:デフォルトの名無しさん
10/04/16 21:21:42
>>784
ありがとう。やってみます。

Delphi2010+TurboPowerSysToolsのインストール解説ページにソースコードの
変更が必要など書いてなかったです。
必要なら書いてほしいなぁ・・・

786:デフォルトの名無しさん
10/04/24 06:25:15
>>783
Delphi 2010に、TurboPower SysToolsをインストールするHPって、
 URLリンク(edn.embarcadero.com)
だよな。
公式ページに掲載されてる情報なんだから、コード修正なんて不要だと思うのだが。


787:デフォルトの名無しさん
10/04/24 13:21:27
やってみてから言えよ屑

788:デフォルトの名無しさん
10/04/25 04:57:24
やってみました。

確かに StBarC.pas の数箇所で変更が必要です。
修正箇所は、こんな感じ。

修正前: Case c :
修正後: Case AnsiChar(c) :

修正前: if c in [...]
修正後:if CharInSet(c, [...])


>>787
批判するだけで建設的な意見を書き込めない「無能者」は、
どんな社会でも受け入れられないでしょう。
幸いにも受け入れられる社会を見つけても、そこはキミと同じ無能者
の巣窟だろうね。


789:デフォルトの名無しさん
10/04/25 07:31:19
マジになんなよ

790:デフォルトの名無しさん
10/04/26 03:45:29
>>788
公式だからと鵜呑みにしたのは無能じゃないの?
馬鹿なの?

791:デフォルトの名無しさん
10/04/26 15:14:30
>>788
見当違いの>>786みたいなレスも社会では受け入れられないよね、無能の屑さん^^

792:デフォルトの名無しさん
10/04/27 20:09:24
デルフィアン!

793:デフォルトの名無しさん
10/04/28 21:01:59
スペル・デルフィン

794:デフォルトの名無しさん
10/05/10 19:51:14
delphi使っている人って、
独法などで研究やっている人が多いんだよね?ちがう?

795:デフォルトの名無しさん
10/05/11 00:03:18
ちがうね

796:デフォルトの名無しさん
10/05/14 12:00:40
おじゃまします、IDE上で、コード上の大文字/小文字の区別をさせる、何かしらの設定みたいなものって無いんでしょうか
とりあえずヘルプなど当たってみましたが、見つけることができませんでした

例えばMessageBoxとmessageBoxを区別したい(表記が統一されていなければわかるようにしたい)のですが…

797:デフォルトの名無しさん
10/05/14 12:04:26
>>796
何したいのかよくわかんないけど、検索のオプションには大小区別のオプションはあるよ。

798:デフォルトの名無しさん
10/05/14 15:36:56
なるほど、レスありがとうございます

いえ、色々な人間がコーディングしていると、人によってはMessageBoxだったり、またある人はmessageboxだったり、messageBOXだったり、まちまちになるとソースが読みにくくなるんです。
まぁ一括置換をしてやれば良いんですが、できればコーディングしている段階で、その人がわかるようにコンパイルで弾いてやれないかなと思ったんです

神経質といえば神経質ですね

799:デフォルトの名無しさん
10/05/15 13:46:44
Canvasにアルミのヘアライン仕上げみたいな描画をしたいのですが、
やり方載ってるページとか無いですかね?

検索してもPhotoshopでのやり方とかは出てくるんですがねぇ・・・
Bitmapに保存しておいて、それを貼り付ける方法も考えたのですが、
出来れば、コードで描きたいんですけど。



800:デフォルトの名無しさん
10/05/15 18:39:30
>799
漏れはプログラムは組めるが絵心が無いんで
Illustratorでヘアライン仕上げみたいな描画をする方法を教えてくれ。
そうしたら実現コード考えてもいい。

801:デフォルトの名無しさん
10/05/17 11:34:05
タイマーをいくつも使ってイベントで処理するのと、
マルチスレッドってやつ使うのとは何が違うの?
タイマー使った方がお手軽に並列処理出来ると思ったけど
違うっぽいんで教えてくだしゃぁ

802:デフォルトの名無しさん
10/05/17 15:24:36
>>800

すみません、規制で書き込みませんでした。


URLリンク(detail.chiebukuro.yahoo.co.jp)

こんな感じですが。
よろしくお願いします。



803:デフォルトの名無しさん
10/05/17 15:46:02
>>801

タイマーのインターバルを50msec位にして、タイマーのイベントで100msec位かかる処理を行うとどうなりますか?
また、スレッドを50msec毎に作成して100msec位かかる処理を行うとどうなりますか?



804:デフォルトの名無しさん
10/05/17 22:31:38
>801
タイマを使うってのはメインスレッドの中で処理が順次行われていくってこと。例えていうなら
中の人が5分おきに電話で起こされて仕事をしてまた寝るってのを繰り返す感じ。だから
処理は並行には行われない。それに対してスレッドのほうは中の人を5人用意してそれぞれに
仕事を割り振って一斉に(でなくてもいいけど)平行して仕事をしてもらう。でも1つしかない
資源は排他的に扱う(一度に一人だけが使用する)ようにしなければならない。

勘違いしやすいのは、タイマはタイマ割り込みではなく、指定した時間が経過したことを
示すフラグでしかない(WM_TIMERはフラグが立ったことの通知)というあたり。

805:デフォルトの名無しさん
10/05/17 23:45:33
>>803,804
ありがとうございました。
すっきりしますた。

806:デフォルトの名無しさん
10/05/18 01:06:28
>>802
なんかオレにも出来そうだな。
ちょっと書いてみるか。

807:デフォルトの名無しさん
10/05/21 12:26:43
複数のスレッドが並列処理されることは保証されるの? 片方のスレッドが停滞することは
ありえないの?

808:デフォルトの名無しさん
10/05/21 12:48:02
>>803の答えはどうなるの? タイマは呼び出しスタックが積み上がるイメージだけど

809:デフォルトの名無しさん
10/05/21 13:35:27
>>807
マルチタスクで片方のタスクが停滞することはありえないの?

810:806
10/05/22 21:35:02
挫折

811:デフォルトの名無しさん
10/05/24 14:48:48
Exeのアイコンをタスクバーでは非表示にして、
タスクバーのツールバー(?)に表示するには、
どうしたら良いのでしょう?

812:デフォルトの名無しさん
10/05/24 15:15:45
タスクトレイ?

813:デフォルトの名無しさん
10/05/24 15:51:40
その通りです!!!

タスクバーのアイコンを非表示にして、タスクトレイにアイコンを表示したいでつ。

814:デフォルトの名無しさん
10/05/24 16:10:48
そうか。わかった。

815:デフォルトの名無しさん
10/05/24 16:12:33
教えて下さいorz

816:デフォルトの名無しさん
10/05/24 16:23:18
>>815
えっと、質問何だったっけ?

817:デフォルトの名無しさん
10/05/24 17:19:24
見つけました:

URLリンク(kazina.seesaa.net)

818:デフォルトの名無しさん
10/05/27 11:18:13
Delphi 6 を最近始めました。
 シリアル通信で マイクロソフトのActiveX MSCOMM32.OCX を使った場合
 処理の途中でポートが開いているか判別するのに

if MSComm1.PortOpen = False then // クローズ状態
begin
{ ポートがクローズしていた場合の処理 }
end else
begin
{ ポートがオープンしていた場合の処理 }
end;

とやるところを、CommX で
URLリンク(www.moriq.com)
URLリンク(www.moriq.com)

TCommX.Handleプロパティ
>property Handle: THandle;
>通信ハンドルの値を示します。

819:デフォルトの名無しさん
10/05/27 11:19:16
-続き-

>このプロパティは、拡張のために用意されています。
>また、オープンされていない状態のときは、
>必ず -1 となるので通信コンポーネントの状態を知ることもできます。
とあるので

if CommX1.Handle = -1 then // クローズ状態?
begin
{ ポートがクローズしていた場合の処理 }
end else
begin
{ ポートがオープンしていた場合の処理 }
end;

とやってもポートopen/close 関わらず片一方の処理しかできません。
ポートの開閉状態を知るのに何かコツでもあるのでしょうか?
検索を掛けても、手動でボタンなどを操作するソースばかりでわかりません。
壮絶な勘違いをしているかもしれませんが、教えてください。

820:818-819 です
10/05/27 17:43:42
半分 自己解決です。
この場合の if CommX1.Handle = -1 then
-1は
Integer型「符号あり整数値」= -1
 じゃなくて
Cardinal(UINT)型 = 4294967295
 になるんですね・・・

又は 16進数で = FFFFFFFF

if CommX1.Handle = 4294967295 then
if CommX1.Handle = $FFFFFFFF then

で逝けました・・・

821:デフォルトの名無しさん
10/05/27 21:00:45
つ INVALID_HANDLE_VALUE

822:818-819 です
10/05/27 22:47:47
>>821 (〃▽〃) おぉそのような文字列があったのですね・・・

しかし、MSCOMM32.OCX から CommX に変えると、シリアル経由で
1秒間隔毎にだらだらと送られてくる文字を足していって #13#10 で区切って文字列にし、
必用な部分を抜いて、別に送ると
これまでの約5倍ほどの遅延が発生するようになってしまいました。

URLリンク(sourceforge.net)
TComPort に切り替えて読み込みの遅延は押さえ込めそうなのですが、
今度は>>818 の処理をさせる書式が見当たりません。
どなたか判る方、教えていただけませんでしょうか?

823:デフォルトの名無しさん
10/05/27 22:56:05
遅延はやり方が悪いだけだろ

824:デフォルトの名無しさん
10/05/27 23:55:38
>822
つ Connected

825:824
10/05/28 00:00:45
>822
あ、OnRxCharのようなデータの受信イベントで処理するのが常道だから。

826:818-819 です
10/05/28 01:56:16
>>824
行けました・・とサクっと書きたかったのですが、
最初入れていたのが TComPort component version 1.50 で、その書式だとエラー
なんとか比較的新しいコンポーネントに入れなおして突破できました。
ありがとうございました。
>>825 地道に理解していきます m(_ _)m

827:デフォルトの名無しさん
10/06/18 14:29:38
BDE無しでODBC使いたいです。

828:デフォルトの名無しさん
10/06/18 16:33:12
ADOは?

829:827
10/06/18 17:01:15


実は、C++ Builder 6 なんですが、ADO経由でODBC出来るんでしたっけ?

830:デフォルトの名無しさん
10/06/18 17:07:22
URLリンク(detail.chiebukuro.yahoo.co.jp)

831:827
10/06/18 17:09:14


とりあえず、ADOアクセス検討してみまつ。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch