Delphi初心者のための ..
[2ch|▼Menu]
577:デフォルトの名無しさん
08/08/29 21:29:26
まあどうしてもやりたいなら止めない。

URLリンク(www.google.com)

この辺りでも参考にしてくれ。

578:デフォルトの名無しさん
08/08/31 01:49:12
あ、俺は逆のパターンを知りたい。
文字列フィールドに入りきれない文字列を画像に変換してBLOBに保存する、って無理?

579:デフォルトの名無しさん
08/08/31 11:22:22
>>578
使用してるDBが分からないけど、Delphiからということを考慮するとFirebirdか?

もしそうなら、難しいこと考えず、サブタイプが1(テキスト)のBLOG作ればいいんじゃないのかな?

ほかのDBだと、
PostgreSQLはTEXT型があるから、意識する必要なし
SQL Serverも、2005からVARCHAR(MAX)があるから、意識する必要なし
MYSQLもTEXT型があるみたいだ
ORCLE, DB2はシラネ


580:デフォルトの名無しさん
08/08/31 11:37:40
>>579

ローカルで火鳥かMSQLか何かの組み込みエンジン(まぁ、これは何でもよい。)、相手先はOracle。

Oracleにはあらかじめ定義された文字・数値項目と画像の入力ができる。
しかし、設計が追いついていないため、利用者で必要な情報を入力する文字項目が足りない。
画像なら何十枚でも追加可能。

そこで、ローカル情報を画像に変換してオラクル側に画像として保存すれば、当面は事足りるってこと。
もちろん取り出したら、ローカル側では文字情報に戻す。

その時の変換作業用っていうか、状態確認用みたいなので、ローカルでも同じものを保存しておきたい。

と言うことなんだけど。

581:デフォルトの名無しさん
08/09/01 07:15:35
EditでIMEがOn/Offで背景色を変えたいんだけど
そういったサンプルコードないですか?

582:デフォルトの名無しさん
08/09/01 19:27:39
無いな。だがヒントだけ教えてやろう。
IMEの状態が変わるときのメッセージ(WM_IME_NOTIFY)を受けたら
IMEの状態を取得して、ONの時はColorプロパティを適当な色に変えれば良いんだ。

583:デフォルトの名無しさん
08/09/02 01:05:42
処理が大まかに2つあってタイマーを使って繰り返したい(Intervalはどちらも同じで問題ない)場合
タイマーを一つだけ使うのと、処理それぞれでタイマーを作るのでどっちが一般的なんでしょうか?
また、どっちが軽くなるんでしょうか?
よろしくお願いします。

584:デフォルトの名無しさん
08/09/02 03:24:52
Intervalが同じならとりあえず一つで十分だろう。
タイマー二つまわすよりも一つの方が理屈としては軽い。
ただタイマーごときで重くなるようなPCは今時存在しない。

585:デフォルトの名無しさん
08/09/02 03:31:58
>>584
ありがとうございます!
助かりました


586:デフォルトの名無しさん
08/09/08 08:07:01
あの・・単純な質問なのですが、TChartコンポーネントを使って
凡例を表示させると、凡例がグラフの裏側へと隠れてしまいます。
(枠の端っこのちょっとだけ見えている状態です)

これをグラフよりも手前に表示させる方法を教えてください・・

587:デフォルトの名無しさん
08/09/08 20:01:27
ソフト公開所
スレリンク(mitemite板)
こういうスレつくってみた。

588:デフォルトの名無しさん
08/09/09 06:27:01
アップローダもなしに何をどう公開しろと・・・

589:デフォルトの名無しさん
08/09/10 14:49:55
板違いで失礼します。
Linux環境にてDelphi互換のLazarusをインストールして使いたいと思い
freePascal本体、Freepascalのソース、Lazarus本体をインストール致しました。
Lazarusは立ち上がり、ソース入力後
いざ実行というときに、コンパイラに弾かれてしまいます。

以下エラーメッセージです。
/usr/bin/ld: cannot find -lX11
project1.lpr(17,1) Error: Error while linking
project1.lpr(17,1) Fatal: There were 1 errors compiling module, stopping

リンク関係の設定を何かはじめに行なわないといけないのでしょうか?
もし、ご存じの方いらっしゃいましたらご教授ください。
よろしくおねがいします。

590:デフォルトの名無しさん
08/09/10 18:39:03
>>589
とりあえずこういうスレがあるからそちらで聞くとよいと思われ。

【Delphi互換!?】FreePascal【GPL】
スレリンク(tech板)l50



591:589
08/09/11 09:58:00
>>590
ありがとうございました。
教えていただいた、スレを拝見致しまして
無事解決することができました!

592:デフォルトの名無しさん
08/09/12 13:51:14
ウィンドウっとか、オブジェクトってフォームデザイナで作っておかないとだめなんでしょうか?
ユーザーの処理にあわせて、新しいフォームを作り、そこに画像を表示させたいんです。
元々用意しとくんじゃなくて、いくらでも増やせていけるように。

たとえばフォトショップでいくらでも画像ひらいて、どんどんウィンドウ増えるじゃないですか。
あーいう感じです。

593:デフォルトの名無しさん
08/09/12 13:59:37
インスタンスをどんどん作ればいいじゃね?

TForm1=class(TForm)
end;

forms: array of TForm1

SetLenght( forms, 10 );
for i := 0 to 9 do
  forms[i] := TForm1.Create( Self );

って感じで。

これだったら、デザイナで1つ作って、実行時は10個フォームが出きるが。


594:デフォルトの名無しさん
08/09/12 15:03:51
ありがとうございます。
このフォームの上につくるオブジェクトもこれでOKですかね。
いわゆる動的生成をやるってことですよね?

595:デフォルトの名無しさん
08/09/12 15:13:38
そうです。

フォーム上のObjectが同じなら最初にデザイナで作っておく。
フォームごとに変わるなら、それぞれ、動的作成するんだけど、
動的作成しなければいけないObjectが多数ある場合は、
デザイナで作った方が簡単だと思う。



596:デフォルトの名無しさん
08/09/12 15:49:30
ありがとうございました!

597:デフォルトの名無しさん
08/09/17 18:27:00
>>588
アップローダー作ったら公開してくれるの?

598:デフォルトの名無しさん
08/09/18 00:30:44
>>597
半年ROMれ

599:デフォルトの名無しさん
08/09/18 00:35:40
---------半年後----------

600:デフォルトの名無しさん
08/09/18 00:47:11
最終回か…。

601:デフォルトの名無しさん
08/09/20 21:18:10


602:デフォルトの名無しさん
08/10/11 15:50:00
>>529 3の倍数はアホになれ

603:デフォルトの名無しさん
08/11/18 23:02:01
十年ほど初心者やってるんですが、先ほどFastCodeを知り試してみました
D5にFastCode.Libraries-0.6.4入れたらStrUtils.pasなど新しいものが入っていないので断念して
某所さんの古い記事にあった「詰め合わせセット RTL Replacement Pkg v0.3」を入れました
>Delphi 4 以降に対応しています。私はまだ試していないのですが、Delphi 7 以前では特にお勧めだと思います。
とあったのですがやはりエラーの嵐でサンプルすらコンパイル出来ませんでした

どなたかD5で使っておられる方は居ませんでしょうか?
D2007も持ってはいるんですが起動時間や手軽さからD5は手放せないのです

604:デフォルトの名無しさん
08/11/18 23:27:22
すなおにD2007

605:デフォルトの名無しさん
08/11/18 23:29:02
>>603
D5持ってたらなんなの?

606:デフォルトの名無しさん
08/11/18 23:35:15
>>604
D2007ではFastCodeの効果ありますでしょうか?

607:デフォルトの名無しさん
08/11/18 23:35:47
>>605
いえ、FastCodeの話です

608:デフォルトの名無しさん
08/11/19 00:44:33
D2007はFastCodeもFastMoveもFastMMも採用済みじゃなかったっけ?

609:デフォルトの名無しさん
08/11/19 02:09:08
FastCodeのAnsiStringReplaceは「Ansi」って付いてるけど
マルチバイト非対応なんで気を付けてね


610:デフォルトの名無しさん
08/11/19 09:14:53
FastMMは使ってるから何か分かるが、
FastCodeとかFastMoveって何?

611:デフォルトの名無しさん
08/11/19 10:24:37
グーグレ

612:デフォルトの名無しさん
08/11/19 14:31:52
>>610
標準のシステムの関数を速いのにおきかえたものただし>>609の問題があったはず

613:デフォルトの名無しさん
08/11/22 11:32:01
バグ恐いからFastMMしか使ってないな

614:デフォルトの名無しさん
09/02/02 18:23:00
ちょうどCompareMemがネックになってたんでちょっと使ってみるかな。

615:デフォルトの名無しさん
09/02/05 13:17:57
>CompareMem
kwsk

616:デフォルトの名無しさん
09/02/19 15:08:18
TMemoryStreamの先頭3バイト削除したりできますか?

617:デフォルトの名無しさん
09/02/20 00:23:17
だめです
先頭3バイト以降を別のStreamにコピーするとか
MemoryをPCharにキャストして[3]とか

618:デフォルトの名無しさん
09/02/20 07:53:17
そもそもメモリを削除ってなによ

619:デフォルトの名無しさん
09/02/21 10:04:30
cのscanf相当の関数教えて

620:デフォルトの名無しさん
09/02/21 10:27:00
>>619
その前にそのscanfとやらが、Delphiでどの関数にあたるのかを説明してくれ。

621:デフォルトの名無しさん
09/02/21 15:21:45
>>619
ないはず

622:デフォルトの名無しさん
09/02/27 16:36:03
>>619 stdioはいまさらイランと仮定して、いっかい文字列に入れてから
strtoint strtofloat strtocurr他で一個づつ変換

623:デフォルトの名無しさん
09/03/24 14:32:45
TMemoryStreamでSizeを大きくしたら、大きくなった部分NULL埋めされるんでしたっけ?

624:デフォルトの名無しさん
09/03/24 15:18:41
>>623
試すのに1分もかからないと思うが、どうよ?

625:デフォルトの名無しさん
09/06/18 20:49:46
Delphi2009 を使っています。

VCLコンポーネントから派生したコンポーネントを
作るにはどうすればいいでしょうか?

626:デフォルトの名無しさん
09/06/18 21:05:12
ウィザード一発じゃねぇの?ファイル→新規作成→その他あたり。

627:デフォルトの名無しさん
09/06/18 21:10:00
>>626
ありがとうございます。
派生したコンポーネントを使いたいのですが
どうすればいいでしょうか?

フォームに派生クラスのコントロールをどうやって置いたら
よいのかわからなくて、適当なコントロールを置いた後に
dfm ファイルを直接書き換えてみたのですが、見つからない
と言われた挙げ句、関連している pasファイルを破壊されて
しまいました。



628:デフォルトの名無しさん
09/06/18 21:14:31
コンポーネント開発は開発者ドキュメントと適当な解説書買って読まないと辛いよ。
OOPの知識なんかも結構必要になるし。

629:デフォルトの名無しさん
09/06/18 21:17:15
>>628
ありがとうございます。

ただ単純に TRadioButton の CreateParams を
オーバライドしたいだけなのです。

630:デフォルトの名無しさん
09/06/18 21:26:52
以下のようなユニットを通常の手順で作ってあとはIDEからコンポーネント|インストールで登録。
2009は持ってないから変わってるかもしれないが。

unit cMyRadioButtonEx;

uses // todo:必要なユニットを列挙

type
    TRadioButtonEx = class(TRadioButton) // or TCustomRadioButton;
        ...
    end;
   
procedure Register;

implementation

procedure Register;
begin
    RegisterComponents('Samples', [TRadioButtonEx]);
end;

// todo: TRadioButtonExの実装

end.

631:デフォルトの名無しさん
09/06/18 21:31:53
>>630
メニューには、コンポーネント|インポートと
コンポーネント|新規VCLコンポーネントの
2種類しかなく、インポートはタイプライブラリと
ActiveXコントロール、.NETアセンブリの取り込み
の3種類しかありませんでした。

新規VCLコンポーネントで派生クラスを作れるような
雰囲気でしたが、実際に操作してみると内部エラー
らしきエラーが出て処理が進まないのです。

Delphi2009はバグだらけという事で諦めるしかないの
でしょうか?

632:デフォルトの名無しさん
09/06/18 21:36:29
いまさらデルピィやる意味あんのか?
gui作るならpythonで十分だろ

633:デフォルトの名無しさん
09/06/18 21:37:49
>>632
6万もしたのに、この有様です。
泣けてきます。

634:デフォルトの名無しさん
09/06/18 21:43:29
一人で舞い上がってないで操作手順とエラーメッセージくらい書けばいいのに。
CreateParamで具体的に何指定したいかとかさ。

635:デフォルトの名無しさん
09/06/18 21:45:56
>>634
ありがとうございます。

BS_PUSHLIKEスタイルを付けたいだけなのです。

636:デフォルトの名無しさん
09/06/18 21:52:31
モジュール 'coreide120.bpl'のアドレス 206B39D7で
アドレス 00000018 に対する読み込み違反がおきました。

というエラーです。

637:デフォルトの名無しさん
09/06/18 22:28:28
ウィザード使わなくたって手で書けばいいじゃん
できたユニットをパッケージにつっこんで
右のプロジェクトマネージャからパッケージを右クリック→
インストールを選択で終わりだろ

638:デフォルトの名無しさん
09/06/18 22:32:54
>>637
それを試してみたら 636 に書いた例外が
発生して止まってしまいました。

フォームの dfm を手で編集してみると、
その フォームに関係する Pascalのソースファイルが
破壊されます。

639:デフォルトの名無しさん
09/06/18 23:36:41
unit RadioButton1;

interface

uses
 SysUtils, Classes, Controls, StdCtrls;

type
 TRadioButtonEx = class(TRadioButton)
 end;

640:デフォルトの名無しさん
09/06/18 23:37:07
procedure Register;

implementation

procedure Register;
begin
 RegisterComponents('Samples', [TRadioButtonEx]);
end;

end.

641:デフォルトの名無しさん
09/06/18 23:38:09
↑にCreateParamsを実装、パッケージに入れて>>637

642:デフォルトの名無しさん
09/06/19 01:06:47
>>638
暇だから作ってみた
URLリンク(swfup.info)
サイズ情報が間違ってるっぽいので"保存用リンク"を
クリックして見てくれ

643:デフォルトの名無しさん
09/06/19 03:57:52
update 3/4は適用した?

644:デフォルトの名無しさん
09/06/19 04:53:37
>>643
エラーが出るとか言っているから入れてなさそうだよな

645:デフォルトの名無しさん
09/06/19 11:41:58
>>642
そのまま見れるように直してみた。URLはそのまま

646:ミ,,゚Д゚彡 ◆A6VzDeLphI
09/06/19 12:27:46
親切ですね

647:デフォルトの名無しさん
09/06/19 13:32:54
>>638
ここからUpdate3を落としてインスコしてね
URLリンク(cc.embarcadero.com)
日本語Readme URLリンク(edn.embarcadero.com)

>>646 暇は世界を救う

648:デフォルトの名無しさん
09/06/22 16:23:41
楽しい。

type
 TRecHoge = record
  X: Integer;
  Answer: string;
 end;

function Hoge(value: Integer): TRecHoge;
var
 returnValue: TRecHoge;
begin
 if value = 1 then begin
  returnValue.Answer := '戻り値をセットしました。';
  Result := returnValue;
 end;
end;

procedure HogeCall;
var
 buf: TRecHoge;
begin
 buf := Hoge(0);
 ShowMessage(buf.Answer);
 buf := Hoge(1);
 ShowMessage(buf.Answer);
 buf := Hoge(0);
 ShowMessage(buf.Answer);
end;

649:デフォルトの名無しさん
09/06/22 16:33:49
Result または関数名に値を代入せずに関数の実行が終了した場合,関数の戻り値は未定義になります。

650:デフォルトの名無しさん
09/06/22 16:46:58
>>649
その通りなんだけど、レコード型を戻り値にした場合はコンパイラが警告出さないんだよね。

651:デフォルトの名無しさん
09/06/22 16:57:06
value=0のときの記述をするかローカル変数は前もってクリアしておく
このクセを付ければどの言語に移ってもおk

652:デフォルトの名無しさん
09/06/22 16:58:06
日本語がおかしいやw
ローカル変数を前もってクリアしておくというクセを付けとけばいいよと

653:デフォルトの名無しさん
09/06/22 17:50:33
>>652
この場合、ローカル変数をクリアするのは解決にならないと思われ

654:デフォルトの名無しさん
09/06/23 17:32:25
Windowsのフォルダ選択ダイアログって開けましたっけ?

655:デフォルトの名無しさん
09/06/23 18:31:00
> SGet: String;
> if WinExec( PChar( SGet), SW_SHOW) < 31 then

>[DCC エラー] main.pas(1314): E2010 'Char' と 'AnsiChar' には互換性がありません

D2009だと何でエラーになるのですか?

656:デフォルトの名無しさん
09/06/23 19:49:14
>>664
SelectDirectory?

>>655
URLリンク(edn.embarcadero.com)

って、ここは質問スレじゃない気がする

657:デフォルトの名無しさん
09/06/23 21:32:38
ここは未来の質問に答えるスレですか?

658:654
09/06/25 08:58:33
>>656
SelectDirectoryってWin標準じゃないですよね?

659:デフォルトの名無しさん
09/06/25 09:04:54
Delphiの関数でしょ。

660:デフォルトの名無しさん
09/06/25 09:20:05
>>658
マルチ氏ね
スレリンク(tech板:662-664番)

661:デフォルトの名無しさん
09/06/25 12:47:10
>>648
しばらく触ってなかったが、俺のDel7では
 TRecHoge = record
ですらエラーで受け付けん・・・?何が不正な文字列だ?

662:デフォルトの名無しさん
09/06/25 12:48:02
全角スペースが混ざってるとかじゃないの

663:デフォルトの名無しさん
09/06/25 15:27:32
うわ、インデントの前のスペースだった・・・
こんなだったっけ?
コピペでそのまま使えた気がするけどな

664:デフォルトの名無しさん
09/06/25 18:26:52
全角スペースでインデントすると手っ取り早いからね。
&nbsp;にすればコピペだけでちゃんと動く。

>>650
構造体にはフィールドの内容によってゴミのままの部分も出てくるから
全部代入するのを強制するのは無駄って話だね。

type // Win32APIでまれによくある構造体
    TMyRec = record
        flags: byte; // foo, bar, bazを使うかどうかを指定するビットフラグ;
        foo: Integer;
        bar: Char;
        baz: String;
    end;
     

665:デフォルトの名無しさん
09/07/10 21:28:27
久しぶりに Delphi2009 使ってみたけど、
Update3/4 適用済でもダメだわこれ。

666:デフォルトの名無しさん
09/07/11 10:09:37
Delphi2.0使えば?

667:デフォルトの名無しさん
09/07/11 15:59:56
>>665
どこがどうだめなの?updateしようと思ってるんだけど

668:デフォルトの名無しさん
09/07/11 21:51:37
お勧めは Delphi8

669:デフォルトの名無しさん
09/07/11 22:18:04
>>668
Del7だろ常考

670:デフォルトの名無しさん
09/07/12 13:03:31
結局、どうダメなのかよ。generics周りですかね

671:デフォルトの名無しさん
09/07/16 08:56:16
F1キーを押したときの処理を書きたいのですが、
フォーム毎に書くと大変なので、
TApplicationにやらせたいと思っていますが、
できますか?

672:デフォルトの名無しさん
09/07/16 11:15:06
TAppじゃなくTMyForm/TFormEx=class(TForm)でやったら。
これに共通の処理足しまくるとめっちゃ快適になる。
で、使うときはTForm1 = class(TFormEx)とかに書き換えるだけ。

自分ならTAction継承した独自のアクションに
F1のショートカット設定してそっちに振るけどな。

673:デフォルトの名無しさん
09/07/16 11:17:29
なるほど、TFormExも検討してみまつ

674:foi.americanprogress.org
09/08/17 17:49:50
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その1
『アパッチ砲はワシが作った』

URLリンク(jbbs.livedoor.jp)
自分の管理するしたらばで借りた掲示板にて

> 5062 :自動保守 ◆AOIMAD.NZM [] :2009/08/16(日) 00:46:29 ID:nQYgq9jg0
> そもそも、アパッチ砲っていうのは、私が指揮官になった時代に私の先輩たちが導入して
> 先輩たちが命名したもの、っていうかまぁ、そういう砲は今まで存在してないから
> 名前つけなくちゃいけないしw
>
> ってことで、使っているうちに広まった名前なので、それが正式名称になるんじゃないかと。
>
> URLリンク(www.paradisearmy.com)(俺の先輩が命名)
> URLリンク(www.paradisearmy.com)(俺が命名?)

※注 「アパッチ砲」の正式名称は「Apache Jmeter」で、もちろん自動焼人の先輩が作ったものではありません


----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
スレリンク(sec2chd板)
にて自動焼人 ★までご連絡ください

675:デフォルトの名無しさん
09/08/21 00:58:10
動的配列どころかIntegerですら危険だよ。
threadvar以外のものは全部保護すべき。

676:デフォルトの名無しさん
09/09/09 10:00:19
Del5で作ったアプリをDel2007に移行してるんだけど、
ボタンを貼り付けても、今風の角が取れたボタンになるFormと、
昔ながらの角張ったボタンになってしまうFormに分かれてしまう。
ボタンのプロパティいじっても今風にならないんだが、なぜなんだ?

677:デフォルトの名無しさん
09/09/09 10:59:57
同じように貼ってみて
両方コピーしてメモ帳とかに張ってみたら異なるプロパティ判るんじゃないかな?

678:676
09/09/09 11:28:42
>>677
なるほど!
早速やってみます。

679:デフォルトの名無しさん
09/09/09 11:32:21
ALT+F12使えよ。

680:デフォルトの名無しさん
09/09/10 23:39:57
is演算子、as演算子は
C++でいうdynamic_castとほぼ同じような物ですか?


681:デフォルトの名無しさん
09/09/12 03:25:53
未だにD6使いのバカ野郎です。
次の環境を模索してます。

.Net ですか? Win32ですか?

Delphi(Object Pascal)は生き残りますか?

D6から成長してない45歳、会社で唯一人のプログラマっす。


682:デフォルトの名無しさん
09/09/12 09:03:21
BCB++で両方やればいいじゃん

683:デフォルトの名無しさん
09/09/12 09:11:13
>会社で唯一 人のプログラマ
他のヤツは人じゃないのか

684:デフォルトの名無しさん
09/09/12 10:09:25
ただひとりw

685:デフォルトの名無しさん
09/09/12 16:51:07
Delphiが生き残ってると言える状況かどうかは別にして
45歳ならDelphiより自分の職業プログラマ人生の方が先に終(ry

686:デフォルトの名無しさん
09/09/12 17:43:54
でも、プログラマただ一人ってよくないか?そういうところは開発メインじゃないだろうし。
いわゆる、近所のPCの便利屋さんみたいな立場。
すごい重宝がられているはずだが。

687:デフォルトの名無しさん
09/09/12 17:44:37
>>681
マジレスすると.NET(C#)だろ。

688:デフォルトの名無しさん
09/09/13 17:02:36
D6で事足りるならD6でいいんじゃない?
Win32で事足りるなら・・・

自営や零細相手に細々とやってるがまだまだD7でいけそう。
用途次第、客ありきなら相手次第やね。維持>発展ならw

689:デフォルトの名無しさん
09/09/15 03:12:17
これだけ普及したWin32がそうそう無くなるわけないし、
Win32上でWin16がエミュレーションで動いているようにWin64上にもWin32のエミュレーションがあるから、
仮にWin64がメインストリームになったとしてもWin32で事足りる場面が多いと思う
現実的に考えるとWin64がメインになるのはまだまだ先のことだろうしWin32は安泰

690:デフォルトの名無しさん
09/09/16 13:49:53
D6からD2010にすれば、ドトネト、Win32/64、カバーになるんじゃね?
さらにDelがARMプロセッサも将来サポートするとか逝ってるし、って組み込み不要なんだろw
なら、ドトネト系なんか捨てといて、スクリプト系のウェブアプリ作れるようになった方がプラスかも。

691:デフォルトの名無しさん
09/09/16 14:25:47
そこまでDelに頼ってやる必要も時間もねーなw

692:デフォルトの名無しさん
09/09/16 15:04:34
その前に質問者はすでにDel厨wwwww

693:デフォルトの名無しさん
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
d>>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のインストール解説ページにソースコードの
変更が必要など書いてなかったです。
必要なら書いてほしいなぁ・・・


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4909日前に更新/241 KB
担当:undef