[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/13 11:51 / Filesize : 238 KB / Number-of Response : 924
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれDelphi(超初心者用)その46



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


321 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:59:30 ]
フォームに乗せなきゃソース見れないだろ

322 名前:315 mailto:sage [2008/04/12(土) 15:26:27 ]
>>320
例えば姓名判断や競馬の予想のような、
条件を入力すると、ある専門知識に基づいた計算結果が返ってくるソフトを考えています。
バレたくないのは、その結果を算出する際のアルゴリズムやデータです。

すぐに解析されてしまうということは、
せっかく苦労してアルゴリズムやデータを作成しても、
簡単にコピー(改良版)が作られる可能性があるわけですから、躊躇しています。

323 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 15:45:32 ]
dedeで生成したソースを読めるような奴はそうそういないと思うが、もしいたら諦めるしかない
なんか特殊な方法で圧縮するとかそんな感じにしなきゃ無理な気がする
まぁその前に>>315が作るツールにそこまでしてソースを見るほどの価値があるかどうかの方が重要だが

324 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 16:00:01 ]
一応antiDeDeとかもあるけどね
FindWindowでDeDeにWM_CLOSE投げるだけだけど

325 名前:315 mailto:sage [2008/04/12(土) 16:30:52 ]
>>323
>dedeで生成したソースを読めるような奴はそうそういないと思うが、もしいたら諦めるしかない

実はdedeの詳細を分かっていなかったのですが、それなら安心です。
シェアウェア作家や商用アプリを作ってる方も、
特に気にしていないということですかね。

>>324
ありがとうございます。参考になります。

326 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:19:04 ]
www.moonlight.gr.jp/~el/delphi/bedit/step2.htmlの真ん中のを参考にして
バイナリを読み込んでみたんですけど、かなり時間が掛かってしまいます
どうすれば読み込み時間を短縮できるでしょうか?

327 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:26:40 ]
遅いのは1byteずつ読んでいるから。

ある程度の大きさのバッファを用意して、
ReadではなくBlockReadでバッファ長のバイト数を読み込むようにする。

「BlockRead」をヘルプで引くかで、ゴーグレッドれば、サンプルが出てくる。


328 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:10:46 ]
生成した8個のTShapeのVisibleをFalseにしたりTrueにしたりするところで
とても時間が掛かっている(1秒くらい)のですが、原因がさっぱり分かりません。
このような問題が出た方いますか。

329 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:20:45 ]
再現するコード晒せ



330 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:47:02 ]
TShapeなんて使ったことないけど
他のコントロールの再描画が発生して重いイベントハンドラが呼ばれているのかも。
プロジェクトオプションのコンパイラのデバッグ版DCUにチェックして再構築して
再描画中に固まるタイミングで一時停止してみたら。

331 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:21:44 ]
>>329 普通に新規で最低限のコードだと再現しないんです。
>>330 ありがとうございます。一時停止はタイミングが難しくてなかなか
思うようにいかないし何回もやってるうちにWindowsが固まるし…
再描画の他のコントロールのイベントは見てなかったのでチェックしてみます。

332 名前:デフォルトの名無しさん [2008/04/12(土) 20:17:28 ]
DICOMをDelphiで勉強しようと思ってopen sourceであるezDICOMを見ているので
すが、childwin.pasで
const
gMouseDown : boolean = false;
とあり、その以降で
   gMouseDown := true;
となっていて、エラーがでて代入できない左辺値ですと表示されます。
constだからそういうエラーになるのですか?もしそうなら
あまり当てにしてはならないコードと判断すべきなのでしょうか?

333 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:31:26 ]
328ですが、やっぱり分からないです。描画関連のイベントでデバッグ用の
TMemoに出力するようにしたのですが、Visible := True; の前には表示
されません。困ったです。デバッグの良いアイデアか疑うべき点など
ありますでしょうか。

334 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:51:35 ]
>332
constへの代入はコンパイルオプションにより可能なこともある。

335 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:53:18 ]
いやだからソースどっかにあげろよ

336 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:53:51 ]
>333
TShapeやTLabelのようなグラフィックコントロールの描画はコンテナの描画から呼び出される。
というわけでコンテナのPaintを起点に追うと何かわかるかも。

337 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 21:00:06 ]
Delphiはいい加減標準でプロファイラつけろよな

338 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 21:13:25 ]
>>333
プロジェクトのバックアップとってデバッグ用のコード仕込みまくって
いじりまくってブレーク張りまくって根性でステップ実行しまくる。

339 名前:デフォルトの名無しさん [2008/04/12(土) 21:29:28 ]
332ですが
>334
コンパイルオプションですね。探してみます。
>335
私への返事と解釈して↓のstandaloneのところですが
ttp://www.sph.sc.edu/comd/rorden/ezdicom.html



340 名前: ◆XcB18Bks.Y mailto:sage [2008/04/12(土) 22:16:42 ]
>>332
「型付き定数への代入」というやつです。
初期のDelphiコンパイラではデフォルトで有効になっていたのですが
途中からデフォルトで無効になりました。

プロジェクト設定の「コンパイラ」設定で有効にするのが手っ取り早い対処法ですが
型付き定数限定とはいえ定数の値を任意に変えられてしまうのはバグの元ですから避けるべきです。
(デフォルトが禁止になったのもバグ回避と思われます)
そのソースファイルの先頭に「型付き定数への代入」を有効にするコンパイラ指令 {$J+} を埋め込むのが良いでしょう。


341 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:11:55 ]
>>327
ものすごく遅くなってしまいましたがやってみます
ありがとうございました

342 名前:デフォルトの名無しさん [2008/04/13(日) 00:05:13 ]
>>315
誰もおまい見たいなレベルの実行ファイルを解析したりしないよw

343 名前:デフォルトの名無しさん [2008/04/13(日) 07:26:17 ]
> 340
ありがとうございました。おかげさまで無事、コンパイルでき動くようになりました。
これで解析がはかどります。本当にありがとうございました。

344 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 11:21:33 ]
>>342
「ある専門知識に基づいた計算結果」を求めてダウンロードするってことは、
少なくともその内容に関心があるってことでしょ
コーディングの巧拙は関係なし

まあ専門知識を持たないおまいには分からないだろうけどw

345 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 11:46:30 ]
>>315
CGIにしたらどう? サーバ側で計算すればいい。

346 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:15:45 ]
>345
サーバーをハッキングされる可能性があるのでは?

347 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:23:00 ]
まだ引っ張るの?

348 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:14:53 ]
SJIS最速の正規表現ライブラリってどれ?

349 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:23:29 ]
鬼車をobjのLinkで使う。。。とかかな?
WinAPI使ってないから改造しないと曖昧検索(同形異区の文字や
全角大小文字の一致とか、)の挙動がWSHとかと違うと思ったけど



350 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:41:08 ]
>>346
泥棒にPC盗まれる可能性も考えれば、
アルゴリズムは暗記して、そのつど出向いて計算してあげたらよさそう。

351 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 11:10:07 ]
定数を
const
HAIRETU: Array[0..10] of String = ('a','b','c','d','e','f','g','h','i','j','k');
HAIRETU: Array[100..110] of String = ('z','y','x','w','v','u','t','s','r','q','p');
のように離れて宣言することは出来るのでしょうか?

352 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 11:50:35 ]
別unitに分けるなら出来るよ。
アクセスするときは ユニット名.HAIRETU[4] のようにアクセスする。

353 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:22:47 ]
無理

354 名前:351 mailto:sage [2008/04/14(月) 18:52:37 ]
遅くなりましたがありがとうございました
変数でやる時には配列に一気に追加する方法はあるのでしょうか?

355 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:11:58 ]
Delphiに疎な配列がないのできれいに書くのは難しい。

const
    HAIRETU: array[0..110] of PChar =
        ('a','b','c','d','e','f','g','h','i','j','k',
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
        nil, nil, nil, nil, nil, nil, nil, nil, nil,
        'z','y','x','w','v','u','t','s','r','q','p');

if HAIRETU[4] <> nil then ShowMessage(HAIRETU[4]);


const HAIRETU: array [0..2] of record n: Integer; v: String; end = (
        (n:0; v:'a'), (n:1; v:'b'), (n:100; v:'z') );
for i := 0 to 2 do if HAIRETU[i].n = 1 then ShowMessage(HAIRETU[i].v);


HAIRETU := TStringList.Create;
HAIRETU.Values['0'] = 'a';
HAIRETU.Values['1'] = 'b';
HAIRETU.Values['100'] = 'z';
ShowMessage(Hairetu.Values['0'])


356 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 09:27:19 ]
関数を作ってみた

procedure StrToArray(var Hairetu: array of string; Start: Integer; Args: array of string);
    var I: Integer;
begin
    I := Length(Args) -1;

    while (I >= 0) do begin
        Hairetu[I + Start] := Args[I];
        Dec(I);
    end;
end;

// ----------------- //

StrToArray(HAIRETU,    0, ['a','b','c','d','e','f','g','h','i','j','k']);
StrToArray(HAIRETU, 100, ['z','y','x','w','v','u','t','s','r','q','p']);


357 名前:デフォルトの名無しさん [2008/04/15(火) 14:18:16 ]
IMEのON、Offの仕方。
IMEの現在の状態を監視するには、なんと入力すればいいか教えてください。

ネット検索したんですが、使い方がよくわかりませんでした。

358 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:28:00 ]
ImmなんちゃらってAPIだったっけかな

359 名前:デフォルトの名無しさん [2008/04/15(火) 14:46:32 ]
>>358
ありがとうございます。
それの具体的な使い方がわからなくて・・・。



360 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:53:10 ]
私なんて、現在IMEがONかどうかを調べることすら出来なかったよ!。

361 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:31:20 ]
Delphiに直接関係はないな。

ttp://m--takahashi.com/bbs/pastlog/A0600/A0534.html

362 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:37:32 ]
Delphi5で商用利用できるフリーのXMLのクラスライブラリってないかな?

363 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:10:32 ]
Delphi Personal version6 を使ってるんですが
自分で作ったソフトを公開する時に気をつけることってありますか
コンパイラオプションを変えたりとか、そういう事するもんなんでしょうか?

364 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:10:16 ]
Xp スタイルに対応したか? Vista 対策はOK? くらいかな。

365 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:23:39 ]
>357
ImeModeプロパティじゃだめなん?

366 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:45:49 ]
皆さんエディタとか何使ってますか。
beginとendを強調表示とかしてくれるエディタとかありませんかね。

367 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:48:47 ]
サクラエディタとか。

368 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:49:24 ]
EmEditor は、Delphi の予約語を強調表示できるよ。

369 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:50:09 ]
IDEか秀丸だな。



370 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:04:37 ]
すみません、質問です。
TWebBrowser で表示しているWebページの高さを
OleObject.document.body.scrollheight から取得しているのですが、
どうも正確な値がとれていない時があるようです。

うまくいく場合のあるのですが、
Google 検索結果ページでの、scrollheight の値が
明らかにこっちが想定している値と違うのです。

何か心当たりがある方いらっしゃいましたら、
教えていただけたら助かります!
#スクロールバー分は考慮してます。

371 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 09:07:56 ]
>>370
ブラウザ内部のサイズより、HTML描画された内容が小さい場合とか?

372 名前:デフォルトの名無しさん [2008/04/16(水) 09:21:58 ]
メインメニュー・コンポーネントについて質問です。

大見出し
├小見出し1
├小見出し2
├小見出し3
・・・

という構成のメニューがあったとして、
小見出しを「配列」で一括管理することはできるのでしょうか?

各小見出しのオブジェクトインスペクタのname項目では、N1、N2、N3...
などとなっているので、配列名にすることができません。
(このままだと、「全てのチェックボックスを外す」などの記述が大変です)

よろしくお願いします。

373 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 09:24:08 ]
TStringList.SaveToFileで文字コードをUTF-8で保存したいのですが
どうすればいいでしょうか?htmlファイルを生成しています。

WinXP+Delphi7Pro

374 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:13:17 ]
delphiで通販サイトみたいなの作ってみようと思うんだけど
何か最低限これはみとけみたいなサイトあります?

375 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:18:16 ]
>>372
大見出し(MenuItem1)から小見出し操作するなら
for i := 0 to MenuItem1.count - 1 do
begin
MenuItem1.Items[i].checked := false;
end;

メインメニュー(MainMenu1)から大見出し(例としてメインメニューの一番目)を指定して
小見出しを操作したいなら
for i := 0 to MainMenu1.Items[0].count - 1 do
begin
MainMenu1.Items[0].Items[i].checked := false;
end;

でいけると思う。

376 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:18:24 ]
Delphiでウェブアプリなんだー。
ちょ、マイナーだね。

ウェブで無償配布ツールものとかドライバ設定系デスクトップアプリでは、某アイコンを良く見るけどね。

377 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:25:02 ]
>>373
UTF8Encode

378 名前:372 mailto:sage [2008/04/16(水) 10:34:44 ]
>>375
ありがとうございます!とても助かりました。

379 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:40:52 ]
>>373って
for i := 0 to Memo1.Lines.Count-1 do Writeln(f, WideString(Memo1.Lines[i]));
ってやるだけじゃだめなん?WideStringとUTF8って別もの?
そこらへんいまだに全く把握してないんだけど
どこかにアホグラマ向けの解説サイトとかないのかな。



380 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:52:30 ]
別物。

381 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 11:21:33 ]
>>376
htmlやcss、DB何かも飽きるほど使った事あるからいけるかなぁとか
思ったりしてるんだけどセキュリティ関連がよくわかんないのよねぇ

SQLインジェクションやクロスサイト云々とかそういうのはわかるけど
何か他にもいろいろありそうで怖い

Webアプリって今はjavaなんかがメジャーなのかな?

382 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:43:07 ]
DephiFのIDEモードってどうやるんだっけ。
他のウィンドウが見えるSDIになっててやりづれぇ

383 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:58:47 ]
>>364
ありがとうございます。
Vista対策は全くしてませんので、その事を記載することにします

384 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 16:12:23 ]
Vistaなんて使う方が悪いぐらいに書いとけ

385 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 16:13:13 ]
>>381
phpとかスクリプトが多いんじゃね

386 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 13:37:09 ]
質問です。
フォーカスが当たっているかコントロールは
どうやって調べればいいんでしょうか?

387 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 15:47:11 ]
つ TCustomForm.ActiveControl

388 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 19:09:49 ]
>>381
HTML、DB飽きるほどやってるなら、セキュリティ云々の前に、
未だに、Unicodeにまともに対応してない、Delphiを使うなんて論外だと思うが・・



389 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 19:58:55 ]
Delphi.NETなら使えるんだろ。
.NETの便利クラスパクって来るのも疲れたし
マシン買い換えたらDelphi.Net触り始めてみたくはある。
ぼろマシンのネイティブアプリよりよっぽど速そうだw
C#のフォーム周りはどうも微妙すぎるし。



390 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:06:05 ]
微妙って、.NET Framework使ってたら言語が違っても同じでないの?

391 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:22:49 ]
クラスライブラリが違う。

392 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:04:42 ]
ぼろマシンで走る.NETは遅いと思う

393 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:53:08 ]
Delphi.NETは最悪の選択

394 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:34:25 ]
>>387
ありがとうございます。できました

395 名前:370 mailto:sage [2008/04/18(金) 00:33:33 ]
>>371
レスありがとうございます。

うまくいくページとうまくいかないページがある原因がよくわかりません。。
(yahoo とかだったら、うまくいくんですが)
しかも scrollwidth はうまくとれてたりするので、
さらに意味がわからないことになってます。。


396 名前:デフォルトの名無しさん [2008/04/18(金) 01:40:53 ]
>>374
「webアプリセキュリティ対策入門」って書籍。
サウンドハウスみたいに単純な穴つかれて個人情報漏らさないように気をつけてね。

Delphiって文字が悪い記事で新聞に載らないようにしてくださいw

397 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:42:34 ]
>>389
ただでさえDelphiは未来がないのに、その中でロードマップで切り捨てられることが決定している
Delphi.NETは選択肢としてありえないよ。

俺ならchrome joyrideをつかう。それならC#でいいけどな

398 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 08:06:40 ]
.NET起動遅すぎ

399 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:33:28 ]
動作条件に.netが入ってる時点でDLする気失せる



400 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 10:06:10 ]
最近のDelphiと一緒だな。J#まで必要だし。

401 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:06:10 ]
未だに.NETの起動がどうのなんて言ってるボロマシン使ってる可哀そうな方々は
一生DEL7SJISWIN32で頑張ってなよ。
今時C2Dマシンなんて2,3万で組めるのにw

402 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:19:19 ]
このやり取りも無断リンク論並に飽きたので
もう勘弁してほしい

403 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:48:20 ]
デバッグの値の文字列を全部取得する方法っってありませんか。
文字列が長いと、「...」ってのが最後に入ってそこで終わってしまいます。

404 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:56:07 ]
PageControl単位でマウスカーソルの出入りを監視するのってどうやればいいですか。
MouseOverだとその上に乗ってる全コントロールのMouseOverでチェックしないとうまくいかないし
それをやったところで結局正確には取れないです。



405 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:04:21 ]
>>403
procedure dbgPrint(s:string);
begin
  with TFileStream.Create('dbg.txt',fmCreate) do try
  Write(PChar(s)^, length(s));
  finally free end;
end;

みたいな関数を作っておいて、
実行されない場所で呼び出しておく(そうでないと実行ファイルにリンクされない)

デバッグ時に Ctrl+F7 で 評価/変更 窓を開いて
dbgPrint( 変数名 ) と打って 評価(V) で dbg.txt というファイルに中身か書き出せる

406 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:06:44 ]
>>404
CM_MOUSEENTER/CM_MOUSELEAVE を使うのでは駄目?

407 名前: ◆XcB18Bks.Y mailto:sage [2008/04/18(金) 16:18:16 ]
>>406
最近のバージョンではOnMouseEnter, OnMouseLeave イベントとして実装されていますね。

>>379
おおざっぱに言いますとこんな感じです。

・WideString…全部の文字が2バイト
・UTF-8…英数コードが1バイト(しかもこれらのほぼすべての文字コードがANSI文字列同じ)、
      漢字やかななどが3バイト


408 名前:デフォルトの名無しさん [2008/04/18(金) 22:54:38 ]
ユニコードが使えるエディタを作りたいのですが、良い方法はありませんか?
こちらの環境は Delphi 5 Pro です。

409 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:00:38 ]
SynEdit unicode editionを使う



410 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:02:28 ]
>>409
多謝!

411 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:40:25 ]
stringの長さだけを初期化する方法でSetLength(s, len)ってやるのと
SetString(s, nil, len)ってやる方法の二つがあるみたいですが、
この二つの差って何かありますか?

412 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:09:13 BE:626494-PLT(12660)]
総合アーカイバコンポで書庫内ファイルの削除したいんだけど、
RemoveItemsメソッドの使い方教えてください
↓こんな感じで動かすと書庫本体が削除されちゃうのですが…

 DelList := TStringList.Create();
 Arc := TArchiveFile.Create(Application);

 DelList に書庫内ファイル名を突っ込む←この書庫内ファイルを削除したい

 try
  Arc.FileName := "書庫本体までのフルパス";
  Arc.Options.jso := 1; // 共有エラーの場合に処理を続行
  Arc.Options.n  := 1; // 経過非表示にする
  Arc.RemoveItems(Application.Handle, nil,'', [DelList]);
 finally
  Arc.Free;
  DelList.Free();
 end;

413 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:35:09 ]
>>411
SetStringで長さを設定する人を見たことが無い。
違いが気になるなら、ソース見て。

>>412
ここ見ると、追加・削除をサポートしていない形式があるみたいだけど、大丈夫?
ttp://www.geocities.jp/norg1964/cmarc/

あと、TArchiveFile.Createで例外が生成されると、DelList.Freeは実行されない。

414 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:15:14 ]
>>411
SetLengthはメモリを再確保した後に内容のコピーをするような分岐がありますが、
SetStringでnilを指定した場合1つの分岐だけで即座に新しい領域が割り当てられます。
なのでSetStringの方が若干速いです。

>>413
SetLengthとSetStringはともに組み込みの手続きであり、ソース上にそのものの実装は存在しません。
場合によって別々の内部手続きが呼び出されます。この場合はLStrSetLengthとLStrFromPCharLenです。
これを初心者がソースを見て判断するのは酷でしょう。
それにSetStringで長さを設定するのはVCL内に多く見られます。
実際どうなってるか知りもしないのにそのような発言をするのはよくないんじゃないかと。

415 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:15:25 BE:209243-PLT(12660)]
>>413
レスありがと
形式はzipだからおkだと思うんだ…
何か書き方が悪いのか何なのか
それとcreateもtryの内側に入れることにしようと思います><

416 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:52:53 ]
Createをtryの内側に入れると、今度はCreateの例外で
ArcもDelListも代入前に使われちゃう。


417 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:31:04 ]
>>415-516
nilで初期化しておけばおk

418 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:25:31 ]
みんなー、>>516まで入りたい放題だぞー

419 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:51:44 ]
Delphi.NET(2005)で質問です。

TStringGridの内容を帳票として成型して
プレビュー画面を表示した後、印刷したいのですが
一体どうすれば良いのでしょうか。




420 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:35:32 ]
Excelでフォーマットを好きなように作り、プログラムからグリッドの内容をセルに流し込み、印刷で。

421 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:50:35 ]
ユーザにそこまでやらせるのはひどいアプリだなぁ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<238KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef