Delphi初心者のための寺子屋
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/11/23(水) 23:31:080153デフォルトの名無しさん
2006/09/13(水) 22:39:21お前はそのままでいいよw
0154デフォルトの名無しさん
2006/09/13(水) 23:24:420155デフォルトの名無しさん
2006/09/14(木) 00:35:54お主、俺を超えたな!?
0156デフォルトの名無しさん
2006/09/14(木) 04:04:150157デフォルトの名無しさん
2006/09/14(木) 05:19:240158デフォルトの名無しさん
2006/09/14(木) 07:56:030159デフォルトの名無しさん
2006/09/14(木) 10:09:08>ttp://pc8.2ch.net/test/read.cgi/tech/1139675970/239
>ソースと実行ファイル
>http://vipperup.orz.hm/miniup/src/viup0403.zip
これって、もう手に入らないの?
0160デフォルトの名無しさん
2006/09/14(木) 16:02:350161デフォルトの名無しさん
2006/09/29(金) 18:21:310162デフォルトの名無しさん
2006/09/29(金) 18:37:240163デフォルトの名無しさん
2006/10/06(金) 22:25:29対策をしているらしく、keybd_event ではエンターキーだけが認識されません。
(そのアプリ上でエンターキーを直接押せば認識される)
こういった場合、どのようにすればいいのでしょうか?
0165デフォルトの名無しさん
2006/10/16(月) 03:02:58Vbでいうところの Validate イベントを実現したい。
どうすればいい?
Procedure TXXXXX.OnValidate(Sender : TObject;Cancel : Boolean);
Cancel := True;
とすれば、フォーカスが抜けないようにする。
どうやったらできるんだろう?
TEdit を継承して、
WndProc を オーバーライドして
CM_EXIT をフックしてみた。
TEdit ではうまくいったが
TComboBox ではうまくいかなかった(DropDownList では おk で DropDown ではNg だった)。
誰か経験者か、うまいやり方知ってるひと教えてください。
0166デフォルトの名無しさん
2006/10/16(月) 09:10:19WM_KILLFOCUS受け取ったときに上記状態なら指定されたところにチェックしにいくとか
0167デフォルトの名無しさん
2006/10/16(月) 09:25:28Cancel=Falseなら、Combobox.setfocus
0168デフォルトの名無しさん
2006/10/16(月) 10:42:34begin
チェック処理
if エラー then
begin
Enabled := False;
Application.ProcessMessages;
Enabled := True;
hoge.SetFocus;
end;
end;
0169デフォルトの名無しさん
2006/10/16(月) 16:57:310170デフォルトの名無しさん
2006/10/16(月) 17:36:530171デフォルトの名無しさん
2006/10/17(火) 01:33:57ありがとうございます。
WM_KILLFOCUSでも同じでした。
>>167,168
ありがとうございます。
TComboBox の派生クラスに OnValidate イベントを実装したいのです。
0172デフォルトの名無しさん
2006/10/19(木) 10:09:05procedure TMyCombo.DoExit;
var
Cancel: Boolean;
begin
if Assigned(FOnValidate) then begin
Cancel := False;
FOnValidate(Self, Cancel);
if Cancel then begin
SetFocus;
Exit;
end;
end;
inherited;
end;
0173デフォルトの名無しさん
2006/10/19(木) 10:47:13SQLServer2000 使用です。
exceptにて、EDatabaseErrorが発生した場合に、
そのエラーNoを取得したいのですが、どのように書けばよいのでしょうか?
現時点では下のように書くところまでやりました。
except
on E: EDatabaseError do
begin
Result := False;
end;
end;
0174デフォルトの名無しさん
2006/10/19(木) 11:09:58いろいろ考えられるね。
・E.MessageにエラーNoが入ってるならそこから抽出する。
・E.ErrorNoみたいのがあるならそれを使う。
・SQLServer2000にGetLastDBError見たいな関数があるならそれを利用する。
0175デフォルトの名無しさん
2006/10/19(木) 11:19:34BDE使ってるならEDBEngineErrorでcatchすれば
エラーの詳細が取れるけど。
どうやって接続してるの?
0176173
2006/10/19(木) 11:24:15すみません、もっと根本的な問題だったようです。
やりたいことは、レコードロックによるタイムアウトエラーを取得したいのですが、
タイムアウトはEDatabaseErrorではないようです。
タイムアウトはEDatabaseError以外のどのExxxErrorでとれるのでしょうか?
0177173
2006/10/19(木) 11:25:55データモジュールにADOConnectionを貼り、ADOQueryで実行しています。
0178デフォルトの名無しさん
2006/10/19(木) 11:35:44そこまで細かいことは自分で調べちゃった方が早くね?
0179デフォルトの名無しさん
2006/10/19(木) 11:46:42on E: Exception で捕まえて、E.ClassNameを調べる
0181デフォルトの名無しさん
2006/11/04(土) 19:10:27EnterとAcquire、LeaveとReleaseの違いは何ですか?
いろいろ試した限りでは同じ処理に見えるのですが・・・
0182デフォルトの名無しさん
2006/11/04(土) 22:59:27ヘルプ見た?
その上で動作が同じだと判断するなら同じなんです
深く考えすぎないほうが良いかと
0183デフォルトの名無しさん
2006/11/06(月) 22:23:11TCriticalSectionのページに行こうとしても、
リンクがみつかりません って出るんですよ
無料のDelphi6だからかな? まぁ気にしないことにします
0184デフォルトの名無しさん
2006/11/07(火) 11:13:410185デフォルトの名無しさん
2006/11/07(火) 18:24:070186デフォルトの名無しさん
2006/11/23(木) 13:53:16チェックボックスに分けて選んでリレーを
ON/OFFしたいんですが
procedure TForm1.Button1Click(Sender: TObject);
begin
Relay[Time]:=True;
Time:=Time+1;
RelayChange;
end;
これからどう増やせばいいでしょうか?
どうかよろしくお願いいたします。
0187デフォルトの名無しさん
2006/11/23(木) 20:25:23日本語でおk
0188デフォルトの名無しさん
2006/11/25(土) 17:27:49http://www.highdots.com/css-tab-designer/
オフィスっぽいGUIは、どんなコンポーネントを使っているんでしょうか?
0189188
2006/11/25(土) 17:28:270190デフォルトの名無しさん
2006/12/25(月) 17:35:38自作クラスのコンストラクタの引数で作業フォルダのパスを指定して
フォルダが存在しなければ作成ってのをやろうと思うんだけど、
try〜finallyの手前でCreateすると例外が発生したときに例外を捕まえられないし
try内の先頭でCreateするとコンパイルで「初期化されていない可能性があります」と警告が出る。
コンストラクタは内部変数の初期化だけにしておいて
作業フォルダのパス指定は別メソッドにしておいたほうがいいのだろうか・・・
0191デフォルトの名無しさん
2006/12/25(月) 19:14:46try
Create
try
hoge
finally
hoge
end;
finally
hoge
end;
0192デフォルトの名無しさん
2006/12/29(金) 14:20:58Delphiにおいてはコンストラクタ内で発生して捕捉されない例外は
コンストラクタの失敗を意味する。
0193デフォルトの名無しさん
2007/01/06(土) 19:54:050194デフォルトの名無しさん
2007/01/27(土) 03:40:040195デフォルトの名無しさん
2007/01/27(土) 03:58:26TCoolBar のバンドの .Control に TToolBar 設定して、
TToolBar.Menu に TMainMenu 設定。
0196デフォルトの名無しさん
2007/01/31(水) 17:58:13良い方法はありますか?
QuickReportで良いのですがQuickReportは汎用画像出力が出来ないので...
0197196
2007/01/31(水) 19:05:07でもWin32用が無いお。
0198デフォルトの名無しさん
2007/01/31(水) 23:11:14日本語でおk
0199デフォルトの名無しさん
2007/01/31(水) 23:15:30で、最終的に、印刷じゃなくて、画像にしたいと。
0200デフォルトの名無しさん
2007/03/02(金) 07:58:21win32に、WCaption: WideString みたいなメンバを追加して
さらにくそでかく遅いバイナリしか生成できなくする。
これなら.netでいいや、ってなりwin32死滅。
0201デフォルトの名無しさん
2007/03/02(金) 16:54:350202入門きぼん
2007/03/18(日) 23:52:34DelphiTurboExplorerを、サイトからDLして使用したいと考えているのですが、
ユーザー登録をすませても、DLページに行けずに困っています。
それと、フリーのデーターベースであるFirebirdと
繋げられるのでしょうか?
やはり製品版でないと無理なのでしょうか?
自分は、単純に初心者向けプログラムである。
CDやDVDの在庫管理アプリを作りたいだけなんですが、
自分の労力以外は、極力フリーで作りたいと思っています。
可能でしょうか?
宜しくお願いします。
0203デフォルトの名無しさん
2007/03/19(月) 00:54:430204デフォルトの名無しさん
2007/03/19(月) 01:06:50The page cannot be found
0205デフォルトの名無しさん
2007/03/19(月) 06:01:060206デフォルトの名無しさん
2007/03/19(月) 11:33:22HTTP Error 404 - File or directory not found.
0207デフォルトの名無しさん
2007/03/19(月) 20:46:50ttp://torrent.borland.com/turbodelphi_jp.exe
0208202
2007/03/19(月) 21:55:11すみません。
やはりHTTP Error 404 - File or directory not found.になります。
みなさん、ありがとうございました。
残念で、悲しいですが、すみませんがDelphiあきらめます。
0209デフォルトの名無しさん
2007/03/19(月) 22:07:23http://www.codegear.com/tabid/144/Default.aspx
0210デフォルトの名無しさん
2007/03/20(火) 00:22:270211デフォルトの名無しさん
2007/03/21(水) 07:19:260212デフォルトの名無しさん
2007/03/21(水) 23:56:26ifのあとに条件をズラーッとandでくっつけるしかないのでしょうか?
例えばxが1 3 5 6 7 10・・100と不規則なときに、一定の動作をさせたいです。
0213デフォルトの名無しさん
2007/03/22(木) 00:14:261,3,5,6,7,10,100: 〜〜';
else
〜〜;
end;
0214デフォルトの名無しさん
2007/03/22(木) 07:13:44ってのもあるよ
0215デフォルトの名無しさん
2007/03/22(木) 14:14:54二次元配列があり地図のようになってるとします。
その時に●から一番近い5(複数ある)への経路を求める問題。
マスは30*30
●は(16、16)
0は通れる、1は通れない、4はいやな人
で、5の周りに4がいた場合それは目的の5にはなりません。
000000000000000000000000000000
000000000000000000000000000000
000000111100000000050000000000
000000001100000000000000000000
000000000100541110000000000000
000000000000111111000000000000
000000000000000000000000000000
001100000000000000000000000000
00000000000000●000000000000000
000100000000000000000000000000
000100000000000111111110000000
000000000000000000000000000000
000000500000000000050000000000
000000000000000000000000000000
000000000000000000000000000000
0216デフォルトの名無しさん
2007/03/23(金) 12:23:282chのレス数じゃ無理w
試しに幅優先探索して書こうとしたら、600行超えたからやめたw
0217デフォルトの名無しさん
2007/03/23(金) 17:39:42たけしのコマ大かと思った・・・。
斜め移動はあり?
地形は固定?
障害物1等のオブジェクトは、定数?
つっこむ所が多々ありそうだなぁ。
0218デフォルトの名無しさん
2007/03/24(土) 19:35:42普通にA*でいいんじゃないの?
>>216
600行はありえん。
0219デフォルトの名無しさん
2007/03/25(日) 00:12:27俺は斜め移動無し、固定でMAPはファイルからそのまんま読み込んだ状態としたよ
んで、今の箇所から上下左右で自分の関数を呼び出して、再起関数にして探してった。
でもこれじゃ全数検索になってしまう。
こういうアルゴリズム習ったけどやり方有ってるか不明
>>218
A*って何?
0220デフォルトの名無しさん
2007/03/25(日) 04:42:33暇つぶしに >>215 をやってみた。5時間かかったお。
再帰呼び出しとかは使えないし分からんので、長めになっちゃった。
キュー(FIFO)をやってみようと思って、ポインタとか使ってみたけど訳分からん。
ttp://strawberry.web-sv.com/cgi/up/iuy/nm4383.zip.html
(フォームにボタン1個要)
だって、MC工作機械マクロ言語に再帰呼び出しとかポインタなんて無いよ orz
あ、でも、なんちゃってポインタは出来るかな? #(#10) な感じで。
0221デフォルトの名無しさん
2007/03/25(日) 07:25:370222デフォルトの名無しさん
2007/03/27(火) 02:25:05TurboExplorerにもなかったりします?
0223デフォルトの名無しさん
2007/03/27(火) 06:53:37名前がセレクトフォルダじゃないからダメなの?
0224デフォルトの名無しさん
2007/03/28(水) 09:12:040225デフォルトの名無しさん
2007/03/28(水) 09:45:16で解決したのがわんさかあったけど、いまは知らない
0226デフォルトの名無しさん
2007/03/28(水) 09:54:17SelectDirectoryはとりあえずあればいいやみたいなもんだし
0227デフォルトの名無しさん
2007/03/28(水) 21:40:15FileCtrl;
procedure TForm1.Button1Click(Sender: TObject);
var
dir: string;
begin
MoveWindow(Application.Handle , Left ,Top ,0 ,0 ,False);
SelectDirectory('表題', '', dir);
Label1.Caption := dir;
end;
0229デフォルトの名無しさん
2007/03/31(土) 10:40:580230デフォルトの名無しさん
2007/04/07(土) 19:52:37Firebirdはまだ触ったこともないし、BDEもそのとき玉々作ってみただけの
データベース素人ですが。
0231デフォルトの名無しさん
2007/04/08(日) 13:26:52どういう作りになっているのかにも寄るけど
簡単には無理じゃね。
0232デフォルトの名無しさん
2007/04/08(日) 20:33:05ありがとうございますm(_ _)m
やっぱ作り直しですか。
0233デフォルトの名無しさん
2007/04/08(日) 20:57:31InterBase Data Access に変えるだけで問題ないだろし
そうでないなら、それなりに大変だろうってだけさ
0234デフォルトの名無しさん
2007/04/08(日) 21:59:340235デフォルトの名無しさん
2007/04/10(火) 13:29:140236デフォルトの名無しさん
2007/04/10(火) 20:04:010237疑問
2007/04/16(月) 02:52:02var
Integer: string;
begin
Integer := 'Double';
Writeln(Integer);
end.
0238デフォルトの名無しさん
2007/04/16(月) 08:03:01変数として使うと、
使った後整数型の定義とか、型変換とかで困ってしまうよ
他の型名とか自分で定義する型名も同じ事情があるよ。
0239デフォルトの名無しさん
2007/04/16(月) 16:19:270240デフォルトの名無しさん
2007/04/16(月) 23:21:03なんでだろ。
Windows.hとかのCからコンバートしたときのための兼ね合い?
似たようなので、引数でも例外あったような
0241名無し@沢村
2007/04/17(火) 00:10:20Delphiはつまらんぞー!
おみゃーたー、『肥えた語』つー言語があるの知ってる?
おりは知ってるよ。
おりがつくった言語よ。これからh『肥えた語』の時代よ。
URLはここよ↓
http://www.geocities.jp/hontamagod/
感想を頼むなー♪
0242デフォルトの名無しさん
2007/04/23(月) 22:52:08以前入れたときは確か、すんなり入ったのですが。
..\JEDI\jvcl\run\JvJVCLUtils.pas(7359) エラー: E2010 'Char' と 'string' には互換性がありません
..\JEDI\jvcl\run\JvJVCLAboutForm.pas(115) 致命的エラー: F2063 '..\..\run\JvJVCLUtils.pas' ユニットはコンパイルできませんでした
ほかにも出てきます。
pas は秀丸では欧文フォントで文字化けなしに読めたんですが「TM」とかの特殊文字が
○株みたいに扱われているんでしょうか、Shift-Jis ではChar扱いしてもらえないようです。
OSは Vista
D5 にはインストールされています。
m(_ _)m
0243デフォルトの名無しさん
2007/04/23(月) 23:02:280244デフォルトの名無しさん
2007/04/23(月) 23:05:380245デフォルトの名無しさん
2007/04/23(月) 23:07:220246デフォルトの名無しさん
2007/04/23(月) 23:17:26そんなに古いのー?
0247デフォルトの名無しさん
2007/04/23(月) 23:18:12しばらくD5で使ってたのでそれをそのままフォルダからインストールしようとしてました。
0248デフォルトの名無しさん
2007/04/23(月) 23:19:480249デフォルトの名無しさん
2007/04/23(月) 23:28:30はき出す場所が違うからOKだと思っていたのですが、
とりあえず2005には最新版を入れてみます。
0250デフォルトの名無しさん
2007/04/24(火) 20:28:58入れてみましたが状況は変わりませんでした(x.x)
0251デフォルトの名無しさん
2007/04/24(火) 21:14:09とりあえずJcl*.bplとJv*.bplを削除してみたら?
0252デフォルトの名無しさん
2007/04/24(火) 21:28:50結局使わない部分っぽかったので修正して無理矢理入れてしまいました。
JvgUtils.pas
function Transliterate(const Str: string; RusToLat: Boolean): string;
コメントアウトで Result := Str;
JvDBGrid.pas
FCharList :=
['A'..'Z', 'a'..'z', ' ', '-', '+', '0'..'9', '.', ',', Backspace{,
'e', 'e', 'e', 'e', 'o', 'o', 'u', 'u', 'a', 'a', 'a', 'i', 'i', 'c'}];
下半分をコメントアウト
JvJVCLUtils.pas
// Text: Char;
Text: string[2];
Char を string に変更
JvStrToHtml.pas
特殊文字 27 個コメントアウト
ありがとうございましたm(_ _)m
■ このスレッドは過去ログ倉庫に格納されています