[表示 : 全て 最新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


282 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 07:57:39 ]
失礼します。
iniファイルを実行ファイルのフォルダじゃなくて、
ホームディレクトリに置きたいのですが、
どうすればよいのでしょうか。今は下のコードです。

IniFile := TIniFile.Create(extractFilePath(paramstr(0))+'test.ini');

実行ファイルは同じだけど、iniは各個人で持ちたい。

283 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 08:37:53 ]
マイドキュメントのフォルダの事なら
support.microsoft.com/kb/194702/ja
つまり
uses shlobj ; の. SHGetSpecialFolderPath CSIDL_PERSONAL

レジストリ でもアクセス出来る
support.microsoft.com/kb/310746/ja


でも、実行ファイルのあるフォルダにユーザー命のフォルダを掘ってアクセスする方がいいと思うよ。
ユーザー名は GetUserName/ GetUserNameEx で取れる

284 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:00:10 ]
>>282
function GetMyIniFolderName: string;
var
uName: string;
nSize: DWORD;
begin
nSize := 4000;
SetLength(uName, nSize + 4);
if GetUserName( PChar(uName), nSize) then begin
SetLength(uName,nSize-1);
end else uName := 'non';
Result := ChangeFileExt(paramstr(0) ,'' )+ '@'+uName+'.ini';
end;

実行ファイルのフォルダで "実行ファイル名@ユーザー名.ini" という感じで作る

IniFile := TIniFile.Create( GetMyIniFolderName() );

285 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:38:50 ]
GetEnvironmentVariableで環境変数取る手もあるな。

APPDATA=C:\Documents and Settings\UserName\Application Data
USERPROFILE=C:\Documents and Settings\UserName

>>283のマイドキュメント/AppName/AppName.iniあたりに作るのが最も無難。

>>283
>でも、実行ファイルのあるフォルダにユーザー命のフォルダを掘ってアクセスする方がいいと思うよ。
小物フリーウェアではお手軽便利なやり方で長年使われてたけど、あまりよいやり方じゃないよ。
これが横行したのがPowerUser常用が強要されてXPのセキュリティがグダグダになった一因だし。
一長一短にしても今更推奨はできない。

286 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:45:08 ]
とりあえず実行ファイルのフォルダに作ってみて作れなかったらマイドキュメントでいいと思うけどな

287 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:48:20 ]
2つのStringListを同期させるにはどうすればいいんでしょう
たとえばStringListをソートした時にStringListBをAと同じように並べ替えたいのです

288 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:57:02 ]
Textを全部コピーしたら。代入じゃなく。

289 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:58:28 ]
中身は違うものなんだよね?
Objects の方にインデックスかポインタを無理やり入れておいたらどう?


290 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 10:08:22 ]
>>288,289
ありがとうございます

>288
2つのStringListは全く違うものなので使えなさそうです

>>289
Objectsというプロパティに触ったことがないのでよく分かりません
もう少し詳しくお願いできますか?



291 名前:287 mailto:sage [2008/04/10(木) 10:43:59 ]
>>289の通りにやってみたらできました!
ありがとうございました

292 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 11:10:17 ]
synapse の imap クライアントを使って、gmail (imap有効済) に imap で接続しようとしていますが
接続に失敗(エラー: 10091)してしまいます
設定など足りないところがありますでしょうか?

uses imapsend;
-------------------
    with TIMAPSend.Create do
    try
        TargetHost := 'imap.gmail.com';
        TargetPort := '993';

        UserName := '***@gmail.com';
        Password := '***';

        Timeout := 5000;
        FullSSL := True;

        if Login then begin
            Caption := 'OK';
            Logout;
        end else begin
            Caption := 'NG';
        end;
    finally
        Free;
    end;
-------------------

293 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 11:16:21 ]
ComboBoxでドロップダウンした時だけ違う文字列を表示できる?

294 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 11:19:04 ]
OnDropDownで
combobox.items.commatext := 'a,b,c';
って話か?

295 名前:293 mailto:sage [2008/04/10(木) 11:35:11 ]
>>294
ドロップダウン閉じた時にどうやって元に戻せばいい?

296 名前:292 mailto:sage [2008/04/10(木) 14:48:11 ]
自己解決しました
synapse の imap クライアントは、ソースを追ってみると SSLが実装されてないような...

Indy の TIdIMAP4 の IOHandler に TIdSSLIOHandlerSocketOpenSSL を入れて、
UseTLS := utUseImplicitTLS 、下記のコードで接続OKでした

-------------
    with IdIMAP41 do begin
        Host := 'imap.gmail.com';
        Port := 993;
        ConnectTimeout := 3000;

        Username := '***@gmail.com';
        Password := '***';

        if Connect then begin
            Caption := 'OK';

            Disconnect;
        end else begin
            Caption := 'NG';
        end;
    end;
-------------


297 名前:デフォルトの名無しさん [2008/04/10(木) 16:48:17 ]
DateTimeToStrについて教えて下さい。

DateTimeToStrは、ロケールを意識して文字列にしてくれますが、
グリニッジ標準の文字を取得するにはどうすればよいのでしょう?

さらに、夏時間とか絡んでくると、わけわからなくなりますが、
夏時間とかいうのもVCLのどこかに規定されているのでしょうか?

298 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/04/10(木) 18:40:58 ]
>>282
普通のアプリと同じように「ローカルアプリケーションフォルダ」に入れるのがよいのではないでしょうか。
usesにShlObjを追加して…

{ 現在のユーザーアカウントの「ローカルアプリケーションフォルダ」のパスを返す.}
function GetLocalAppDataPath: string;
var buf: array [0..MAX_PATH] of char;
begin
 SHGetSpecialFolderPath(0, buf, CSIDL_LOCAL_APPDATA, False);
 Result := buf;
end;
{ 現在のユーザーアカウント名を返す.}
function GetCurrentUserName: string;
var
 buf: array [0..MAX_PATH] of char;
 size: dword;
begin
 size := MAX_PATH;
 GetUserName(buf, size);
 Result := buf;
end;
{ 実行例 }
procedure TForm1.ShowAppDataPathActionExecute(Sender: TObject);
var Path: string;
begin
 if LabeledEdit_CompanyName.Text = '' then raise Exception.Create('社名はちゃんと入れろよ!');
 if LabeledEdit_AppName.Text = '' then raise Exception.Create('アプリ名もちゃんと入れろよ!');
 Path := GetLocalAppDataPath + '\' + LabeledEdit_CompanyName.Text + '\' + LabeledEdit_AppName.Text;
 ShowMessageFmt('このパソコンの場合,ユーザー%sの設定ファイルは'#13#13'%s'#13#13'の下に保存すべきじゃ',
  [GetCurrentUserName, Path]);
end;


299 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:49:07 ]
・ショートカットキーで起動
・ショートカットを登録

このような単純な機能を持つデスクトップランチャーを、Delphiノータッチの人間が作ろうとしたらどれ位時間がかかりますか?
作成に掛かる時間…というよりも、ランチャー作成自体の難易度がどのようなものか教えていただけると幸いです

C、Java、アセンブラは初歩を嗜んだ程度です

300 名前:297 mailto:sage [2008/04/10(木) 18:49:15 ]
ヘルプ検索してみましたが、
Delphiってグリニッジ時間の文字列を作りだすメソッド無いんですね。



301 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 23:09:45 ]
>>299
Delphiはじめて二番目に作ったのがランチャだった
確か一日一〜二時間やって一ヶ月くらいで使えるものにはなったと思う
その後使い込んでいくウチにバグ取りや機能追加で現在に至る
人に配れるレベルになったのは半年目くらいか(配っとらんが)
おれはCもなんも知らない状態で入門書とBBSフォーラムの情報だけだった
いまはグーグル先生もいるし質問先もたくさんあるから
あとはモチベーション次第なんぢゃね?

302 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 23:12:03 ]
>>293
オーナードロー


303 名前:301 mailto:sage [2008/04/10(木) 23:15:33 ]
>>299
C#の初心者すれでもマルチポストしたのか
Delphiやってみたいってわけではなかったんだ
●rz

304 名前:282 mailto:sage [2008/04/10(木) 23:28:47 ]
遅レスすみません。
>298のコードを使わせていただきました。

いくつかアイデアをもらって心に感じるものがありました。
ありがとう。

305 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 01:13:54 ]
>300
日付時刻の扱いについて。TDateTime型はローカル、DST、UTC等の配慮は含まれていない。
よってこれらの配慮を要する場合はTSystemTime構造体を使用してGetLocalTimeまたは
GetSystemTime(いずれもWin32API)で取得し、これをSystemTimeToDateTimeで
TDateTimeに変換して使用する必要がある。またDSTについてはWindowsの実装がナニなので
(基本的に今現在のDSTの適用状況しか信用できず、たとえば数年前の特定の日付における
DSTの適用状況はわからない)、自前で実装する必要がある。

306 名前:300 mailto:sage [2008/04/11(金) 09:10:00 ]
thx!>>305

現在の時間だけで良いので、OKです。
つまり、グリニッジ時間を知りたければ、TDateTimeは使えなくて、Win32に頼るってことですね。

307 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:05:32 ]
Delphiを勉強するにあたってお勧めの本を教えてください
C, C++, Javaで開発をしたことがあります

308 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:41:29 ]
>>309
もちつけ

309 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:54:13 ]
ぺったん。ぺったん。

310 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:07:19 ]
つるぺったん。



311 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:11:57 ]
>>301>>303
あ、いや、C#スレでDelphiをオススメされたんでこっち来ました
ありがとうございます。半年ならちょっとやってみたいです
この言語で作ってみたいと思ってます

近場の書店巡ってもCだのJavaだのHTMLだのの教本しか置いて無かったです
Amazonを見てみたら評価の高い教本はあるものの、中古で異常な価格のモノばかりでした
何か初心者オススメの本は無いですか?
Webで資料もみますが、とりあえず1冊は教本を持っておきたいと考えています

312 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:17:08 ]
今から始めるなら迷うまでもなくC#だろ・・・

313 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:37:53 ]
>>311
マニュアルの文法書。

314 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 08:07:21 ]
>>311
IDEから文法までのを一通り説明してあるやつで
Turbo Delphiか2005用のを買っといたら。
Delphi 2005 プログラミングテクニック Vol.1入門編が無難な感じ。
シリーズ化されてて興味のある分野のものを買いたせるし。

315 名前:デフォルトの名無しさん [2008/04/12(土) 11:08:06 ]
Turbo Delphi無料版でアプリを作りたいのですが、
ソースを難読化するツールってありますか?

316 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:32:27 ]
しんぱいしなくても>>315のソースはきっと読みづらい。

317 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:13:12 ]
.NETならともかくWin32でビルドしたら
逆アセンブルしか手がないからそんなに心配することもない。

318 名前:315 mailto:sage [2008/04/12(土) 14:21:40 ]
>>316
コメントでバレそうです。

>>317
DEDEなるデコンパイルソフトがあるらしいのですが、大丈夫でしょうか?

319 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:29:26 ]
コメント・・

320 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:32:01 ]
>>315
まずはどういう動機でどういうレベルの誰から何を守りたいのかをはっきりさせよう。



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になっててやりづれぇ






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

前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