板情報 | スポーツ/趣味/健康 ]

ねこぷー掲示板

スレッド作成:
タイトル:
名前: E-mail(省略可)
内容:

1 : メモ(11) / 2 : ベンチ(4) / 3 : ファイルのバージョン取得(4)
  (全部で3のスレッドがあります)

掲示板の使い方 / 新着をメールで受信 / 過去ログ倉庫 / スレッド一覧 / リロード




1 メモ (Res:3)All First100 Last50 SubjectList ReLoad 1
1D :2007/09/06(木) 22:48:00
ちょっとしたメモ

5D :2007/12/08(土) 07:52:30
WindowsAPI
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;

SendMessageのwParamとlParamはそれぞれWPARAMとLPARAMでキャストしないと範囲チェックエラーにかかることがある。


6D :2007/12/25(火) 09:22:49
Delphi
Random(n) は 0<=x<n なので、戻り値にnは返ることがない。
ということでストリングリストのデータをランダムに取り出したい場合
Result := Random(slList.Count -1);
は間違いで
Result := Random(slList.Count);
が正解となる。


7D :2008/01/09(水) 17:33:08
Perl
Jcode.plのインストール
http://www.nishishi.com/blog/2006/02/jcodepm_windows.html

Jcode.pmとJcodeフォルダをPerlのライブラリパス(〜Perl\lib\)にコピーでOK。


8名無しさん :2008/02/08(金) 04:13:02
Delphi for .NET
FileOpen ルーチン
>戻り値が 0 以上である場合,この関数は成功しており,その戻り値は開いたファイルのファイルハンドルを示します。
>戻り値が -1 の場合は,エラーが発生したことを示します。
 ファイルが開けるかの確認をしたい場合

l_OpenFile := FileOpen(sFile, fmOpenReadWrite);
Result := (l_OpenFile > -1);

とするとコンパイルエラーになる。

Result := (l_OpenFile <> nil);

とするとOK


9名無しさん :2008/02/11(月) 02:43:00
TStringListのCustomSortはソート関数を登録するだけではなく、ソートも行う。
従って

lsl_List.CustomSort(gfniFolderCompareStrings);
lsl_List.Sort;

としたのではカスタムソートした後にオリジナルのソートをしているので結局オリジナルのソートと変わらない。


10<削除> :<削除>
<削除>


11D :2011/05/26(木) 13:38:53
DTIのモバイルプランに変えたらメソッドがPOSTのCGIがすべて403 Forbiddenになってしまうのはなぜなんだろう。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


2 ベンチ (Res:0)All First100 Last50 SubjectList ReLoad 2
1D :2008/06/06(金) 20:06:13
スピードテスト

2D :2008/06/06(金) 20:23:09
WideUpperCaseとAPIのCharUpperWはCharUpperWの方が速い。
WideUpperCaseが3.5秒かかるとするとCharUpperWは2.5秒程度。

WideCompareStrとWideCompareTextは大差なく、効率を気にする必要はない。

ということは、わざわざWideUpperCaseで変換させてからWideCompareStrとする意味は(速度的には)ない。
またWideUpperCaseで変換させた文字列同士の比較であってもWideCompareStrを効率を考えてあえて採用する意味もない。ただし採用しても悪いことはない。どっちも同じ値が返るはずなので。


3D :2008/06/11(水) 14:07:55
Utf8EncodeとWideCharToMultiByte
圧倒的にUtf8Encodeの方が速い。
WideCharToMultiByteを2回呼ぶ素直な書き方に比べて6倍速い。
1回で済ます場合に比べても4倍速い。


4D :2008/06/11(水) 14:54:40
Result := WideString(lp_Buff);

SetLength(Result, li_Len);
lstrcpyw(PWideChar(Result), lp_Buff);

WideStringでキャストする方が30%くらい速い。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


3 ファイルのバージョン取得 (Res:0)All First100 Last50 SubjectList ReLoad 3
1D :2007/06/09(土) 23:21:43
リソースにあるバージョン情報を取得したい。
http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=13#0226.txt

2D :2007/06/09(土) 23:25:04
上記リンクにあるソースのままだと戻り値には末尾に#0がついてくる。
なのでこの戻り値に他の文字列を足してApplication.MessageBox関数に渡すと戻り値以降の足したはずの文字列が表示されない。


3D :2007/06/10(日) 21:30:39
上記リンクを参考にAPIバイブルも見ながら書き換えてみました。

function gfnsFileVersionGet: string;
{2007-06-09:
この関数を呼び出す実行ファイルのバージョンを返す

http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=13#0226.txt
↑を参考
}
var
li_Size, li_Reserved, li_Len: DWORD;
lp_Buffer, lp_Locale, lp_Ver: Pointer;
ls_PStr: PChar;
begin
Result := '';
(省略されました・・全てを読むにはここを押してください)


4D :2007/06/10(日) 21:34:44
あらら、そういや"したらば"は桁揃え無視しちゃうんだっけな。
やっぱ自前のCGI作らんといかんのかねぇ。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード