くだすれDelphi(超初心者用)その15
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
<前スレ>
くだすれDelphi(超初心者用)その14
http://pc5.2ch.net/test/read.cgi/tech/1085239007/
<関連スレ>
Delphi相談室(中級者以上)その12
http://pc5.2ch.net/test/read.cgi/tech/1064420818/
【ドキュメント】Delphi8 for .NET 2【どこ?】
http://pc5.2ch.net/test/read.cgi/tech/1078695271/
<その他>
ボーランド
http://www.borland.co.jp/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
0002デフォルトの名無しさん
NGNG13 http://pc5.2ch.net/test/read.cgi/tech/1081003641/
12 http://pc5.2ch.net/test/read.cgi/tech/1076610073/
11 http://pc2.2ch.net/test/read.cgi/tech/1074523803/
10 http://pc2.2ch.net/test/read.cgi/tech/1074523803/
09 http://pc2.2ch.net/test/read.cgi/tech/1071294733/
08 http://pc2.2ch.net/tech/kako/1068/10682/1068201045.html
07 http://pc2.2ch.net/tech/kako/1065/10651/1065195699.html
06 http://pc2.2ch.net/tech/kako/1063/10632/1063202727.html
05 http://pc2.2ch.net/tech/kako/1061/10610/1061090908.html
04 http://pc2.2ch.net/tech/kako/1058/10588/1058834815.html
03 http://pc2.2ch.net/tech/kako/1055/10559/1055986736.html
02 http://pc2.2ch.net/tech/kako/1053/10537/1053757982.html
01 http://pc2.2ch.net/tech/kako/1051/10518/1051882835.html
0003デフォルトの名無しさん
NGNG0004Delフサギコ ◆A6VzDeLphI
NGNG⊂ミ゚Д゚⊂,,,,,,,`つ≡≡(´⌒;;;≡≡≡
ズザーーーーーッ (´⌒(´⌒;;
4げ......
やれやれ・・・
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
ポ ∧,,∧ ポ
ン ミ,,゚Д゚,彡 . ン
(´;) U,U ミ〜 (;;).
(´)〜(⌒;;UU (´ )...〜⌒(`)
0005デフォルトの名無しさん
NGNG乙
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGTTrackBarのバーをドラッグ中にOnChangeを発生させない方法はありませんか?
OnChangeに限らず、Positionが変わっていて、マウスボタンが離された時を検出できればいいのですが...
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG> Positionが変わっていて、マウスボタンが離された時を検出できればいいのですが
TTrackbar がフォームの上に置かれていればサブクラス化の必要はない。フォームで
Orientation が trHorizontal のときは WM_HSCROLL 、trVertial のときは
WM_VSCROLL メッセージを受け取って
private
{ Private 宣言 }
public
procedure WMHScroll(var Msg:TWMHScroll);message WM_HSCROLL;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
uses
CommCtrl;
procedure TForm1.WMHScroll(var Msg: TWMHScroll);
begin
inherited;
if (Msg.ScrollBar = Trackbar1.Handle) and (Msg.ScrollCode = TB_ENDTRACK) then
Label1.Caption := InttoStr(Trackbar1.Position);
end;
のようにする。
00107
NGNG解決しました。
0011デフォルトの名無しさん
NGNGことが可能な暗号コンポーネントとかないでしょうか?
0012デフォルトの名無しさん
NGNG送ると言うところで、ちょっと戸惑ってます。
今はDelphiでプログラミングしていますが、最終的には
Kylixでコンパイルして、Linux上で動かす予定です。
ところが、TBitmapがXWindowなしには利用できない
みたいで困ってます。まあ、何らかのWindowシステムが
ないと、文字を描くのも不可能だから、当然といえば
当然なんでしょうが。
簡単なイメージなんで、最悪、メモリストリームに直接
アクセスして「お絵描き」しようかなとも考えてますが、
何か他にいい方法ある?
0013デフォルトの名無しさん
NGNG自分で作ればいいじゃん、とか思った漏れは素人ですか?
0014デフォルトの名無しさん
NGNGTMainMenuの領域内の色をWindowsの設定を変更しないで変更することはできるでしょうか?
0015デフォルトの名無しさん
NGNGですが、書き方が分かりません。
VBAでいうところの
SendKeys "{PGUP}"
SendKeys "{PGDn}"
みたいなものでいいんですが。
0016デフォルトの名無しさん
NGNGオーナードロー
>>15
キーを送るよりも LeftCol と TopRow を VisibleColCount、VisibleRowCount の
分だけ変化させることで、左上に位置するセルを指定するのがいいと思います。
それぞれ範囲を超えないように注意してください。
0017デフォルトの名無しさん
NGNGなるほど、とうなずくことができるにはまだまだ遠い未熟さが情けないですが、
とにかくヒントとしていただいた、VisibleColCount、VisibleRowCount
を手がかりにひたすら粘ってみます。
001815
NGNGMyList.Row:=MyList.Row + MyList.VisibleRowCount
でいけますね。
あとは、最初の最後どん詰まりの部分の処理の仕方。
たぶん何とかなります。
ありがとうございました。
001915
NGNGきっちゃないコードですけど↓
procedure TForm2.PgAtoClick(Sender: TObject);
var
NanGyouMe:integer;
begin
MyList.Col:=0;
NanGyouMe:=MyList.Row+MyList.VisibleRowCount-1;
MyList.TopRow:=NanGyouMe;
MyList.Row:=NanGyouMe;
end;
procedure TForm2.PgMaeClick(Sender: TObject);
var
NanGyouMe:integer;
begin
MyList.Col:=0;
NanGyouMe:=MyList.Row-MyList.VisibleRowCount+1;
if NanGyouMe<1 then
begin
MyList.TopRow:=1;
MyList.Row:=1;
exit
end;
MyList.TopRow:=NanGyouMe;
MyList.Row:=NanGyouMe;
end;
0020デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.Perform(WM_VSCROLL,MakeWParam(SB_PAGEDOWN,0),0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
StringGrid1.Perform(WM_VSCROLL,MakeWParam(SB_PAGEUP,0),0);
end;
0021デフォルトの名無しさん
NGNG動作がおかしくなっちゃった。
こんなもんです? そうですか。
0022デフォルトの名無しさん
NGNGCのライブラリをBCCでビルドしてリンクするのが手っ取り早い。
0023デフォルトの名無しさん
NGNG自由に閉じる方法はありますか。
0024デフォルトの名無しさん
NGNG閉じたいと思うの?
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGあ、ボタンを押さずしては念じてという意味ではないです。すみません。
あるデバイスを「取り外してください」というメッセージを、取り外したのをプログラムが感知したら
勝手に閉じたいのです。
>>25
情けないのですがフォームを二つ作るのに苦手意識がありまして・・・できる限り
そうでないやり方を探したいのです・・
0027デフォルトの名無しさん
NGNGふいちまった。
0028デフォルトの名無しさん
NGNGボタンにマウスカーソルが自動的に移動してくれないんだけど
どうにかならないの?
0029デフォルトの名無しさん
NGNGif Screen.ActiveForm.ClassName = 'TMessageForm' then
Screen.ActiveForm.Close;
0030デフォルトの名無しさん
NGNG「ボタンにマウスカーソルが自動的に移動」させるプログラムがアホなんでは?
0031デフォルトの名無しさん
NGNGあわせるのはOS。コンパネ-マウスで設定するやつ。
0032デフォルトの名無しさん
NGNGなるほど、そういう手もありますね。
昨夜から検索してて、UCrypt.pasってのが
OpenJane関連で見つかったんですが、
どうもトリップの作成用みたいで、こちらを
まず試してみます。
0033デフォルトの名無しさん
NGNGスマートムーブっていうのね。たしかに Delphi 製のボタンには行かないね。
コモンダイアログなら大丈夫だけれど。何が違うんだろう。デフォルトボタンの
設定の仕方かしら?
0034デフォルトの名無しさん
NGNGなんかは山ほどあるよね。そういうのは使えないの?
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNGできました。ありがとうございます。
0037デフォルトの名無しさん
NGNGMLで昔同じ質問があって、中村氏が答えてた記憶がある。
Delのウィンドウ(ボタン等)に問題があるって言ってたような。
0038デフォルトの名無しさん
NGNGDEFPUSHBUTTON で指定したものは Delphi でコンパイルしても正常にカーソルが
動くね。むしろ、Delphi のフォームのウィンドウ関数がダイアログプロシージャと
して働いてないのが問題なのでは。
0039デフォルトの名無しさん
NGNGま、そんなところがかわいいのだけれど。
0040デフォルトの名無しさん
NGNGそんなこと言い出したら、VBもだよって言いたくなるレベルだな、デルヒって。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGだから、CみたくリソースエディタつかったダイアログをDelphiでつかえば
標準動作になるよ。問題なのは、TForm + TButton なわけで、C とコンパチ
のところではむしろ無問題。
0044デフォルトの名無しさん
NGNG40や42のようなアフォに説明しても無駄
0045デフォルトの名無しさん
NGNGよろしくお願いします。
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGあたまわるそうな書き込みで、読む方が恥ずかしくなってきた。
0049お前がウザい
NGNG0050デフォルトの名無しさん
NGNGAnsiPos関数以外を使った方法でできないでしょうか?
AnsiPosだと一箇所しか返してくれないので、何かいい方法があったら教えて下さい。
お願いします。
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG何が気に入らないのか分からないけど、放置しときなさい。
0053デフォルトの名無しさん
NGNGありがとうございました。
0054デフォルトの名無しさん
NGNGどういったコーディングをすればいいですか?
表示した瞬間は最も手前に表示され
他のアプリやフォームをクリックしたり切り替えたりしたら消えるようにしたいです。
0055デフォルトの名無しさん
NGNGApplicationEvents のOnActivateとOnDeactivate
をうまく利用すればできる。
そのフォームだけで他にもフォームを表示させてるのなら
FormのOnActivateとOnDeactivate
タイマーを利用すればある程度時間を空けて消したりできる。
0056デフォルトの名無しさん
NGNG使用したいこまんどはNET USEです。
Delphiのバージョンは7です。
WinExecをで実行しようとしたのですが、うまくいきませんでした。
よろしくお願いします。
0057デフォルトの名無しさん
NGNGでもWinExecでもいけるはずだけど。
GetLastErrorの値見るかWin32Checkで囲ってエラーの内容調べてみたら?
0058デフォルトの名無しさん
NGNG聞いたものですが、データベースエクスプローラーを使えと教えてもらいました。
グラフィック型も同じと思っていたらどうも違うようなのですが、何処で入力すれば
いいのでしょうか?
教えて君ですみません。
0059デフォルトの名無しさん
NGNGTStringListで管理してファイルに保存したいのですが...
色のリストが保存できればなんでもいいのですが。
0060デフォルトの名無しさん
NGNGStringToColor
0061デフォルトの名無しさん
NGNG006215
NGNG遅まきながら感謝です。
>>19 にのせたコードは見直したら不備だらけで、実験を何回か繰り返しながら
どうにかモノにしました。
不細工ながら、それはそれでとりあえず満足。
こちらももちろんありがたくいただいておきます。
0063デフォルトの名無しさん
NGNGコンストラクタ(create)内では、まだ反映されておらず、
デフォルト値のままなのでしょうか?
0064デフォルトの名無しさん
NGNGまたそれがコンストラクタの後だと言うことは分かったのですが、
ReadStateがどのようにしてプロパティから値をとているか教えていただけませんか?
コンストラクタ内でプロパティの値で条件分岐がしたいのです。
どなたかよろしくお願いします。
0065デフォルトの名無しさん
NGNGプロパティを読み込むのはTReaderの仕事らしいけど、
それよりも、なぜそういうことをしたいのか詳細を書いた方が回答をもらいやすいかも。
0066デフォルトの名無しさん
NGNG(金も知識もゼロ…)
(Delphiが良い感じなんでやろうと思う)
m9っ`・ω・´)<良い書籍やサイトは有りますか!?
<誘導して下さい!
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGageても良いんだぜェ!
単発質問スレ乱立を防ごうサ!
0069デフォルトの名無しさん
NGNG古い本かもしれないけどSOFTBANKから出てる「遊びのレシピ」って本がお勧め。
Delphiを使ったいろんなジャンルのゲームの作り方が載ってる。
0070デフォルトの名無しさん
NGNGそんな貴方にRPGツクール
0071デフォルトの名無しさん
NGNG【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
http://pc5.2ch.net/test/read.cgi/gamedev/1051110669/
0072デフォルトの名無しさん
NGNGまさかMemoryStream使うとか・・・
0073デフォルトの名無しさん
NGNGえーと・・・・・・・・・・・・?
0074デフォルトの名無しさん
NGNGぐぐればサイトはなんぼでも出てくる。
れっつとらい。
ただし只で手に入るDelphi6Personalは商用アプリ開発不可なので、
即売会で売ったりダウンロード販売するためには、Professional版を
購入する必要あり。
0075デフォルトの名無しさん
NGNG現在タブ部分のヒントは、全てPageControlの物が出てしまいます。
0076デフォルトの名無しさん
NGNG[致命的エラー] CGIMailer.dpr(4): ファイル 'IdCompilerDefines.inc' が見つかりません
って出るんだけど、俺だけ?(´・ω・`)ショボーン
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGあきらめます。
0079デフォルトの名無しさん
NGNG.NETやJavaは文字列がオブジェクトなので専用の構築クラスを使わないと遅くてやってられないが
Delphiだと+演算子使いまくっても充分なスピードがでるよ
一応TStringStreamってのもある
…ってので満足か?
>>73 多分>>72はよくわかってない煽り
0080デフォルトの名無しさん
NGNGC:\Program Files\Borland\Delphi7\Source\Indyに普通に存在するが?
008178
NGNGありがとう。
それから、Indyのホームページぐぐったら、
Del7のは、バグがあるからDel6が良いってのがあったんですが、
Lクライアントとかサーバーとか勉強して作りたいんですが、使わない方が良い?
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGドキュメントがないって言う意味で。分かるならいいけど。
0084デフォルトの名無しさん
NGNGDel1からDel7をWin2000にインスコってできるのか?
0085デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
A: array of array of Integer;
begin
SetLength(A, 10, 100);
ShowMessage(IntToStr(Length(A) * Length(A[0]) * SizeOf(Integer))); //4000
end;
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGわかりました。
0088デフォルトの名無しさん
NGNGとりあえず6,7,8は共存させて問題ない(私のPCがそうだから)
0089デフォルトの名無しさん
NGNGなるほど。
いまPCにインスコされてるやつはDel3とDel5。
Del3が入るならDel4は当然入ると思うから良しと。
そこで、Win2000にDel2.0Jが入るのか疑問に思っているところなんだ。
0090デフォルトの名無しさん
NGNG2,3,4,5を入れてる人がいた。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGTReaderでしたか、ありがとうございます。
タスクトレイにアイコンを表示させるための、コンポーネントを作っているのですが、
コンストラクタ内でFTask(駐屯型かどうか)の値をもとに、
アイコンを登録するかどうかでわけたいのです。
駐屯型でない場合は、最小化時のみ、アイコンを表示させようと思っています。
NID:TNotifyIconData;
constructor TTrayIcon.Create(Owner: TComponent);
begin
if not (csDesigning in ComponentState) then begin
・・・
with NID do begin
・・・
end;
// FTray ← の値が常にFalseだから使えない。。。
if FTray then Shell_NotifyIcon(NIM_ADD, @NID); {アイコン登録}
end;
end;
既存のコンポーネントで、Visibleの値をもとに、
表示したり、されなくしたりするのはどのようにしているのでしょうか。
0093デフォルトの名無しさん
NGNG>PageControlに追加したTabSheetの各タブに出るヒントを、別々の物にする方法は?
uses
CommCtrl;
procedure TForm1.ApplicationEvents1ShowHint(var HintStr: String;
var CanShow: Boolean; var HintInfo: THintInfo);
var
i,itm:integer;
r:TRect;
begin
if HintInfo.HintControl.Name = 'PageControl1' then begin
itm := -1;
for i := 0 to PageControl1.PageCount-1 do begin
PageControl1.Perform(TCM_GETITEMRECT,i,LPARAM(@r));
if PtInRect(r,HintInfo.CursorPos) then itm := i;
end;
if itm <> -1 then HintStr := IntToStr(itm)+'-th tab だよ';
end;
end;
0094デフォルトの名無しさん
NGNGDelphiでそれにあたるようなプログラムは何でしょう?<最初に作れと言われるプログラム
0095デフォルトの名無しさん
NGNGコンソール版hello,worldと
ボタンを押すとメッセージが表示されるフォーム版hello,world
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGhttp://www.w-frontier.com/delphi/index.html
はどう?
0098デフォルトの名無しさん
NGNGタグの出力等を支援してくれるライブラリってない?
0099デフォルトの名無しさん
NGNG入力ならともかく出力は単なるテキストファイルの出力なんだから
私怨とかいらないんじゃないの?具体的にどんな私怨が欲しいの?
0100デフォルトの名無しさん
NGNGrubyのCGIクラスやphpみたいなの
0101デフォルトの名無しさん
NGNGIntraWeb使ってしまえばぽとぺたでHTML吐けるよ
0102デフォルトの名無しさん
NGNGでタクスバーのアイコンを非表示にしているのですが、
Application.Minimize;
を実行すると、ちょこっとタクスバーに
アイコンが現れてしまって困っています。
解決策はありますか?
どうぞ一つご教示お願いします。
0103デフォルトの名無しさん
NGNGMicroSoft社の製品ではない。
「Visual Basic」よりも後に発表された。
名もあまり知られていない言語に手を出したくはない。
参考書があまり出回っていない。
みんながやってるものをやった方が安心する。
企業であまり使用されていない。(使ってる所では使ってますが…)
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG隠すんじゃなくて、WS_EX_TOOLWINDOW属性をつけてやる
>>103
何を今更
0106デフォルトの名無しさん
NGNG>103は知っててわざと書いてるんでしょう。
アマチュアか敗北した人にそういうことをする人がいる。
0108102
NGNGとアプリケーションが実行する前に読ませてやるとタスクバーに
表示されなくて、その点ではうまくいっているのですが、
最小化をした時に左下にフォームのタイトルバーが現れてしまいます…
0109デフォルトの名無しさん
NGNG>>97のサイトからのコピペだよ
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGちょっとややこしいけどイイかな?
それでよかったらコードを掲載可能。
0113デフォルトの名無しさん
NGNG了解。
0114デフォルトの名無しさん
NGNGソケット入門って言うネタが成立するならやってみたいです。
でも、ソケットって言葉では知ってしても実際プログラムとしては
どんなものか分かってないので。
Indyではソケットって無いんですか?
0115デフォルトの名無しさん
NGNGメインフォームのInterface部に以下を記述
//●何も考えずにメインフォームにコレを記述●
THideTaskBarApplication = class(TApplication)
public
constructor Create(AOwner: TComponent); override;
end;
メインフォームのimplementation部に以下を記述
//●何も考えずにメインフォームにコレを記述●
constructor THideTaskBarApplication.Create(AOwner: TComponent);
var
WndStyle: Integer;
begin
inherited;
WndStyle := GetWindowLong(Handle, GWL_EXSTYLE);
WndStyle := WndStyle or WS_EX_TOOLWINDOW;
SetWindowLong(Handle, GWL_EXSTYLE, WndStyle);
end;
//●何も考えずにメインフォームにコレを記述●
initialization
Application.Free;
Application := THideTaskBarApplication.Create(nil);
end.
0116デフォルトの名無しさん
NGNG登録ボタンを押した時にTEdit上に書いてあった内容を
テキストファイルに保存するにはどうしたらいいでしょうか?
0117デフォルトの名無しさん
NGNGそれって SetWindowLong() でセットするのとどこが違うの?
0118デフォルトの名無しさん
NGNGとりあえず、'C:\File.txt'に保存する例。
procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
begin
AssignFile(F, 'C:\File.txt');
Rewrite(F);
try
Write(F, Edit1.Text);
finally
CloseFile(F);
end;
end;
0119デフォルトの名無しさん
NGNG>最小化をした時に左下にフォームのタイトルバーが現れてしまいます…
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
Form1.Visible := false;
end;
0120デフォルトの名無しさん
NGNGプロジェクトファイルに
SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
ですむんじゃないの
0121デフォルトの名無しさん
NGNGおおまかに言えば Indy はソケットのラッパ。VCL が Win32API のラッパ、という
のと同じような意味で。
Delphi言語でソケット入門っていうのは分かるけど、Indy でソケット入門というのは
ちょっと意味不明な感じ
0122116
NGNGできました。ありがとうございます
0123102
NGNG>>117
>>119-120
レスありがとうございます。
一応思い通りの事ができました。
115さんのが完全に理解できていませんが
うまくいったので満足です。
また勉強したいと思います。
ありがとうございました。
0124デフォルトの名無しさん
NGNGapplication.MessageBox(PChar(文字列),PChar(文字列));
この文字数に上限はあるんでしょうか
実験したところ500,600程度はあっさり表示してしまいます
この文字列部分は変数なんですが、もし上限があるとするなら、そこに
達する直前で切ってしまいたいので(勝手に切ってくれるんだったらそれでも
いいんですけど)
0125デフォルトの名無しさん
NGNG結構ややこしくてとにかく理解するには大変だから、とりあえず
これを記述すると表示されなくなることが分ればOK。
今後も必要になった時に貼り付ければイイという感じ。
0126デフォルトの名無しさん
NGNG何文字あれば十分ですか?2ギガバイトぐらいはいくかもしれませんが
もっと低い制限かましたほうが無難でしょうね
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG2ギガって、そんなにいけちゃうんですか。
商品別の売上履歴をメッセージボックスの形で表示させてるんです。
XXXX年XX月XX日 X点
YYYY年YY月YY日 Y点
・・・みたいな感じ
でもって、データ元は全履歴テーブルから過去一年分だけ抽出したクエリ。
だから365行分あれば充分なんですけど。
実際には画面の大きさがあるからそんなに表示できるわけないし、
365日間、毎日切れ目なく売れる商品があるわけでもない。
たぶん多くても70〜80行といったところだと思います。
とりあえず尻尾切りはしなくても、最悪画面からはみ出すだけと
考えて大丈夫なわけですね。
0129デフォルトの名無しさん
NGNGあれは API の MessageBox のラッパでしょ。Delphi というより API の話ね。
普通、StringGrid か ListView かを載せたフォームで表示させるんでは。
0130デフォルトの名無しさん
NGNGいくつかのクラスをファイル入出力させるためTHogeというクラスを作り、
Dataプロパティに先ほどのTDataクラスを保持させるようにしています。
THoge = class(TComponent)
published
property Data: TPersistent read FData write SetData;
end;
WriteComponentできちんと書き込みは出来ているのですが、
実行時のDataプロパティの実際の型が不定のため、
ReadComponentでうまく読み込むことが出来ません。
やはりDataプロパティの実際の型をTHogeにプロパティとして持たせ、
Dataプロパティを偽プロパティを使って、
ストリームからの読み込み時にその型を判別し
個々の読み込みを行うという方法をとるしかないのでしょうか?
なにかスマートな方法がありましたら教えてください。
0131デフォルトの名無しさん
NGNG>>普通、StringGrid か ListView かを載せたフォームで
そうしようとも思ったんですけど。
ストリンググリッド貼りつけたフォームばかりもう何枚もできちゃって、
何だか疲れちゃいました。
この程度の表示だったらメッセージボックスでいいかな、と。
(自分の職場のちっぽけなDBフロントエンドです)
0132デフォルトの名無しさん
NGNGなんというリソースタイプを指定すればよいのでしょうか?
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGオブジェクトインスペクタで行いますが、
このフォーカスの移動をマウスではなくキーで行う方法ってありますか?
0135デフォルトの名無しさん
NGNGプロパティ名をタイプ
tab
0136デフォルトの名無しさん
NGNG「その場ですぐアプリ終了」と「ウィンドウズに終了予約する
だけなので、すぐ終了とは限らない」って言う認識で良いですか?
0137デフォルトの名無しさん
NGNGこんなんあった。
http://alicecafe.jp/d_web/blog/archives/000043.html
0138ななしへたぐらま ◆XcB18Bks.Y
NGNG以前使っていたPCではWinXP上で2,3,5を共存させていました.
古いバージョンから先に入れるのがよいと思います.
古いのを後から入れるとBDEが古いので上書きされます.
>>131
60〜70行だと文字を小さくしても画面をはみ出しそうですね.
フォームにメモかリッチエディットとボタンを貼り付けて
スクロール可能な自前のメッセージボックスを作ってはいかがでしょうか?
(宣言部)
TMyMsgBoxForm = class(TForm)
RichEdit1: TRichEdit; // ScrollBarsをssVerticalかssBothに
Button1: TButton; // ModalResultをmrOKに
end;
procedure MyShowMessage(const s: string);
(実装部)
procedure MyShowMessage(const s: string);
var frm: TMyMsgBoxForm;
begin
frm := TMyMsgBoxForm.Create(Application);
try
frm.Memo1.Text := s;
frm.ShowModal;
finally
frm.Release;
end;
end;
0139デフォルトの名無しさん
NGNGユニットfooを使うアプリのビルドにはどのファイルを検索させればいいの?
baz.bplではなくfoo.dcuへ検索パスを通すのが正解?
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGvar
Pos: TPoint;
NewItem: TMenuItem;
begin
PopupMenu.Items.Clear;
NewItem := TMenuItem.Create(PopupMenu);
PopupMenu.Items.Add(NewItem);
NewItem.Caption := Edit1.Text;
NewItem.Tag := 1;
GetCursorPos( Pos );
PopupMenu.Popup( Pos.X, Pos.Y );
end;
というようにすると、作られるPopupMenuのItems.String[1]に
Edit1.textの文字列だけではなくて、半角の&がどこかに入ってしまいます。
例えばEdit1.Text := 'onegaisimasu';だったら、
'onega&isimasu'のようになってしまいます。
どうすれば入らなくなりますか?教えて下さい。
0142デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGAという非表示コンポーネントを作成して色々な処理を行います。
Aコンポーネントの中に、フォームを呼び出し、値を入力して、チェックする処理をしたいと思い
Bフォームを作って、AコンポーネントでCreateさせました。
Bフォームで入力後、Aコンポーネントのメソッドでチェック処理をするときに
どのように書けばいいのかよくわかりません。
Bフォームを作ったときにAコンポーネントのUnitを追加したのですが
Bフォーム上でAコンポーネントのメソッドをどのようにしたら扱える用になるのでしょうか?
教えてくださいお願いします。
流れ
AコンポーネントCreate
Aコンポーネントのメソッド(Show)を実行
AコンポーネントがBフォームをCreate
Bフォームで入力
BフォームがAコンポーネントのメソッド(Check)を実施 ←この方法がわかりません
0145デフォルトの名無しさん
NGNG整数を表すコードを教えてください。
下のコードの○○(整数値限定)を知りたいという事です。
if Edit1.Text=○○ then
登録する。
else
NGを表示する。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGまたは
try value = StrToInt(Edit1.Text); except on EConvertError do NG end;
0148デフォルトの名無しさん
NGNG発想があまりよくない。入力を限定するのはOnKeyPressでやった方がよい。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
#08:; //[BackSpace]
'0'..'9':; //数字
#$7F:; //[Delete]
else Key:=#0;
end;
end;
もしその方法でやるとしても、if文でやるのは余りスマートな方法とはいえない。
例外処理を使った方がずっと楽。
try
intVar = StrToInt(Edit1.Text);
except
on EConvertError do
ShowMessage('整数を入力してください');
end;
こうすると、
数値に変換できる文字列がEdit1に入力されているならばintVarに代入が行われるが、
変換できない文字列だったらメッセージダイアログが表示され代入は行われない。
0149デフォルトの名無しさん
NGNG例をあげる
public
HonyaLabel:TLabel;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
HonyaLabel := TLabel.Create(self);
HonyaLabel.Parent := self;
HonyaLabel.Left := 10;
HonyaLabel.Top := 10;
end;
こんなふうにつくった HonyaLabel に Unit2 からアクセスするには
uses
Unit1;
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.HonyaLabel.Caption := 'HogeHoge';
end;
0150144
NGNG明日、会社で確認します。
(会社からは2chへアクセス出来ないため家から書き込みしているので)
BフォームではAコンポーネントをCreateしていないので、
どうやって操作するのかイメージがわきませんでした。
どのオブジェクトがCreateしたかは気にしなくていいようですね。
0151デフォルトの名無しさん
NGNGそうですね。重要なことは、書いたコードに部分から HonyaLabel のような
インスタンス参照が見えるかどうかです。上の場合は uses Unit1; が肝心な部分です。
そして、HonyaLabel が Unit1 の interface 部にあり、TForm1 の public フィールド
である、ということが。
0152デフォルトの名無しさん
NGNG登録ボタンとListBoxとComboBoxをフォーム上に配置しています。
そして、ListBoxとComboBoxにはItemsプロパティにいくつか選択肢を入力しています。
登録ボタンを押したときにそれぞれ選択されている選択肢をテキストに保存したいのですが
以下のコードではエラーが出てしまいます。
begin
AssignFile(F,'C:\File.txt');
Rewrite(F);
try
Write(F,ListBox1.Text,ComboBox1); //エラーが出る
finally
CloseFile(F);
end;
end;
どうしたらいいでしょうか?
また、選択肢以外を手書きで入力したときにメッセージで警告表示を促したいのですが
それも教えてください。ShowMessageは知っています。
0153デフォルトの名無しさん
NGNG簡単に言えば
Write(F, 文字列);
とせねばなりません。
0154デフォルトの名無しさん
NGNGそのままじゃ保存できない。
0155デフォルトの名無しさん
NGNGあとComboBox.Style を csDropDownList にしとけば
そもそも手動入力できないようにできます。
0156152
NGNGComboBoxはComboBox1.Textにしたら出来ました。
手動入力はデファルトで入力できる設定になっていましたけど勉強になります。
ただ、手動入力もファイルに保存されてしまうのでShowMessageを使ってNGを出したいです。
0157デフォルトの名無しさん
NGNGいろいろ試しているんですが、
DateToStr(Date)
の年と月と日をそれぞれ別の変数に入れたいんですが、
文字列の分割の仕方がよくわかりません。
xBASE言語のleftstrやrightstrのような関数はないんでしょうか。
0158デフォルトの名無しさん
NGNGxBASEとやらは知らないけど、その名前の関数はあるよ。
uses に StrUtilsを追加しる。
0159デフォルトの名無しさん
NGNGありがとうございます。
でもHELP見ても出てきません。Delphi 5です。
0160デフォルトの名無しさん
NGNGDecodeDate()
> xBASE言語のleftstrやrightstrのような関数はないんでしょうか。
Copy() や AnsiPos() や Length() でもっと柔軟な使い方ができる。
0161デフォルトの名無しさん
NGNGうお、こんな関数あるんだ。どもサンクスです。
助かりました。
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG助かりました
ありがとうございます
0165デフォルトの名無しさん
NGNG入力したいのですがどうやったらできますか?
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGおいら初級者なので間違ってたらごめん(´Д`;)
procedure TForm1.FormCreate(Sender: TObject);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
sl.LoadFromFile('C:\test.txt');
Edit1.Text := sl.Strings[0];
finally
sl.Free;
end;
end;
0168デフォルトの名無しさん
NGNGDecodeDateも調べてみてごらん。
0169デフォルトの名無しさん
NGNG0170165
NGNGありがとうございます
0171デフォルトの名無しさん
NGNGVC++にあるようなやつ。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGエディタの話。
自分の作った関数にジャンプできなくない?
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG[表示]-[コードエクスプローラ]のこと?
0176デフォルトの名無しさん
NGNGそれないよ・・・
まあフリーのやつだからしょうがないか。
0178デフォルトの名無しさん
NGNG0179130
NGNGお手数おかけしました。
0180デフォルトの名無しさん
NGNGCtrlキーを押しながらその関数にマウスカーソルを当てるとハイライトする。それをクリックすると
その関数にジャンプする。という機能?
それともCtrl + Alt + ↓のこと?
スレ違いならスマソ
0181デフォルトの名無しさん
NGNG最近ごちゃごちゃなコード書いてるせいか
むしょうにその機能が使いたくてしょうがない。
「定義の検索」でなんとか代用してるけど・・
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNGHELPでreadとか見つけたんだけど使い方とか書いてないし・・・
なんかVBよりとっつき悪い感じ・・・
0184デフォルトの名無しさん
NGNG何事も慣れです。「シーケンシャルファイル」なんていってる時点で
化石プログラマーな匂いがプンプンしますよ。もっと柔軟に考えないと。
ファイル操作といってもいろいろなやり方がありますから、
バイナリファイルなら TFileStream、
テキストファイルなら TStringList が楽かも。
余裕があるなら File of XXXX, TextFile、
また、Win32 APIを直で使うという方法もあります。
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG勉強しとかないとつらいよ。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGCやれ。
0193デフォルトの名無しさん
NGNGDuron1G、メモリ600MBOverの環境でGnome上でKylix Open Edition 3を立ち上げて
ボタン一個の画面作ってそれだけで走らせようとしたら
実行ファイルはできているらしいもののIDEが凍ります_| ̄|○
(で、その実行ファイルは実行されない。ターミナルから起動しようとしても
参照が未解決だとかなんとか……どっかにLIBPATH通さないといかんのかな)
環境的にきついんでしょうか?
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGぐぐってもでてこないorz
0196デフォルトの名無しさん
NGNGTimerについてなんですが、
OnTimerの処理が終わらずにまたOnTimerが呼ばれた場合、
一体どのような処理になるのでしょうか、、
0197デフォルトの名無しさん
NGNG超初心者スレなんで、TShapeとTTimerだけでブロック崩し作ってみたら。
ちょっと面白そうなんでやってみようかな。
0198デフォルトの名無しさん
NGNG呼ばれません。
0200デフォルトの名無しさん
NGNG別スレッドになるわけじゃないしな
0201デフォルトの名無しさん
NGNGsinとかcosの使い方が知りたいのです...
どうやったら移動と反射とかができるのか。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204193
NGNG今は最早骨董品と成り果てたRedHat9でござります。
パッチはなーんも当ててないっす。それでも一応、Kylix3の
動作条件は素で満たしていたはずでしたが……
(事実起動はするし、コンパイラも動いてはいるらしいし)
0205デフォルトの名無しさん
NGNG#define UMA ((hoge*32)+16)
↑みたいな置換え処理をDelphiではどうやるんですか?
0206デフォルトの名無しさん
NGNGasm
SHL EAX, 5
ADD EAX, 16
end;
0207デフォルトの名無しさん
NGNGスンマセン…ただ単に置換えだけ出来れば良いんです。
#define GIKO hoge[9]
#define UMA hoge[17]
みたいな感じで。
0208デフォルトの名無しさん
NGNG無いですよ。
あったとしても、DelphiのようなIDEによるソースの自動編集が重要な位置を占めてる環境で
IDEの邪魔を好んでするのはお薦めしない。
0209デフォルトの名無しさん
NGNG本当に知らんかったのですよ…
ヘルプ読んでも検索しても見つからなかったので質問した次第です。
どうもお騒がせしました。
0210デフォルトの名無しさん
NGNG無い。
Delphiにはマクロもインライン関数も無いです。
素直に関数作るか、定数として定義しておくしかない(コンパイル前に解るような計算式なら定数に出来る)。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGちなみにC#にもマクロ、インラインはないです。
0213デフォルトの名無しさん
NGNGctrl+y
0214213
NGNGD7だとヘルプのキーワードに「エディタに関するキーボードショートカット」
0215デフォルトの名無しさん
NGNGMemCheckによればこれに載ってるコードではメモリリークしてるらしいのですが、
どこが原因になってるんでしょうか?
0216デフォルトの名無しさん
NGNGttp://www.geocities.jp/fujimaki691202/download/Linux/KylixTips/installing_unofficial_patch.htm
Kylix3
http://pc5.2ch.net/test/read.cgi/tech/1030031001/l50
0217デフォルトの名無しさん
NGNGエラーが出ます。海外のBBSを見ると、一部に7.1 upedateの
問題みたいな意見もあるんですが。。。
------- ----------- ------------ -------------
[致命的エラー] ユニット SqlExpr は異なるバージョン
SqlConst.SNOERRORによりコンパイルされています
------- ----------- ------------ -------------
SqlConstって、拡張子が「dcu」と「dcu.jp」ってのが
ありますね。後者は7.1でアップデートされている
わけですが。。。
このエラーって、7.1へのアップデートに失敗した結果?
0218デフォルトの名無しさん
NGNG別にリークしてるとは思わないけど。ほかの部分に問題があるのでは?
それよりプロセス間をまたいでポインタを渡すなら、GetMem じゃなくて
GlobalAlloc を使ってグローバルヒープに変数を確保しないと駄目な気が
するけど。
0219デフォルトの名無しさん
NGNGおいおい、GlobalAlloc WM_COPYDATA を知っててそんなこと言ってるのか?
0220204
NGNGぐはっ*2。ぐぐればすぐにでも出てきそうなものを、よう探さんかったとは
己の不分明を恥じるのみ。
というわけで216とドイツのスーパーハカーに謝意を表しつつ逝ってきます。
0221デフォルトの名無しさん
NGNG(Sender: TObject);のついているプロシージャを呼び出したい時に、
Senderを持ってない関数からSenderなしで呼び出すとエラーになってしまうので、
Senderをとりあえず捏造して呼び出したいのですが、どうするのがよいのでしょう。
googleで探すのは不可能でした。
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGプロシージャ内部で何やってるか調べないとまずいんじゃね?
必要ないのにSenderのメンバ弄ってるとかならいいけど
必要だから弄ってるなら適当なの渡すのもまずいじゃん?
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGタブは #9
開業は #10
シングルクオーテーションで囲んじゃだめ。ただの文字列になる。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229225
NGNG0230デフォルトの名無しさん
NGNGどのように書けば良いでしょうか・・・。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGプログラムを作成しています。価格*数量で計算した小計を
静的に作成したColumunsに表示させたいと思いますが、
どうやってセルを指定して入力するかがわかりません。
StringGridとは全く扱いが違うようなのですが、ヘルプを
読んでみてもよくわかりませんでした。
よろしくお願いします。
0233デフォルトの名無しさん
NGNGショートカットの「実行時の大きさ」を変更してもダメなプログラムは
いったん起動させた後でないとウインドウの変更は無理だと思います。
0234デフォルトの名無しさん
NGNGTDBGridだけを何とかしようとしても、目的は達成できないよ。
TDBGridのDataSourceプロパティの元になっているTQueryのSQL文で
SELECT 商品名, 価格, 数量
FROM 商品
を
SELECT 商品名, 価格, 数量, 価格 * 数量 AS 小計
FROM 商品
にして、小計を計算する項目を作成して、小計フィールドをあらかじめ作ってしまう。
小計はTQueryを開くと実行されるからこれで小計は計算される。
あとはTDBGridのColumnsに小計を追加すればOK。
TTableが元になっているならば、このようにすることはできないので、
TTableのOnCalcFieldsイベントを使う必要があるけど、長くなるのでここでは割愛
(もしTQueryを使っていない場合は教えてくれれば後で説明します)。
0235デフォルトの名無しさん
NGNG早速のご回答ありがとうございます。
TQueryを使っています。教えていただいた方法
早速試してみます!!
0236デフォルトの名無しさん
NGNGこういう質問をするときには、
・DelphiのバージョンとEdition (Personalとか・・・)
・データベースの名前(OracleとかAccessとか)
などを付記しておいた方が適切なレスがつきやすいよ。
0237デフォルトの名無しさん
NGNGif p <> nil thenって書いて問題になるケースって存在する?
0238デフォルトの名無しさん
NGNG手続き型変数の場合は @P <> nil というテストに相当します。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGで、ポインタ変数のチェックでAssigned使わない意味あるの?
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGある関数内で宣言したローカル変数は、使う、使わないにかかわらず
呼び出しが起こる度に、常に確保されるものなのでしょうか?
array[0..255] of Char のような大きい変数が必要な場合、
このように宣言するのと、動的変数を関数内で確保して使うのとでは
速度に差が出ますか?
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGスタックにとったほうが速度的には有利。
ただしあまり大きくとるとスタックが足りなくなるので
その時はヒープで確保する。
0245デフォルトの名無しさん
NGNG速度という書き方をしましたが、別に実効速度がどう変化するかを
知りたいわけではありません。
可能ならより効率のいいコードを書きたいと思っただけです。
実はコンピュータのコアな部分のしくみをぜんぜん知らないので、
スタックやヒープというのをまず勉強してきます。
0246デフォルトの名無しさん
NGNG正直たった256バイトごときじゃ大差ないだろうね
0247デフォルトの名無しさん
NGNG0248242
NGNGi! ゙ヽ、 ,,,..-'"/ ゙i!⌒ヽー-、.,,.-イ''⌒ヽ
l ゝ-─‐-/' i! ヽ、 i, ,ノ
,/" i! .... ゙'';;.. Y"
,/' 〈 :::::. '';;... 'i- 、,,
i' 'i, :::::::: :::: 'i! ゙"ヽ、
i! ー- ,,_ 'i ::::::::: ''':;;; ヽ、 ゙)
'i,::::: ,--、  ̄ ,/ヽ '''' 'i,-‐'"
/⌒ヽ、 i,_,〉 :::::,,-‐ ゝ ............. ヽ、
( ヽ、 ,,.-‐''" ,) ::::::::: '\,
ヽ、,, ノ,.-‐''" ノ-‐''"´( ::::::::::: )
"~ ( ,. -'" ヽ、 _,,... -‐─'''"
ヽ、,,.. -‐'''"
寝る!
0249デフォルトの名無しさん
NGNGどうこうではなく、より効率のいいコードを書きたいと言っている。256バイト
程度でぐちゃぐちゃ悩むのは全く効率よくない。
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG例えばフォーム上にListBox,EditBoxがある時にListBoxの選択肢をEditBoxに表示
させたいのですがプロパティが見つかりません。教えてください。
ComboBoxのTextのような物が見つからないのです。
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG1バイトずつ見ていき、
「2バイト文字の1バイト目ならどうの、そうじゃなかったら」
なんてのがありますがWideStringを使えば、そんな事しなくても
良いと思うのですが、何か理由があるのでしょうか?
0255デフォルトの名無しさん
NGNGWideString使えない、使いたくない、あるのを知らない、などなどの理由から
0256デフォルトの名無しさん
NGNGtoolbar内のspeedbuttonが表示されません
なぜでしょうか?
フォームを移動させたり
controlbarのサイズを変更すると表示するのですが・・・
最初だけ表示されません
0257デフォルトの名無しさん
NGNGDelphiはコンポーネントやTStringListなんかがすべてSJISで統一されていて
WideStringで統一的にコーディングできないから。
なので毎回String<->WideStringの相互変換が発生して遅くなる。
例えば
var s: String;
function Foo(ws: WideString): WideString;
...
s := Foo(s);
とやるとString->WideString->Stringと変換されてしまう。
速度を気にしなければ自作のライブラリはすべてWideStringで統一するというのもありといえばあり。
0258254
NGNG非常に納得。アリガ�d
0259デフォルトの名無しさん
NGNGFile自体が存在しない時の対応処理できるのですが、
Fileは存在するが中身が空の時にエラーが出ます。
「デバッカ例外の発生。リストのインデックスが範囲を超えています。(0)」
ヘルプを読んでもイマイチ解らないです。
このエラーの意味と対策を教えてください。
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGなにがやりたい?
0262デフォルトの名無しさん
NGNG普通はLoadFromFileで中身が空のファイル読み込んでもそんなエラーは出ない。
アップデートちゃんと当てているか?
>>260
TFileStream
0263デフォルトの名無しさん
NGNGありがと
0264デフォルトの名無しさん
NGNGというか例外処理してる?例えば
try
sl.LoadFromFile('test.txt');
except
on E: Exception do ShowMessage(E.Message);
end;
とか。
0265デフォルトの名無しさん
NGNG「何も無いのにインデックスもへったくれも」ってことでは?
0266A
NGNGその時に、以下のような動作を期待しています。
メインのフォームとは別の、メッセージを載せたフォームを、画面最前面に表示したい。
このフォームは一定時間後に、自動的に閉じられる(<これは出来てる)
ただし、その際に、現在動作している他のアプリのフォーカスは奪いたくない。
最前面に表示するのは、メッセージフォームのみで、メインフォームは下に置いたまま。
要は、できるだけ、ユーザーの邪魔をせずに、メッセージをそっと通知したいのです。
どういったコードで実現できるでしょうか?
0267デフォルトの名無しさん
NGNG(TWebBrowser1.Document as IHTMLDocument2).frames.item(pvarIndex) でフレームには行き着いているようなのですが、
その後が分かりません。
0268デフォルトの名無しさん
NGNGもしかして読み込んだ後にsl[x]にアクセスしてるということ?
それならアクセス前にsl.Countが0でないかどうかをチェックしろ、ということですな。
0269デフォルトの名無しさん
NGNGそーゆーことだと思ったが。違うの?
0270デフォルトの名無しさん
NGNGLoadFromFileで冷害が発生してるのかとオモタ
0271259
NGNG返事どうもです。
アップデートに関してですが、
インストールしたばかりでBorlandのdelphiダウンロードのそばにあった
バッチファイル2つはあてました。
TstringListでStrings[i]使うとエラーがでます。実際、空なのでi行目には
データは入ってないのですがこれは無視できませんか?
0272デフォルトの名無しさん
NGNGImage1を書き換えるとForm1,FormPaintが呼び出されて
無限ループになります
Form1が再描写されるときにImage1だけ再描写するにはどうすればいいのでしょうか?
0273デフォルトの名無しさん
NGNG0274259
NGNG0275デフォルトの名無しさん
NGNGだからStrings[i]使う前にCountでちぇっくしろと
0276デフォルトの名無しさん
NGNGどうすればいいでしょうか?
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGありがとうございました
0279デフォルトの名無しさん
NGNG新しくif文で入れ子にする時、その中身全体をずらしたいという事です。
0280デフォルトの名無しさん
NGNGDelphiヘルプ→キーワード→「キーボードショートカット」→エディタ(デフォルト)
にある「ブロックをインデントする」「ブロックをアウトデントする」でどうぞ。
0281デフォルトの名無しさん
NGNGありがとうございます。
便利なものですな
0282デフォルトの名無しさん
NGNG確かEmbeddedwbにフレームにアクセスするメソッドがあったと思う。
0283デフォルトの名無しさん
NGNGこんな感じでどうですか? 十分にテストしてないのでご了承ください。
Form1 がメインフォーム、Form2 がメッセージ用のサブフォームです。
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Label1.Caption := 'メッセージをセット';
SetWindowPos(Form2.Handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_SHOWWINDOW or SWP_NOACTIVATE or SWP_NOMOVE or
SWP_NOSIZE); // 非アクティブで最前面に表示
end;
上記の方法で表示すると Form2 の Close が効かなくなるので、
WM_SYSCOMMAND に応答して以下のコードを書いてください。
procedure TForm2.WMSysCommand(var Message: TWMSysCommand);
begin
if Message.CmdType = SC_CLOSE then
ShowWindow(Handle, SW_HIDE); // 非表示にする
inherited;
end;
0284A
NGNGありがとうございます。
組み込んでみたところ、ほぼ期待通りの動作になりました。
なぜか最初の1回目だけ、メインフォームがアクティブになっちゃうのですが、
他の部分が悪さしてる可能性があるので、一度シンプルなテストを作って
いろいろ動作を調べて見ます。
0285デフォルトの名無しさん
NGNG今までTMemoを使ってたのですが、一行に4000文字くらい表示することになったのでTRichEditに変更しました。
TMemoからRichEditに乗り換えてる人は結構いるみたいなんですが、どうしてるんでしょうか?
よろしくお願いします。
環境
WindowsXP Professional SP1
Delphi 7.0 Professional
0286デフォルトの名無しさん
NGNG違います
0287285
NGNG調べてみます。どうもありがとうございました。
0288デフォルトの名無しさん
NGNGXP なら TMemo でも 2GB まで行くはずだけど
0289デフォルトの名無しさん
NGNG漏れは乗り換えようとして乗り切れなかった・・。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG????
0294285
NGNGB NUMBER(5)
C CHAR(10)
D CHAR(1)
E VARCHAR2(2000)
F VARCHAR2(2000)
↑なテーブルからエクスポートしたCSVを表示したいんで。
表示って書き方がおかしかったですかね。
て有価、俺、なんか勘違いしてる?
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNGなぜ一行で表示したいのか分からない。TMemo に垂直スクロールバーをつけて表示
しても良いのでは。StringGrid でもよいし。
0297デフォルトの名無しさん
NGNG○ 294
0298285
NGNG激しく同意なんですが、そういう仕様で既に作ってあったんです。
いままでは、1レコード1KB以下だったんで全部TMemoで問題なかったんですが
今回>>294のテーブルを追加してしたんで、RichEdit使うことになったんです。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG64kで止まったコード出すか?
0301デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNGだからVB製ソフトは評判が悪いのか・・・・
0306デフォルトの名無しさん
NGNG>>301>>305
VB vs Delphi @夏厨2004
http://pc5.2ch.net/test/read.cgi/tech/1088578261/
0307デフォルトの名無しさん
NGNGそうやって、いきなりVBだしてくるなんて
過剰反応するから・・・。
0308デフォルトの名無しさん
NGNGVB vs Delphi @夏厨2004
http://pc5.2ch.net/test/read.cgi/tech/1088578261/
0309デフォルトの名無しさん
NGNG>>305 >>305 >>305 >>305 >>305
VB vs Delphi @夏厨2004
http://pc5.2ch.net/test/read.cgi/tech/1088578261/
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG変なイメージを植え付けようとするのは
詭弁のテクニックだね。
0312デフォルトの名無しさん
NGNGDel厨って日本語にも不自由なんだな。
0313デフォルトの名無しさん
NGNG問題にぶつかる→できない(本人の力不足)→Delphiの評判が落ちる
・VBのアプローチ
問題にぶつかる→できない(言語の力不足)→VBの評判が落ちる
0314デフォルトの名無しさん
NGNGVB vs Delphi @夏厨2004
http://pc5.2ch.net/test/read.cgi/tech/1088578261/
0315デフォルトの名無しさん
NGNG下のVBを移植してください。
Dim i As Long, FileNum As Integer
FileNum = FreeFile()
Open "map.dat" For Binary As #FileNum
For i = 0 To 40000
Get #FileNum, , map(i)
Next i
Close
0316デフォルトの名無しさん
NGNGi: Longint;
FS: TFileStream;
Begin
FS := TFileStream.Create('map.dat',fmOpenRead);
Try
For i := 0 To 40000 Do
FS.ReadBuffer(map[i],SizeOf(map[i]));
Finally
FS.Free;
End;
End;
0317デフォルトの名無しさん
NGNGthe returned pointer must be freed with freemem.
memproof0948でオブジェクトリストをfreeすると出る警告なのですが
解放できてないのでしょうか?
0318デフォルトの名無しさん
NGNGVB vs Delphi @夏厨2004
http://pc5.2ch.net/test/read.cgi/tech/1088578261/
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGツリーになってます
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGdestroyでオブジェクトリストの解放を忘れてました
0324デフォルトの名無しさん
NGNG奇数行は赤色、偶数行はオレンジ色というふうにするにはどうすればいいのでしょうか?
0325デフォルトの名無しさん
NGNGbeginとendのキャップがキモイ
0326デフォルトの名無しさん
NGNGvar、try、for、to、do、finallyも
0327デフォルトの名無しさん
NGNGVB って連続バイトのコピーもできないのか?
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGTfruits
fruits.kind[1]='ばなな';
fruits.amount[1]= 5;
fruits.price[1]=100;
fruits.kind[2]='みかん';
fruits.amount[2]= 10;
fruits.price[2]=250;
型とか変数とか配列でヘルプを見てるんですけど、いまいちピンと
来ません...。
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG可能かどうかなら可能だけど、俺ならTfluitsにkind、amount、priceを持たせて
fluitsを配列にする。
0332デフォルトの名無しさん
NGNGkind :string;
amount. praice: Integer;
end;
var
fruits: array[0..2] of Tfuruts;
0333デフォルトの名無しさん
NGNG変です
0334A
NGNGシンプルなテストアプリを作ってやってみたところ、一部に、よく判らない動作が
おきているようです…。
Form2 に pop手続きを作り、そこで、以下のように記述。
タイマーはForm2を自動で閉じるための物です。(ShowWindow(Handle, SW_HIDE);を記述)
procedure TForm2.pop;
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_SHOWWINDOW or SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
Timer1.Enabled := True;
end;
Form1の呼び出し側では、同じくタイマーで、一定間隔で自動的に、Form2.pop; を呼んで
Form2を表示。
この作りで、Form1が、アクティブ、非アクティブ、最小化、いずれの状態でも
Form2は表示され、かつ他ののアプリの邪魔をしないという、期待通りの動作をします。
ところが、Form1が非アクティブかつForm2が表示されている間に、Form2をクリックすると、
1) Form2がアクティブ化、Form1が非アクティブのままトップに表示。
2) タイマーでForm2が、消えると同時に、Form1は、元の位置(アクティブの後ろ)へ。
3) 次のForm2.pop;で、Form2が表示されると同時に、Form1も非アクティブのままトップへ。
4) タイマーでForm2が閉じると、今度はForm1が非アクティブのまま最上面に残ります。
これ以降は、Form1がトップに出たまま、Form2が表示/非表示を繰り返します。
どうしてこんなことになるのか・・・。
0335315
NGNGおお!
連続バイトのコピーを使った奴で教えてください。
PLCだと解かるんだが、PCはむずい。
0336デフォルトの名無しさん
NGNGFileNum: Integer;
Map: Pointer;
begin
GetMem(Map, 40001);
try
FileNum := FileOpen('map.dat', fmOpenRead or fmShareDenyNone);
if FileNum >= 0 then
try
FileSeek(FileNum, 0, 0);
FileRead(FileNum, PChar(Map)^, 40001);
finally
FileClose(FileNum);
end;
// 読み込み後の処理
finally
FreeMem(Map);
end;
end;
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG初心者を惑わすなよ。
0340デフォルトの名無しさん
NGNG普通は型付きの配列を使った方が簡単だと思うぞ。
FileRead の第二引数は ReadFile API に先頭のアドレスを渡すだけだから、
その先のメモリがちゃんと確保されていれば型は関係ない。
0341デフォルトの名無しさん
NGNGDelphiとは関係ないのですが、今までPC直付けのComで無問題だったのが
USBに変えたらトラブりだしてしまって。
0342A
NGNG自己レスです。
Form2がクリック等でアクティブになったときに、Form1をアクティブにしてやることで、
一応問題は回避しました。
それとはたぶん別件で、アプリが、ときどきなぜか、勝手に前面に来る、という症状が
起きています。
Application.OnActiveteが発生しているようなのだけど、一体誰が起こしてるのかが
掴めない…。イベントを発生させた元を突き止める方法は、無いでしょうか?
0343デフォルトの名無しさん
NGNGフォーム上にEditBoxがたくさんありButtonを押した時のイベントハンドラ
でそれらを例えばファイル出力する時に以下のコードを書きました。
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TEdit then
begin
Writeln(F,TEdit(Components[i]).Text);
end;
end;
でも、この場合だとどのEditBoxかが判断できず
もし、2つのEditBoxをフォーム上で入れ替えたら
処理が逆になってしまいます。
どうしたらいいでしょうか?
0344デフォルトの名無しさん
NGNGsl:= TStringList.Create;
try
・sl.Sorted:= True;
・for i:=0 to ComponentCount-1 do begin
・・if Components[i] is TEdit then
・・・sl.AddObject(Components[i].Name, Components[i]);
・end;
・for i:=0 to sl.Count-1 do begin
・・Writeln(F,TEdit(sl.Objects[i]).Text);
・end;
finally
・sl.Free;
end;
0345デフォルトの名無しさん
NGNGすばらしい!
0346デフォルトの名無しさん
NGNGクリティカルな処理をしない限り、基本はCOMだろうがUSBだろうがさほど変わらないように思えるんだけど、
どういうトラブルが発生したか教えてほしい。
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG>>318
0349デフォルトの名無しさん
NGNGどうもありがとうございます。
こんな感じにしましたけど、なんかムダとかヘンな使い方してるとか
こんな使い方はしないとかありますか?
type
Tfruits = record
name : string;
amount, price : integer;
end;
type
Tfruitsshop = record
name,address,tel : string;
fruits : array[1..100] of Tfruits;
end;
var
tokyoshops : array of Tfruitsshop;
begin
setlength (tokyoshops, 123);
with tokyoshops[1] do
begin
name := 'フルーツパラダイス';
address := '渋谷区横浜1-2-3';
tel := '03-1234-5678';
fruits[1].name := 'みかん';
fruits[1].amount := 100;
fruits[1].price := 50;
fruits[2].name := 'りんご';
fruits[2].amount := 50;
fruits[2].price := 150;
end;
end;
0350デフォルトの名無しさん
NGNG念のため。これだと
tokyoshops[0] から tokyoshops[122] まで
0351デフォルトの名無しさん
NGNGこれも
fruits : array of Tfruits;
にしてSetLengthして使った方が無駄がなくていいと思う。
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG値を取得しようとするといつも「""」がついてくるんですが、
これをつけずに読み込む方法はないでしょうか?
0357356
NGNG0358デフォルトの名無しさん
NGNGこれを無効にすることはできませんでしょうか。。?
0359デフォルトの名無しさん
NGNGどこかにDelphiに限らず資料とかないですか?
0361デフォルトの名無しさん
NGNG素早く適切な資料をありがとうございます!
0362215
NGNG0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGParamStr() を知らせるために WM_COPYDATA を使ってるのかと。メモリリークは
どこで起こるか、想像できんが。
0365デフォルトの名無しさん
NGNGヒープにとるならレコードである必要はないだろ
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGそうでなければC#
0369デフォルトの名無しさん
NGNG>>349
0370デフォルトの名無しさん
NGNG両方はじめて見識を広げる
0371デフォルトの名無しさん
NGNGサイズ固定する意味ないだろって流れだろ
0372デフォルトの名無しさん
NGNGDelphiスレで質問するとはいい度胸してるな。
どっちもやっとけ。
0373デフォルトの名無しさん
NGNG>>349
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGこんな使い方はしないとかありますか?
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG?????
0380デフォルトの名無しさん
NGNGFileListBox は Win16 のなごり。つかわないのが吉。
0381デフォルトの名無しさん
NGNGParamStrをローカル変数に代入するとリークし、
代入しなければリークしない。
だぞ?
0382デフォルトの名無しさん
NGNG他人のコードをさらして、メモリリークの疑いをかけるのは本当に失礼なことだね。
>ParamStrをローカル変数に代入するとリークし、
>代入しなければリークしない。
コードを見ないと皆目見当もつかないけど。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG受信側で適当なタイミングにINIファイルを読み込むようにすればどうだ?
タイミングは自分で考えるべし。
0385デフォルトの名無しさん
NGNGということは、ソートを無効にすることはTFileListBoxでは無理なのですね。。
自作コンポの勉強するかな。。
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNGそれはダサ過ぎ。WM_COPYDATA をつかっても、メモリリークは解決したそうだよ。
0388デフォルトの名無しさん
NGNG仕事用にC#
趣味用にDelphiやっとくと最高に仕合せです
0389デフォルトの名無しさん
NGNG趣味でも C# のほうが幸せになれそうだけど
0390A
NGNGOnTimer で、
s := IdHTTP.Get(URL);
UIWebBrowser.DocumentSorce := s;
といった、ことをしているのですが、謎の、Application.OnActiveteが発生します。
色々と調べてみたところ、どうやら、UIWebBrowser.DocumentSorce := s; の後に
発生しているようなのですが、毎回発生するわけではなく、
アプリをアクティブにした後、別のソフトに切り替え、その次の最初のOnTimerの時に
Application.OnActiveteが発生し、それ以降のOnTimerでは、発生しません。
再び、アプリ→他アプリの操作を行うと、また発生します。
これは一体どういったことなのでしょうか…? orz
ちなみに、起動直後、これらの処理をしているだけであれば、このApplication.OnActiveteが来ても、
アプリは特に、前面に出ることも、アクティブになることもありません。
0391デフォルトの名無しさん
NGNG>>314
それから、趣味ならソフトウェア板行ってVCLと.NETの評判を探すが良い
大体、VCL≒コンポ頼みなので細かい事できない、.NET≒遅すぎ論外
0392デフォルトの名無しさん
NGNG仮に、UIWebBrowserをフォームから消して、タイマーとTIdHTTPだけでやっても、同じ現象が起きますか?
0393215
NGNG本当にお恥ずかしい事です
コードはこれです
http://venus.aez.jp/uploda/dat/upload8209.zip
0394デフォルトの名無しさん
NGNGVCL≒コンポ頼みなので細かい事できない
とかいってるやつは単に知識が足りないだけじゃん。
だってそれいいいだしたらフレームワークやミドルウェア使うなーってことになっちゃうし。
結局アセンブラに近い無印Cがイイ!ってなるだけでさ。
0395デフォルトの名無しさん
NGNG禿同!
Delphiではコンポを使うだけじゃなく、作れることもお忘れなく。
使うだけなら初心者レベル。
0396デフォルトの名無しさん
NGNGと、流れを読まずにレスしてみるテスト
0397デフォルトの名無しさん
NGNGと、テストレスしてみるテスト
0399デフォルトの名無しさん
NGNGサイトってどこでしたっけ? ちょっと忘れました。
0401A
NGNGUIWebBrowserを消しては居ないのですが、DocumentSource への代入をコメントアウトすると
どうやら、Application.OnActivate は発生しないようです。
逆に、IdHTTPを、コメントアウトして、定型文を DocumentSource へ代入した場合、
発生するようです。
どうやら、UIWebBrowserが原因のようですね。 といっても使わないわけにはいかないし…。
どうしたものか…。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNGコンパイルは通るのですが「デバッカ例外が発生しました」というエラーが出ます
var TestS : array[1..5] of String;
…
TestS[1]:='テスト';
上記のような感じなのですがアドバイス下さい。
0405デフォルトの名無しさん
NGNGShortStringで固定長にするか
TStringList使え
0406A
NGNGUIWebBrowser.DocumentSource をいじっても、Application.OnActivate は発生しません。
ところが、一度、UIWebBrowserをクリックしてから、他ソフトに切り替え、その後に、
UIWebBrowser.DocumentSource をいじると、Application.OnActivate が発生するようです。
よくわからないのは、UIWebBrowserをクリックしても、ActiveControlは、変更にならない。
UIWebBrowserをクリック後、他のコントロールをクリック(ActiveControlはそれになる)しても
Application.OnActivateは発生する。
この時、アプリをアクティブにすると、そのコントロールは、ActiveControlはそのままに、
フォーカスを失っている模様。
UIWebBrowserをクリック後、他のコントロールAをクリック、続けて別のコントロールBをクリック
すると、Application.OnActivateは発生しない。フォーカスもそのまま。
という挙動をするようです。
>>402
そのまま、TWebBrowserを加えて、usesに、MSHTML_TLB を追加したところ…
自分で使っている、Booleanの代入全てに、Booleanは、Integerと互換性が無い、とのエラーが… orz
0407404
NGNGアドバイスありがとうございます。
しっかり状況を説明していなかったのですが
上のようなString型をいくつかつかってレコード型で扱いたいのです。
ですからレコード名をAとすると
A.TestS[1]:='test';
という感じです。
ShortStringで固定長にしてもダメでした。
TStringListはレコード内で使えるのでしょうか?
いろいろコンパイルしてみて>>404で書いた部分でエラーが出ることが解ったので
単純に質問したつもりだったのですがどうもすいません。
0408デフォルトの名無しさん
NGNG修正は可能らしいけど。
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGTSample = record
TestS: array[1..5] of string;
end;
こんなの??
0411デフォルトの名無しさん
NGNGほんとにそのサンプルコードで落ちるか?
0412デフォルトの名無しさん
NGNGレコードを動的に確保してInitializeしてないとか?
0413A
NGNGstring(TestS[1]) := 'テスト';
で、コンパイルは通った。正しく動いてるかどうかは、判らないけど。
いちおう、その方法で、1〜5に適当な文字列を入れて、
各行を、Memo1.Lines.Add(TestS[1]); とかで出したら、ちゃんと出た。
256文字以上とかのは、調べてない。
0414404
NGNG度々スイマセン。
こんな感じです。string型は大丈夫なのですが配列の場合がメモリエラーが出ます。
もしかしてstring型の配列はポインタを使うのでしょうか?
TSample = record
TestS : array[1..5] of string;
TestT : array[1..5] of string;
teleS : string;
numberS : string;
end;
A : Tsample;
0415デフォルトの名無しさん
NGNGそのコードじゃどうやってもエラーでないぞ。
新規プロジェクト作ってエラーの発生する最小限のコードを書いてうpしろ。
0416A
NGNGTSample = record
TestS : array[1..5] of string;
TestT : array[1..5] of string;
teleS : string;
numberS : string;
end;
var
A : Tsample;
って状態で…
procedure TForm1.Button1Click(Sender: TObject);
begin
a.TestS[1] := 'テスト';
a.TestS[2] := 'てすと';
Memo1.Lines.Add(a.TestS[1]);
Memo1.Lines.Add(a.TestS[2]);
end;
が問題なく、実行できたよ。 >413の要らなかったのね…。
0417デフォルトの名無しさん
NGNG意外と再起動したら直るかもしれん
0418404
NGNGそして申し訳ございません。
最後のファイル出力コードをコメントアウトしたら動きました。
その原因は少し考えて見ます。
Aさんいろいろ試してもらって本当にすいませんでした。
0419デフォルトの名無しさん
NGNGDMonkeyはちょっと遅すぎたのでDMonkey以外でお願いします
0420デフォルトの名無しさん
NGNG0421A
NGNGApplication.OnActivateが来ても問題無くする方向で、対処することにしました。
>266 >283 >334 >342 の関連です。
現在のテストアプリは、Form1、Form2 を用意して、
---Form2---
procedure TForm2.pop(Sender: TWinControl);
begin
FSender := Sender; //呼び出し元を記憶。
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_SHOWWINDOW or SWP_NOACTIVATE or SWP_NOMOVE or
SWP_NOSIZE); // 非アクティブで最前面に表示
Timer1.Enabled := True;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
ShowWindow(Handle, SW_HIDE); // 自動的に隠す
Timer1.Enabled := False;
end;
0422A
NGNGprocedure TForm2.FormActivate(Sender: TObject);
begin
SetWindowPos(FSender.Handle, HWND_TOP, 0, 0, 0, 0,
SWP_SHOWWINDOW or SWP_NOMOVE or SWP_NOSIZE); // 呼び出し元をアクティブに
end;
---Form1---
procedure TForm1.Timer1Timer(Sender: TObject);
begin
UIWebBrowser1.DocumentSource := IntToStr(i);
Inc(i);
if (i mod 5)=0 then Form2.pop(Self);
end;
という形になっています。
Form1のタイマーがくると、UIWebBrowserが更新され、
5回に1回Form2が最前面に表示され、一定時間で自動的に隠れます。
この状態で、1度でも、Form2.pop を使った後に、Application.OnActivate が来ると、
Form1が、非アクティブの状態で最前面に表示されてしまいます。
恐らく、隠れているForm2の、HWND_TOPMOST 設定が悪さをしているような気がするのですが、
隠す前に、Form2や、Form1を、SetWindowPos APIでいろいろ設定を変えても、
思ったような動作になりません。
Form2を使った後、Form1の状態を、使う前のものに戻すには、どうすればいいのでしょうか?
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGありがとうございます
しかしDelphi6 PersonalだとCOMサーバーアプリは作れないみたいです
情報が小出しになってしまい申し訳ありません。
0426デフォルトの名無しさん
NGNGだったら
>オブジェクトを追加して
も無理じゃないの?
オブジェクトって自作のってことでしょ。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGDouble の範囲5.0 x 10^-324 .. 1.7 x 10^308
意味があればね
0429デフォルトの名無しさん
NGNGTForm2.pop の SetWindowPos〜 の後に
Visible := True; を入れてみたらどうでしょうか?
そして TForm2.Timer1Timer の ShowWindow〜 を Hide;
(または Visible := False;) に変えてみてください。
0430デフォルトの名無しさん
NGNGというかJavaScript(JScript)やVBScriptって速いの?
0431A
NGNGやってみました。その方法だと、確かに隠れるみたいです。
でも、Application.OnActivate で Form1が最前面に出てきてしまうのは、
同じみたいです…。
0432デフォルトの名無しさん
NGNG>>393のソース
確かにメモリリークを起こしていますね。
解放し忘れているのは TConversion で TRichEdit関連。
最初に起動した方を終らせるときにでます。
ファイル名を渡さなくても、
RichEdit1.Lines.LoadFromFile('C:\hoge\Unit1.pas');
の様に直接読み込んでもリークしますよ。
0433デフォルトの名無しさん
NGNGVBScriptやJScriptのパーサーがあれば自由に追加したりできるのではないかと思い質問してみました
>>430
DMonkeyはコンパイルの作業があるのでDMonkeyよりは速いと思います
0434デフォルトの名無しさん
NGNG長い文字列型は、GetMemでメモリを確保しているんだし。
0435デフォルトの名無しさん
NGNGWM_COPYDATAは関係無し。
これだけで二つ解放し忘れてる。
procedure TForm1.FormCreate(Sender: TObject);
begin
RichEdit1.Lines.LoadFromFile('C:\test.txt');
RichEdit1.Lines.LoadFromFile('C:\test.txt');
end;
0436デフォルトの名無しさん
NGNGprocedure TForm1.FormCreate(Sender: TObject);
begin
RichEdit1.Lines.LoadFromFile('C:\test.txt'); Dec(AllocMemCount);
RichEdit1.Lines.LoadFromFile('C:\test.txt'); Dec(AllocMemCount);
end;
0437デフォルトの名無しさん
NGNGコンパイルの作業があるから遅いってどういう意味?
普通はコンパイルした方が早くなるのだけど。
だってそうでなきゃわざわざコンパイルなんかしないって。
いっとくけどスクリプト言語は総じて遅いよ。だからCとかでサブルーチン作ったりするわけだし。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNG拡張子の有無で判定するのは危険。フォルダにだって拡張しつけられるし。
0441デフォルトの名無しさん
NGNG>>440
ありがとうございます無事動作しました
0442デフォルトの名無しさん
NGNGプロジェクトProject1.exeがEAccessViolationクラスの例外を発生しました。
'Access violation at adress 00404272 in module 'Project1.exe' Read of adress FFFFFFFF'
プロセスは停止しています。再開するにはステップ実行又は実行を選択してください。
というメッセージです。
自分で確認し間違っている所はないと思うのですが・・・
例えば以下のコード(ボタンを押した時のイベントハンドラ)で出ます。
コード自体は只フォーム上にTEditを幾つか配置してそのTEdit内の文字数を
Integer型の配列mojilに入れていくというもので特に意味はありません。
デバックするとfor文2回目のmojil[i]:=… の所でエラーが出ます。
どうかアドバイスを下さい。お願いします
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TEdit then
begin
mojil[i] := Length(TEdit(Components[i]).Text);
end;
end;
0443デフォルトの名無しさん
NGNGそのコード自体は問題ない。新規アプリで試せば動くはず。
ヘルプ読んで思い当たる節ない?
<ヘルプ読もうね>
EAccessViolation 例外は,アプリケーションで次のような動作を実行した場合に生成されます。
・nil ポインタを逆参照した場合
・コードページに書き込もうとした場合
・そのアプリケーションに対して仮想メモリが割り当てられていないメモリアドレスにアクセスしようとした場合
0444デフォルトの名無しさん
NGNGmojilの要素の数 - 1 "high(mojil)" を超えてしまった事が
例外の原因と考えられる。
0445442
NGNG返事ありがとうございます。
「デバッカ例外が発生」のhelpしか読んでませんでした、すいません。
しかし、EacessViolation例外のhelpもポインタ使ってないですし思い当たる節がありません。
元々>>442のコードだけでなく、どこで上記のエラーが出るのか調べていました。
何か全然関係のないコードを削ったりしたらエラーが消えたり出たりでおかしいのです
(これじゃ意味不明だと思いますが)
>>442のコードは新規アプリで実行しています。フォームにはbuttonとTEditを10個程置いてです。
このコードでエラーが出るのは変だと思ったのでここで質問した次第です。
環境はXP-Home、Delphi personal version6.0 Update Pack2 を使用しています。
0446442
NGNG仰るとおりです…、ありがとうございます。
元のコードを直しても動きました。
本当に情けない、こっ恥ずかしいです。
俺はこんなミスに丸一日悩んでいたなんて…
元のコードは関係のない所を消したりしたら上記のコード書いていても問題なく出来たのに、
新規アプリで上記のコードだけだとエラーが出るのでかなり迷宮入りしてました。
只、こういうミスで上記のエラーが出ることを知ったのは初心者の私にとって勉強になりました。
丸一日というとても高い勉強代だったような気がしますが。
ほとんど愚痴になってしまってすいません。ちょっと今の気持ちを吐き出したかったので。
本当にありがとうございました。
0447デフォルトの名無しさん
NGNG昔の自分、頭よすぎ・・。
0448デフォルトの名無しさん
NGNGImageList に0〜2の三枚の画像を登録し、
Collapsed のとき、ImageIndex := 0
Expanded のとき、ImageIndex := 1
とある TTreeNodeは ImageIndex := 2
としています。ここまでは普通に動きます。
で、とある TTreeNode (ImageIndex=2) をクリックすると
ImageIndex が 0 の画像を表示してしまいます。
このとき、Collapsed, Expandedイベントは発生しないようにクリックしてます。
(実際に発生してません)
OnClick イベントで直接 Selected.ImageIndex := 2 としても反映されません。
どうしてなのでしょうか?また回避方法はありますでしょうか?
Delphi7 を使用しています。
0449デフォルトの名無しさん
NGNGちなみに何歳ですか?
0450デフォルトの名無しさん
NGNG下手すると3ヶ月前でも危ないぜ
0451デフォルトの名無しさん
NGNGもしかしてイベント起こるごとに画像変えてるの?
TTreeNode.ImageIndex >通常時の画像
TTreeNode.SelectedIndex >選択時の画像
これでどぞー。
0452デフォルトの名無しさん
NGNGありがと。
えーと、伝わりにくくて済みません。
画像は3種類で、
1.展開時の画像(ImageIndex=0)
2.折りたたんだ時の画像(ImageIndex=1)
3.展開時、折りたたんだ時関係なく、一定の場所にある Node の画像(ImageIndex=2)
一定の場所の Node (ImageIndex=2) を選択したときに、
1の画像になってしまう現象です。(常に ImageIndex=2 にしたい)
ImageIndex は フォームクリエイトで設定し、
Expandedイベントと、Collapsedイベントでも
Node.ImageIndex を再設定しています。
0453デフォルトの名無しさん
NGNGNode.ImageIndex := 0;
Node.SelectedIndex := 1;
これでNodeは通常時0の画像が、選択時1の画像が自動で表示される。
じゃあ常に同じ画像を表示させるにはどうすればいいでしょう?
0454デフォルトの名無しさん
NGNGされは OnClick イベントに書くんですよね。
えーと・・
ちょっと今考えてます。
0455デフォルトの名無しさん
NGNGいや、Nodeの作成時に設定すれば後は勝手に通常、選択で画像を切り替えてくれる
イベントとかに記述してた画像切り替えの部分は全削除で
0457デフォルトの名無しさん
NGNG激しく正解
0458デフォルトの名無しさん
NGNG23です。
ちなみにコードはだいたい1年3ヶ月前ぐらいにかいたもの。
一度だけですが、昔の自分のコードを見てあまりの見事さに
「これを自分が書いたのか」と驚いたことがあります。(アルゴリズムの話)
0459デフォルトの名無しさん
NGNGわっマジでありがと。
ImageIndex だけ設定しても
SelectedIndex に値を入れていないと0になっているから
それが表示されていたって事ですね。
SelectedIndex って知らなかったw
0460デフォルトの名無しさん
NGNGどうしたらいいでしょうか?
今まではSaveToFile使って保存していました。
CSV形式で保存するには一度CommaTextプロパティを使って文字列変数に入れて
それを吐き出すしかないのでしょうか?
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG>「これを自分が書いたのか」と驚いたことがあります。
そういうことってあるね。異様に冴えている瞬間があるんだよ。
0465デフォルトの名無しさん
NGNG違う意味ならある(w
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG今まではどうでもなかったことが、
出来なくなったり、多大な負担を感じるようになる。
と言うのは
0468デフォルトの名無しさん
NGNG行ごとの扱いはStringsプロパティで
MyStringList.Strings[i]またはMyStringList[i] // Mystringlist : TStringList;
とし、これを使えばいいのは解るのですが
各文字列リストの文字ごとを扱うにはどうしたらいいでしょうか?
例えばMyStringListの一行目の三文字目を指定したい時などです。
MyStringList.Strings[0][3] 違いますよね・・・
教えてください。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNGとか…。
ちなみにMyStringListが「空っぽ」じゃないことを確かめないと
またいらんエラーが。
delphi「1行目も何も、空だっちゅーの!」
0471470
NGNG0472デフォルトの名無しさん
NGNG返事どうもです。
一回文字列に代入して扱う事にします。
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNG| ┌────────────┐
| |. おまえの消し方 |
| |. |
| └────────────┘
| [ オプション(O) ] [ 検索(S) ]
|
`──────────┐ ┌───
, '´l, ..| ./
, -─-'- 、i_ |/
__, '´ ヽ、
',ー-- ● ヽ、
`"'ゝ、_ ',
〈`'ー;==ヽ、〈ー- 、 !
`ー´ ヽi`ヽ iノ
! /
r'´、ヽ
`´ヽノ
0476デフォルトの名無しさん
NGNGおまえは画面上ちょろちょろするから好かん
0477デフォルトの名無しさん
NGNGTmemoからクリップボード使ってチャットに張り付ける「AAコピペツール」を作ったのですが
ときどき「クリップボードを開くことができません」というポップアップが出てしまって困っています。
あまりに高速連続で張り付け過ぎなのか・・・
例外処理しても出てくるんです、こいつ。
しかもソフトの都合上、最前面に表示してるのですが、ポップアップがウィンドウの後ろに隠れてしまうのです。
ポップアップの上にウィンドウが有ると見えないのにポップアップにフォーカスが行くのでウィンドウも移動できず、
強制終了するしかない!ように見えるのが辛い。
(enterを押すとポップアップのOKが押されるので注意書きには書いてあるのですがイマイチな対処法で・・・)
しかもペースト先がJAVA製の為かクリップボードを使わずwinapi使って文字列を送り込む事が出来ないようで( つД`) (CTRL+V ENTERの情報を送ってます)
検索掛けてもクリップボード監視ソフトが怪しいくらいしか出てなかったのでほとほと困っております。
どなたかこのエラー消す方法を教えてくださいませ。
ウェイト掛けるとこのエラーは出てない気がしますが、高速の時でも出たりでなかったりなので解りません。
0478デフォルトの名無しさん
NGNGその質問、入力したことあるw
0479A
NGNGやっと解決しました…。
結論から言うと、Form2のポップアップに、SetWindowPos APIを使わずに、
FormStyle := fsStayOnTop;
Show;
隠す時には、
FormStyle := fsNormal;
Hide;
で、OKでした…。
この隠す時に、FormStyleをセットしなおすのが大事だったようで、
>266の質問する以前は、この処理をしていなかったため、Form1が勝手にポップアップする
という現象が起きていたようです。それで、FormStyleは使えないと判断してしまっていました。
あと、fsStayOnTop で、Show しても、アクティブになったり、フォーカスを奪ったりは、
しないんですね…。
1週間かかって、こんな単純な方法でよかったなんて… orz
いろいろお騒がせいたしました。
0480デフォルトの名無しさん
NGNGソートを重ねると値が同じところが入れ替わります
ソート結果を安定させる方法は無いでしょうか?
(b,1)(d,2)(d,1)(a,1)(c,1)(a,2)(d,3)
↓
(a,1)(a,2)(b,1)(c,1)(d,1)(d,2)(d,3) 1回目のソート
↓
(a,2)(a,1)(b,1)(c,1)(d,3)(d,2)(d,1) 2回目のソート
↓
(a,1)(a,2)(b,1)(c,1)(d,1)(d,2)(d,3) 3回目のソート
比較はこれで行ってます
function SortCompare(Item1, Item2: Pointer): Integer;
begin
Result := CompareText( Item1.値1, Item2.値1 );
end;
0481デフォルトの名無しさん
NGNGクイックソートの仕様。値が同じ項目の順番は保証されない。
0482デフォルトの名無しさん
NGNGWinXPのバグ
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGまたおまえか
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNGなにをしたくて買おうとしたの?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNGそもそも悪い点の無い言語/開発環境なんて無い
どの言語/開発環境も長所・短所がある
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGそんな一般論ではなく、Delphi8 の長所・短所が知りたいんじゃないの
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG[]で囲った情報の読み出しをしているのですが
]を探している時に2バイト文字の可能性があるので
1つ前の文字を$80以下かどうか調べてみたのですが
本当に]だった場合で前が2バイト文字だと1つ前の文字が$80以上の時があります
]だけを抽出する方法はありますか?
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGおお、できた〜!!ありが�d
0502デフォルトの名無しさん
NGNGWinXPのバグなの?
オレの環境は違うけど、例外出るけど。
結局無視することにした。
>>477
環境は何?やっぱりWinXP?
例外の処理ってどんな感じでやってるの?
オレは
try
〜
except
end;
↑要するに何もしない
0503デフォルトの名無しさん
NGNGふと疑問に思ったのですが、DBをサーバー側にインストール
するのって通常どうやってるんですか?
インストーラーを実行するんですか?
それとも必要なものをFTPとかで送るんですかね?
0504デフォルトの名無しさん
NGNGMSSQL鯖でも同じ。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG例外処理は
try
〜
except
StatusBar1.Panels[0].Text:='ゴメンバグッタ( ゚д゚)';
end;//例外エンド
end;
てな感じで。 ゴメンバグッタ( ゚д゚) はちゃんと出る
例外処理は普段使わないから難しいです
0507デフォルトの名無しさん
NGNGふーむ。
オレは前述ので沈黙してくれたがなぁ?<例外
ダメもとで空欄にしてみては?(ステータスバーの記述を無くす)
って、ダメもとな話しちゃアカンかw
0508>>477
NGNGexcept
StatusBar1.Panels[0].Text:='ゴメンバグッタ( ゚д゚)';
sleep(1000);
beep;
keybd_event( VK_RETURN, 0, 0 , 0 );
keybd_event( VK_RETURN, 0, KEYEVENTF_KEYUP , 0 );
end;//例外エンド
こぴぺでenter送ってるなら、ポップアップにも送って自動で押して貰おうとか思ってそのままコピペしたら
ウマーくいきました。無理矢理な解決法ですが問題ないようです。
(゚д゚)みなさまありがとうございました。 この解決が誰かの役に立ちますように
0509デフォルトの名無しさん
NGNGを出力するにはどうしたらいいんでしょう?「'」です
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
s:string;
code:DWORD;
begin
code := $82A9;
s := Chr(code shr 8) + Chr(code and $FF);
Label1.Caption := s;
end;
0513232
NGNGOnCalcFieldsイベントを使い、実現できました。ありがとう
ございました。
今回はさらにわからないことがあったので質問させて頂きます。
>>232のプログラムで、小計をさらに足し合わせて、別TEditに
合計という形で出力したいと思います。SQLで毎回問い合わせる
のは、効率が良くないのに加え、できれば合計を入力と同時に
更新できればと思っています。何か方法はないでしょうか?
Delphi 7 Professional
現在はParadoxを使用しています。
ゆくゆくは(私の知識が追いついたら)DBサーバも作りたいと
思っています。
よろしくお願いします。
0514デフォルトの名無しさん
NGNGVBでもできるのにDelphiでサポートされてないなんて考えられません。
0515デフォルトの名無しさん
NGNGなぁ、釣りはよそでやってくれよ
0516デフォルトの名無しさん
NGNG何か都合でも悪いの?
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNGそうですね。
VBでもまだベータでしょ。Delphi も .NET2,0 からサポートされる(はず)
0519デフォルトの名無しさん
NGNGもまいらも素直にご教授賜っておけ。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGすごい、すごい、さすがVB.NETは違うなぁ。ShowMessage() が特にすごい。
0523デフォルトの名無しさん
NGNG追加すると、コピーとか切り取りの機能が実現できますが、
ここでTEditとかTMemo以外のコントロール(TDBGridなど)で、
独自に情報をクリップボードに送り込みたいときがあるのですが、
EditCopyのOnExecuteイベントにその処理を書き込もうとすると、
確かに実現できるのですが今度は通常のEditコントロールへの
処理が死んでしまいます。
EditCopy, EditCutなどを残しつつ、その処理を横取りして独自にクリップ
ボード関連の処理はできないでしょうか?
(通常のTActionのOnExecuteでコントロールの種類を判断して処理を
分岐せよと言われてしまえばそれまでですが、ほかに方法はないのかと。。。)
0524デフォルトの名無しさん
NGNGこれで何が不都合なの?
0525デフォルトの名無しさん
NGNGEditCopyなんかを使うと、コピーができる適切なコントロール(TEditとか
TMemo, TDBEditなど…)に対して適時Enabledが制御されるし、たとえば
対象コントロールがReadOnlyの場合などは、EditCutやEditPasteが自動的に
Falseに設定されるので、設計者がコントロールに対してEnabledなどを
制御する必要がなくなるんだけどれど、
通常のTActionを使うと、全部自前で判断しなければならなくなるから
じゃないのか?よくわからんし大外しかもしれんが。
0526デフォルトの名無しさん
NGNG最近はVB.NETはウェブアプリが得意のようですが。
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG言語仕様とライブラリの区別がつかないんだよね。で、ライブラリを自慢しても
言語固有じゃないのが笑える。
0534デフォルトの名無しさん
NGNGDelphi8 は VB.NET と同じように .NET ライブラリを使えるよ。むしろこっちがおすすめ。
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNGそう、よく分からないけど使ってるのは超初心者だけのような気がする。
0537デフォルトの名無しさん
NGNGtry
**A**
try
**B**
except
**B'**
end;
except
**A'**
end;
ってあるとき、Bで例外が発生すると、
B' が実行されることは分かるけど、
A' も実行される?まあ、自分で試せば
いいことだけどさ。
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGB'がexceptした場合、
B'で再raiseするとA'が実行される。
B'でraiseしないとA'が実行される。
0540デフォルトの名無しさん
NGNG○ B'でraiseしないとA'が実行されない。
0541デフォルトの名無しさん
NGNGありがと。一瞬戸惑ったけど、>>540読んで、よく分かった。
tryネストの中で例外が発生して、メモリ解放などで
最外のexceptまで実行させたいときは、最外のexceptだけで
例外処理すればいいってことですね。違うかな?
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNG喧嘩を売っているとしか思えないな(笑)
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGDLLとパッケージの違いがよく分からずに悩んでいます。
プログラミングの質問じゃなくて申し訳ないんですが、色々調べてもこの2つの違いがよく分かりません。
どなたかこんな自分に分かり易く説明して頂けないでしょうか?
宜しくお願いします。スレ違いですみません。
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGここ読むよろし
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=067299
0548デフォルトの名無しさん
NGNGそんなこといってたら、ここにある質問の
ほとんどがそうだろ (w
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG自分から確実にエラーをだすようなコードがわからないので
とりあえず質問したという経緯じゃない?
0551デフォルトの名無しさん
NGNG経緯まで勝手に代弁するとはご立派。
0553デフォルトの名無しさん
NGNGStrToInt('1.3'); とか?(笑
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGN:=1/0;
0556デフォルトの名無しさん
NGNGこいつらはこんなんで優越感に浸っているのだろうか。
>>537がよっぽどのバカなだけなのに。
哀れ。
0557デフォルトの名無しさん
NGNG定数式使うとコンパイル時エラーになっちゃいそうだが
0558デフォルトの名無しさん
NGNGそれは勘ぐり。>>556 はまじめなんだね。
0559デフォルトの名無しさん
NGNG0560509
NGNGもう一度質問させていただきます。
stringに「'」を代入するにはどうしたらよいのでしょうか?
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNGS: String;
begin
S:= '''';
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG(´-`).。oO(何でこの人ここにいるんだろう…)
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNGデータをすべて失いました
Delphi6はどうやって手に入れればいいのですか?
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNG俺も今日OS再インストールしたよ。1月にPC買ってもう5,6回目・・・
最初の数回は何もわからずにDelphiの作成中プロジェクト死なせてもうた
0572デフォルトの名無しさん
NGNGありがとうございます当方ISDNですので寝ながらDLしたいと思います
>>571
バックアップって取るタイミングが難しいですね
3年平穏に過ごしていたので壊れるなど予想すらしてませんでした・・・
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNGGetKeyStateでやっているのですが、時々失敗します。
0576デフォルトの名無しさん
NGNGコードを見せて
0577デフォルトの名無しさん
NGNG質問の意味が不明です。
0578575
NGNGif (GetKeyState(VK_PRIOR)<0)then
begin
…
end;
とやってます。一方でwhileループを動かしてBitmapをコピーしているのですが、
そちらが重いのかキーを5回に1回くらい認識しません。
whileループには application.ProcessMessages;
を入れてます。
よろしくおねがいします。
0579デフォルトの名無しさん
NGNGShowMessage( 'ガッ' );
0580デフォルトの名無しさん
NGNG根本から間違ってるような・・・
0581デフォルトの名無しさん
NGNGそういうレスをする場合は、正しいと思われる例を出すべきだと思うがどうか。
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG▲▽バックアップソフト徹底比較スレ△▼ No.7
http://pc5.2ch.net/test/read.cgi/software/1078146219/l50
0584デフォルトの名無しさん
NGNG重い処理をしている途中でキーが押された場合でも
Application.ProcessMessagesでメッセージが発生するよ。
0585デフォルトの名無しさん
NGNGこれでダメだったらMSDNの説明嫁
0586デフォルトの名無しさん
NGNGアプリ起動時に1つだけFormを立ち上げ(Visible)
そのForm上にあるTButtonを押すと、
もう一つのFormが現れ元のForm(Buttonがある方)が消えるようにしたいです。
どうしたらできますか? 教えて下さい、お願いします。
0587A
NGNG単純な方法でいいなら、
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
Hide;
end;
0588デフォルトの名無しさん
NGNGできました。有難うございます。
0589デフォルトの名無しさん
NGNGOnKeyDownでフラグをセットして
ループの中でフラグをチェックするように変更してみては
0590ななしへたぐらま ◆XcB18Bks.Y
NGNGwhile なんとか do
begin
処理
Application.ProcessMessages;
while かんとか do
begin
重い処理(*1)
end;
処理
end;
もしこんな構造になっていましたら(*1)の中にApplication.ProcessMessageを移動.
0591575
NGNGありがとうございます。やってみます。
>>590
それをやろうとしたのですが、その重い処理内はBMPのコピーで、入れる隙間がなかったのです。
結局常にフォーカスを持たせたボタンをスペースバーで押す方法にしてます。
正しさとしてこれでいいのかサッパリわかりませんが・・・結果うまく行ってるので
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGGetAsyncKeyState を推奨。最小位ビットはメッセージ処理と無関係に履歴を
見られる。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNGOnTimerイベントで設定した内容を同じForm上のbuttonを押したときに
リセットしたいのですがその命令(関数?)が解りません。
お願いします。
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNGリセット?
まぁButtonを押したときにOnTimerを実行させればいいのね?
Timer1.OnTimer(nil);
必要にあわせて変えて。
0598デフォルトの名無しさん
NGNGFormのonShortCutで
if なんとか=VK_MENU then Handled:= true;
0599デフォルトの名無しさん
NGNGうまくいきました。ありがとうございます。
0600デフォルトの名無しさん
NGNGどこかに解説がありませんか?
再生中はマウスが押されてる間は位置の自動更新を
しないで、メディア側の位置を動かし続けるというような
方法だと思うんですが、うまくいきません。
よろしくお願いします。
0601デフォルトの名無しさん
NGNGバイナリディタみたいに
0602デフォルトの名無しさん
NGNGファイルとメモリどっち?
0603デフォルトの名無しさん
NGNGはぁ? TMemoryStream に読み込めば、どのバイトでもどんなバイナリでも書き込めるけど。
0604デフォルトの名無しさん
NGNGファイルの内容をポインタ使って操作できる。
いちいちTMemoryStremで全部読み込む奴はアフォ。
1GBのファイル開いたらどうするつもりなんだ。
0605デフォルトの名無しさん
NGNG別にTFileStream使えばいいだけじゃ?
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNGTMainForm = class(TForm) を
TMainForm = class(TFrame) にしてみましたがやっぱり色々エラーが出来てます。
FormからFrameに変更する簡単なやり方はないでしょうか?
なんで、こんなことがしたいかというとRichEditでコピーとか貼り付けなどの
よく使う機能をまとめたいとおもっていました。(ワードパットみたいなもの)
コンポーネントがあったら教えてください。
お願いします。
0609デフォルトの名無しさん
NGNG0610595
NGNG返事遅れてすいません
Enabledプロパティ使ってできました。
ありがとうございました。
0611607
NGNGhttp://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=40#0234.txt
0612デフォルトの名無しさん
NGNGそのやり方でいいならReverseStr。
AnsiStrScanで検索しまくるのも手かも。
0613デフォルトの名無しさん
NGNGExeSQLを使って、データをInsertするときKey重複エラー
が発生しても例外が取れなくて困っています。
ExecSQLでKey重複エラーの例外をとることができるのか
教えてください。
使っているDelphiのバージョンは5です。
0614607
NGNG逆さまに検索する事で、一つ上のフォルダのアドレスを取得することを目的としてました。
ですから、逆向き検索は簡単にできればOKですので、リンク貼ったトコの(2)を使うことにしました。
とりあえず完成はできました。
書き込みに先走りすぎたorz
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNGしょっちゅうエクスプローラが暴走するんだけど・・
0618デフォルトの名無しさん
NGNG君の環境だけ? しつこく書き込むなら詳細を書くべきなのでは?
Delphi アプリだけが特殊な API を使ってるわけじゃないでしょ。なぜそう思うの?
0619デフォルトの名無しさん
NGNG??
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGなんだって!
607からの一連の話題はそういう話だったのか・・
だったらLastDelimiterとか使ったほうが便利じゃない?
0623デフォルトの名無しさん
NGNG一つ上のアドレスを返すという形か。
ありそでなさげ
0624503
NGNGオラクルみたいなすごいのじゃなくパラドックスなんですが、
最近、Win2003サーバーを使っているレンタルサーバーに申し込んだんです。
で、ここはCGIとかなにしても良いって事なので、データベースを使ったWebアプリ
の練習をしようと思いました。
こういう時って、データベースをどうやってサーバーに設定するのかと思い質問しました。
質問の仕方が悪かったです。すみません。
もう一度教えて下さい。
0625デフォルトの名無しさん
NGNGExtractFileDir は?
0626デフォルトの名無しさん
NGNGwinはよく知らないけど
LinuxでMySQLでもインストールしてODBCでつなぐとか。
0627デフォルトの名無しさん
NGNGそりゃ、レンタル元に聞いたほうが早いでしょ。
レンタル鯖って、普通は鯖ごとレンタルじゃなくて
ディスクスペースのレンタルでしょ。
ユーザにはアプリをインストールする権限がないような
気がするけど。
0628624
NGNGレンタル元に自分のやりたいことがOKか聞いてみてから、
また調べてみます。
0629デフォルトの名無しさん
NGNGExtractFilePathは、ファイル名からファイルが存在するフォルダを取得する関数です。
ExcludeTrailingPathDelimiterは\を取って返す関数です(d:\hogehoge\→d:\hogehoge)。
ですからどちらも使えません。
>>622さん
_, ._
( ゚ Д゚) それだ…。
>>625さん
なにかが違うような。。。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG>D:\hogehogeというアドレスを返す関数です。
そもそもフォルダアドレスの書き方を統一すれば問題解決
0634デフォルトの名無しさん
NGNGコンポーネントを貼り付けたときに、四方と線の中心4点に四角が表示されますよね?
それを実行時にもそのコンポーネントをMouseDownしたときに表示することは可能でしょうか?
また、可能であれば四方の一点をドラッグした時に台形になるように二直線を縮小させたいのですが。。
これをTPanelBoxを継承させた新しいコンポーネントで作成できたらと思っています。
知っている方がいれば、ご教授ください。。
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNGあの点々は、実は一つ一つがウィンドウなのだよ。
同じ事を実行時にしようとするなら、全部自前でやる覚悟が必要です。
0637デフォルトの名無しさん
NGNGsDirNameの最後に\が有っても無くても適応可能。
0638デフォルトの名無しさん
NGNGExtractFileDirはルートディレクトリ指定するとバグるよ
0639デフォルトの名無しさん
NGNGこれと
ExtractFileDir(ExcludeTrailingPathDelimiter('D:\hogehoge\arekore'));
は同じ結果
0640デフォルトの名無しさん
NGNGルートディレクトリの上はないからどっちにしろ例外
0641デフォルトの名無しさん
NGNGExtractFilePathに変えるだけなんだけどね
0642デフォルトの名無しさん
NGNGExtractFilePath( 'c:\windows\Win.ini' ) は 'c:\windows\' を返します。
駄目じゃん
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNGOnChange が使い物にならないんだよね。OnEndTrack イベントがあればいいんだけど。
さがせばどっかにあるはず。
0646デフォルトの名無しさん
NGNGttp://www.yks.ne.jp/~hori/MemCheck.htmlのMemCheck 2.0をダウンロードして
自分のプログラムに追加してみたんですが、実行しても終了時にBEEP音が鳴るだけで
メッセージとか表示されません。ログとかも見当たりません。
メモリリークが発生したかどうかを知るにはどうすればいいんですか?
0647デフォルトの名無しさん
NGNGそのページの
>MemCheck を使用するには以下の事をやる必要があります。
は全部やったんだろうな?
0648デフォルトの名無しさん
NGNG4番の
>プロジェクトソースで MemCheckInstallExceptionHandler 関数を呼び出して例外ハンドラを登録する。
はやってません。
OnDestroy時にsleep命令とレジストリの消去を実行してるんですが、それが悪さをしてるみたいです。
OnDestroyを無効にすると一応メッセージは表示されました。
0649デフォルトの名無しさん
NGNGConstructor Createの処理の中で
inherited Create;
って必要ですか?
手本にしてる本に載ってたので今まで気にせずに書いてましたけど
なんか、なくてもエラーにならないみたいなんですし・・
0650デフォルトの名無しさん
NGNGそれ以外のコンストラクタに中身があるクラスから派生してるなら
上位クラスでの初期化処理を呼ばないといけないから必要、だっけ。
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNGOnKeyPressで
if not (Key in ['0'..'9',#8]) then
begin
Key := #0;
end;
という正数表現しか解りません。
一文字だけマイナスも大丈夫とするにはどうしたらいいでしょうか?
0655デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNG…EDITには最初からそういうウィンドウスタイルがあったんじゃないか?(ES_NUMBER)
ま、整数入力コンポーネントなんて、探せばUpDownボタン付きの含めて大量にありそうだが
0658デフォルトの名無しさん
NGNG難しいのですか。。初心者ではきついって事ですね。。
>>645
ありがとうございます。調べてみます。
またわからないことがあればご指導お願いします。
0659デフォルトの名無しさん
NGNGそれだとコピペが防げないから
OnChangeでEdit1.Textの先頭の'-'と'0'..'9'以外を取り除くコードを書くべし。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNGTTimerのOnTimerイベントをそのTTimerがあるフォームが開いてからではなく
そのフォームでのラストアクションがあってからにしたいのですがどうしたらいいでしょうか?
0668デフォルトの名無しさん
NGNGあいかわらず言ってる意味がよくわからんが
そのラストアクションの最後でEnabledをTrueにしたんじゃダメなのか?ダメなのか?ダメなのか?
0669デフォルトの名無しさん
NGNG0670ななしへたぐらま ◆XcB18Bks.Y
NGNGExpandFileName関数を使うと便利でしょう.
ExpandFileName('D:\hogehoge\arekore\..'); // 'D:\hogehoge' を返します.
ExpandFileName('D:\hogehoge\arekore\..\'); // 'D:\hogehoge\' を返します.
アドレスを指定する文字列の中にある『..』がツボです.
これは『〜の一つ上の階層』(親ディレクトリ)を意味します.
この関数を使うことで『..』を使った指定から
実際のアドレスに変換することができます.
※ドライブの一番上の階層(ルートディレクトリ)を返す場合,
引数の文字列の末尾に『\』をつけてもつけなくても
末尾に『\』をつけて返します.
ExpandFileName('D:\hogehoge\..'); // 'D:\' を返します.
ExpandFileName('D:\hogehoge\..\'); // 'D:\' を返します.
実際に使うときはこんな感じでしょうか.
ParentDir := ExpandFileName(IncludeTrailngBackslash(CurrentDir) + '..'); // 末尾に\なし(ルートディレクトリを除く)
ParentDir := ExpandFileName(IncludeTrailngBackslash(CurrentDir) + '..\'); // 末尾に\あり
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG一回EnabledをFalseにしてからまたTrueにするとか…???
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGXPで作ってるけど、別に問題ありませんが。
2000で試してみたら?XP特有の現象なら、2000ではバグは出ないはず。
もし2000でバグが出たら、自分が組んだプログラムに問題がある。
もし2000でバグが出ずに、XPでバグが出るんであれば、Delphiに問題があるのかもしれない。
その上で、こういうプログラムを組んだらこういうバグが出ました。
どうすればいいんですか?と質問してみたら?
0675デフォルトの名無しさん
NGNGフォームがセカンダリにある状態でMessageDlg使ってダイアログ出すと
プライマリ側に開いちゃうんだけどそれってどうにかならないの。
0676654
NGNG亀レスです。すいません。
アドバイスありがとうございます。
EditBoxの整数値限定入力について質問したものです。
入力時点で条件に合わないものは入力すらさせたくかったので
OnKeyPressを使いたかったのですが
OnChangeでも入力表示させないようにできるのでしょうか?
どうしても一文字目だけ'-’を含むという条件が解からないので。
お願いします。
0677デフォルトの名無しさん
NGNGテンキー判定にしてみては?
0679デフォルトの名無しさん
NGNGTImageを実行時に黒で囲んで表示させたいのですができますか?
なるべくなら新規作成コンポーネントでTImageを継承させたいのです。
constructor ○○○.create(Aowner:TControl);にソースを書けばいいのでしょうか?
初期サイズは高さ幅とも50で、正方形の黒枠を描きたいのですが。。。
知っている方、よろしくお願いします。
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGAPI使えばいいじゃん。頭悪いね。
0682デフォルトの名無しさん
NGNGこれは別にほっといてもいいんでしょうか?
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGパッチ当てたか?
つかリークしたブロックダンプしてみりゃいいじゃん。
0685デフォルトの名無しさん
NGNGどんな状況でも必ず1回発生します。
とりあえず放置しときます。
>>684
パッチは一応当ててます。
メモリリークはMEMCHECKを使用してるんですが、使い方がいまいち分からないので
メモリリークの数しか分かりません・・・すみません。
0686デフォルトの名無しさん
NGNGprogram Project1
uses
MemCheck;
begin
end.
でも発生?
0687デフォルトの名無しさん
NGNGコンポーネントが無い。。。
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNGフリーウェアを使ってください
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGもろDelphi製だったはず。
難しいといっても不可能ではない。要はやる気しだいでしょ。
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG全部じゃなければありますyo。
ダウンロード可能。
0698デフォルトの名無しさん
NGNGダウンロードできるサイトはちゃんとあるよ。
ちょっとURL忘れたけど・・
すごい見付けにくかった記憶がある。
0699デフォルトの名無しさん
NGNGKylixインストールして(OpenEditionはGPLの元で)CLXの(VCLと共通部分の)ソース見るかしろ
0700ななしへたぐらま ◆XcB18Bks.Y
NGNGWindowsの標準にはないインターフェイスのものは
Delphiでなくても難しいかもしれませんが(むしろほかの方が大変だと思います).
一方で,その気になれば初心者でもメモコンポを使って
それなりのバイナリエディタを作るのはそれほど難しくないと思います.
OnKeyPressイベントで0..9, A-F以外の文字入力をブロックしたり
下の桁を打ち込んだらカーソルをさらに1文字右に動かしたりとか.
でも最初は表示だけできるバイナリダンプソフトを作ってみると良いですよ.
これができるだけでもかなり勉強になるのではないかと思います.
#単に無料のバイナリエディタがほしいだけでしたらBzエディタを.
私も愛用しています.
0701デフォルトの名無しさん
NGNGDBCtrlGrid1PaintPanelを利用してやってるんですが
なぜかフォーカスされた行だけ色が思ったものと
違うものになってしまいます。
ちなみにDBCtrlGrid上にパネルを置いてその上に
DBTextを置き、その文字の色を変えようとしています。
どなたか解決方法ご存知のかたおられましたら
教えてください。
0702デフォルトの名無しさん
NGNG現在はOnActivateでShellExecuteを使って別ソフトを起動しているのですが
起動中に別ソフトが起動してしまいます
それとボタンを押した後にボタンのフォーカスを外す
または、フォーカスがどこにも当たっていない状態にする方法も教えてください
0703デフォルトの名無しさん
NGNG起動後=フォーム表示直後に何かするのは結構面倒。Timer使うのが無難。
Form1.ActiveControl := nil;
0704682
NGNGご迷惑をおかけしました。
0705デフォルトの名無しさん
NGNGMemCheck 使ったかいもあったし。
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG単発で質問立てるなよ
ここで質問してけ
0710デフォルトの名無しさん
NGNGありがとう・・・どうもありがとう(つД`)
単位落としそうで必死なんだ・・・ホントありがとう。・゚・(ノД`)・゚・。
0711デフォルトの名無しさん
NGNG【問題】
英語の試験の点数を、つぎからつぎへと入力して、
その合計と平均(少数第2位まで)、最大値と最小値の点数を求めて表示する。
試験の点数をして999を入力すると点数(データ入力)の終わりとする。
(999は合計に加えない)。
って奴なんです。まず何をするのかさっぱりで・・・お願いします。
0712デフォルトの名無しさん
NGNGこれはちょっとDelphiの手に余る問題だよ。
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGこれは不可能な問題なのでしょうか?
0715デフォルトの名無しさん
NGNGPascal?それともDelphi?
0716デフォルトの名無しさん
NGNGそうなのですか!じゃあ自分でちょっと分からなくても組んでみます。
できたらここに晒しますので間違いを指摘してもらってもいいですか?
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNGPascalをDelphiでやるんです。
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGそのうち4つがわからないのです。
上のはわからないうちの1つです。頭こんがらがっちゃって・・・
0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG小数第2位までを出すにはどういうふうに定義をしたらいいんですか?
0723デフォルトの名無しさん
NGNG習った範囲でやらないといけないのでダメぽです。
0724デフォルトの名無しさん
NGNG999なら最高、最低、平均を表示して終了させる。
0725デフォルトの名無しさん
NGNGわかりました。
integerではなくrealで定義すればいいんですね。
0726デフォルトの名無しさん
NGNGなるほど!ありがとうございます。やってみます。
0727デフォルトの名無しさん
NGNG0728710 ◆EbFiUcpS.Q
NGNG0729デフォルトの名無しさん
NGNGさらせ
0730710 ◆EbFiUcpS.Q
NGNGwriteLn;
writeLn;
n:=0;
while n < 999 do
begin
n:=n+1;
a:=n;
ここから下が・・・_| ̄|○
0731710 ◆EbFiUcpS.Q
NGNGn:integer
a:real
0732デフォルトの名無しさん
NGNGまずは使用者に入力させろ。
話はそれからだ。
0733710 ◆EbFiUcpS.Q
NGNGwriteln(n:=(n*a)/a);
とかやってみたのですが・・・実行できない_| ̄|○
0734デフォルトの名無しさん
NGNGあの問題からなんでそんなコードが出てくるのか・・・
0735710 ◆EbFiUcpS.Q
NGNG999までwhileで出力して1〜999の横に
今までの合計と平均ってのを随時出力していくんですよね?
最大値の点数は999で最小値の点数は1なのでは・・・?
どこの最大値と最小値なんでしょうか・・・
0737710 ◆EbFiUcpS.Q
NGNG最大値、最小値を出力するんでしょうか?
そうするとwhileは使わないですよね?
0738デフォルトの名無しさん
NGNGdelphi以前の問題だ。問題を理解してから来い
0739デフォルトの名無しさん
NGNGinput, min, max, count, total: Intger;
begin
count := 0; total := 0; min := 999; max := -999;
while True do
begin
Write('Input(999 to quit): '); Readln(input);
if input = 999 then break;
Inc(total, input);
if min > input then min := input;
if max < input then max := input;
Inc(count);
end;
if count > 0 then
begin
Writeln('min=', min);
Writeln('max=', max);
Writeln('average=', total / count:0:2);
end;
end.
0741710 ◆EbFiUcpS.Q
NGNGありがたいですが・・・
そういう書き方は習ってないですし・・・
僕自身理解ができないので・・・ごめんなさい・・・
初心者風な書き方で頑張ります。
0742デフォルトの名無しさん
NGNG答え出たけどひとつだけ問い詰めさせてくれ
なぜ999回回す
0744デフォルトの名無しさん
NGNGやる気もないみたいだし答えを読む気もないどころか問題も理解してない。
やってることは雑談だけ。もう消えろ。
0746デフォルトの名無しさん
NGNGそのまま正解になると思うよ。
0747デフォルトの名無しさん
NGNGDelphi初心者用サイトとか見ながら>>739を理解しる
そんなに難しくはないから
0748デフォルトの名無しさん
NGNG誠に遺憾なことだが、
スレの趣旨としてはこんなやつですらOKゾーンなんだよな・・
0749デフォルトの名無しさん
NGNG足が遅くても、ハンマー投げが得意、とか。そもそも陸上に向いてないとか。
プログラミングにも適不適があるんだよ。ある程度の人なら、ほとんどすぐに適不適
を見分けられる。コードがつたなくても、センスのあるなしは分かるもんだ。
0750デフォルトの名無しさん
NGNG陸上で言うなら「どこを走ればいいのかわからない」「靴の履き方がわからない」
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG算数の文章問題を何べんも音読させられたのを思い出したよ.
0753デフォルトの名無しさん
NGNG激しく同意。 >>711 の題意を理解してないと思われ
0754デフォルトの名無しさん
NGNGreadlnはユーザーの入力を読み取れる。
入力された値が0〜100なら点数で、999は終了を表す。この999というのは100以上なら何でもいい。
問題でそう決められているからそれに従っているだけで、999という数字自体に意味はない。
Inc(x, y)はx := x + yと同じ。Inc(x)ならx:=x+1.
それを踏まえて>>739のコード見れ。これで分からなかったらまじでやばい。
だから本気でガンガレ。
0755デフォルトの名無しさん
NGNGと気がつけば、あとは足し算わり算の問題。
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNGもう Borland は Delphi に力を入れてないから、やがて消えていくと
言っていましたが、本当なんですか?
それならこれから勉強してもしょうがない感じがするので、誰か本当
のところを教えて下さい。
持っているのは Delphi 5 ですが、これってWindows XP 用のアプリ
をつくれますか?
教えて君ですいませんが、Delphi 初心者なので、宜しく。
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNG君は若者?
「チャレンジしてみてダメだったらそれはそれ」って
選択肢はあり得ませんか?
誰かに決めてもらうのが最良ですか?
若者なら挫折も良いのでは?
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGと、冗談は置いて置いて
これから何かするんならDelphiでもVBでも初歩は変わらない
それから先は言語じゃなくてソース書くやつの腕次第
0763デフォルトの名無しさん
NGNGものすごくめんどくさそうなんだけど
いったいどこが「使えない」表現なんだろうか…
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGテュウェンティーワンセンチュリープログラミングとしてどうか。
と、最高に頭が悪そうな発言をしてみる。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1085915001/l50
0768デフォルトの名無しさん
NGNG> 言っていましたが、本当なんですか?
本当です。Delphi に限らずどんな言語もやがて消えていくでしょう。
ちゃんとした言語をちゃんと学ぶと、どんな言語にも通じるものを学ぶことが
できます。Delphi はちゃんとした言語であると思います。
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNGそうかもしれませんが、現時点では C# より出来ることが多い。
C# からプログラミング入門というのもいいかもね。あと2,3年たったら間違いなく。
0771デフォルトの名無しさん
NGNG持っているのは…ってことは、もう買ったのか?
今さらDelphi5を買う奴は無いので昔買ったが眠っていたパターンと推測して、
もしそうならやめとけ、ソフトにしろプラモにしろ小説にしろ、買っても積んでおくだけな奴は
どうせ何やっても長続きしない
0772デフォルトの名無しさん
NGNGMemo1にOpenDialog1.executeで読み込んだ文章をFileStream使って表示したい。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGMemo1.Lines.LoadFromStrem(FS);
0775デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
FS:TFileStream;
begin
if OpenDialog1.Execute then
begin
FS := TFileStream.Create(OpenDialog1.Filename,fmOpenRead or fmShareDenyWrite);
Memo1.Lines.LoadFromStream(FS);
FS.Free;
end;
end;
0776デフォルトの名無しさん
NGNGやれることの幅がかなり広くなる。
次はなにを学ぶといいですかね?
0777デフォルトの名無しさん
NGNG特に文字列周り。
0778デフォルトの名無しさん
NGNGなにをしたいかによる。学ぶことが目的ならコンポーネントの自作。
最初は、フリーのソース付きのヤツのソースを見て研究するとよい。
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGありがとうございます、他のアプリの状態の取得にはどうすれば?
0782デフォルトの名無しさん
NGNGメモリ領域を確保(Setlength)していない時の対応について教えてください。
if文で動的配列のメモリ領域を確保していない場合のコーディングをしたいのです。
var TestS : array of String;
…
if (…解らず) then 〜
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGどうもです。
lengthってこういう時にも使えるのは知りませんでした。
ありがとうございました。
0785780
NGNGSetlength(TestS,0)と強制的に長さを0にしてしまう場合にも
>>782の条件に引っかかってしまう事に気づきました。
実際そういう状況にもなるので・・・
説明不足でしたが動的配列宣言してSetlengthを一度もしていない時の
処理をしたかったのです。
この二つの区別は無理なのでしょうか?
0786デフォルトの名無しさん
NGNGどうして区別する必要があるのか?
0787デフォルトの名無しさん
NGNG無理。stringが自動的に''で初期化されるのと同様。
どうしてもというなら他にbooleanのフラグを用意しないといけない。
0788デフォルトの名無しさん
NGNGDel7以上だとお金がかかってしまいます。
嫌がらせですか?
0789デフォルトの名無しさん
NGNG嫌がらせですか?
そうじゃないならソース示せ。2ちゃん以外の。
0790まいど
NGNGアホを釣っているんです。
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGこら、せっかくみんな無視してきたのに、反応するな…
バッファオーバーフローについては、
・Delphi7なら修正済み
・XP側のアップデートでスタックは実行不可になった
Del6以下で、XP以外のOSでも、普通通過しないような箇所にあるので、
わざわざ起こすような酔狂なコーディングをしなければ起きない
ついでに、XPの実行可能属性保護は.NETには無効→.NETのunsafeコードはネイティブアプリより危険
http://msdn.microsoft.com/security/productinfo/XPSP2/memoryprotection/exec_imp.aspx
(Whidbey=2005以降は.NETも保護されるらしい)
0795デフォルトの名無しさん
NGNGおいおい初期状態に戻せないと困るじゃないか
0796デフォルトの名無しさん
NGNG集合型のpropertyの場合、includeとか使えない?
試しにTFontStyleについてやってみましたが、
include(Font.Style, [fsBold]); // ダメ
Font.Style := Font.Style + [fsBold]; // OK
つーことは、変数宣言された集合型以外では
includeとかは使えないってことでしょうか?
どちらでもいいんですが、helpによると、includeを
使ったほうがコードの効率がいいって書いてあったもんで。
0797デフォルトの名無しさん
NGNGpropertyはvarパラメータには渡せない。
例えば
procedure Foo(var s: String);にForm1.Captionを渡すとコンパイルエラー
functino Foo(s: String): String;
Form1.Caption := Foo(Form.Caption);
なら可能
0798デフォルトの名無しさん
NGNG速攻レス、thx
なるほど、そういうことですか。
今、includeをhelpで見て、初めて気づきました。
0799デフォルトの名無しさん
NGNGpropery Prop: TProp read GetProp write SetProp;
のようなプロパティには渡すべき実体が存在しないから。
0800デフォルトの名無しさん
NGNGスペック的には会社のほうが圧倒的に優れています
それと、XPで実行すれば勝手にルナインターフェースになるのかと思ったらならないんですね
どうしたらいいのでしょうか?
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGたとえば
FProp: TProp;
propery Prop: TProp read FProp;
というような場合、FPropの値が渡されるだけってこと?
0804デフォルトの名無しさん
NGNGJava のように try 〜 except でハンドルされなかった例外だけ
トラップするようにはできないものでしょうか?
デバッガオプションの「Delphi 言語の例外で停止」を外すと、
ハンドルされない例外が発生しても無視されてしまうので…。
0805デフォルトの名無しさん
NGNGさらに外側のexceptでトラップするだけヤン
0806デフォルトの名無しさん
NGNG無理
0808デフォルトの名無しさん
NGNGもう少し状況に応じて使い分けるべきだよ。
0809デフォルトの名無しさん
NGNGそうだね。TFileStream は実質何の役にもたってないし。質問の
> Memo1にOpenDialog1.executeで読み込んだ文章をFileStream使って表示したい。
が少々意味不明ではあるし。
0810デフォルトの名無しさん
NGNGはいはい、それは当たり前。プログラミングの練習をしてるんだろうよ。
0811デフォルトの名無しさん
NGNGで、どんな状況のときにはどれを使うのがいいの?
0812デフォルトの名無しさん
NGNGcppをDLLにコンパイルする方法が分かりませんコマンドに-WDが必要な
必要なあたりまでは分かったのですが、
**に代入した値は使用していない(関数 とか
パラメータ***は一度も使用されないとか
全く分からないエラーが出ます。(C/C++自体ふれたことがない)
ソース自体は配布されているものなので問題がないと判断し、
コンパイルする時点の問題ではないかと思いました。
ここ読めみたいなHPあれば教えてください。
0813デフォルトの名無しさん
NGNGとりあえず行単位のフィルタ処理でTFileStreamとかTMemStreamで読み込んで自前で改行コード判定したり
TStringListでいちいち全部読み込んだりする奴はアホ。
0815デフォルトの名無しさん
NGNGthanx!!
0816デフォルトの名無しさん
NGNGmanifest.resがありませんって言われちゃうのは私だけですか?
プロジェクトと同一ディレクトリだよね?
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNGじゃ、アホじゃない人は AssignFile Reset Readln Writeln 使うの?
ぜんぜん状況を判断してるようには見えないけどな。
0819デフォルトの名無しさん
NGNGそんなもの同封して配布したらかっこ悪いじゃないですか
なんとかならないですかね・・・
0820デフォルトの名無しさん
NGNGVB.NETならCUIプログラミングもお手の物ですよ。
0821デフォルトの名無しさん
NGNGメモ帳つくっても決して Memo1.Lines.LoadFromFile とかは使わないんだろな。
0822デフォルトの名無しさん
NGNGでも40MBのランタイムいるし。遅いし。
Delphi でもCUIつくれることしらないの?
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNGDelphiでUTF8のファイルを読み込んでUTF8のまま編集する
メモ帳を作りたいのですがどうすればいいのでしょうか。
VB.NETであればTextBoxを配置するだけで済んだのですが・・・
0827デフォルトの名無しさん
NGNG801のサイトのマニフェストでオレの環境では何も問題ないぞ
何かミスってんじゃないのか?
0828デフォルトの名無しさん
NGNGショートカットアイコンの矢印画像をオリジナルアイコンに重ねて描画する
ときなんかに使う。
0829デフォルトの名無しさん
NGNGそうですか、もう一度がんばってみます
サンクス
0830デフォルトの名無しさん
NGNGにゃるほど、つまり普通の透過描画であって
半透明にしたりとかはしないのですね。サンクス。
0831デフォルトの名無しさん
NGNGあるコントロールに対して、Click、DblClick、MouseDown、
MouseMove、MouseUpなどのイベントを使ってます。
それで、ダブルクリックすると、まずクリックが検出され、
つぎにダブルクリックが検出されます。たぶん、これが
普通なんでしょう。
ダブルクリック時に、クリック側プロシージャでは、それが
クリックなのかダブルクリックなのか分からず、困っています。
こういう場合、どうしたらいいのでしょうか?
0832デフォルトの名無しさん
NGNG>ダブルクリック時に、クリック側プロシージャでは、それが
>クリックなのかダブルクリックなのか分からず、困っています。
クリックされた時点でそれがダブルクリックの最初のひとつかどうかを判断することは
できない。未来を予測できないからね。
0833デフォルトの名無しさん
NGNGこっちでやれ。相手にするな。
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その13
http://pc5.2ch.net/test/read.cgi/tech/1089454618/
0834デフォルトの名無しさん
NGNG素早いレス、ありがとうございます。
つまり、1つのコントロールに対して、クリックと
ダブルクリックの両方のイベントを利用することは
できないんですね。
ありがとうございました。
0835デフォルトの名無しさん
NGNGVB 2005でできるのでDelphiでもできると思いますが。
0836デフォルトの名無しさん
NGNG添字[-1]で動的配列にアクセスしてるのにエラーが起きないばかりか範囲チェックにすらひっかからない。
なんでだろう・・?
0837デフォルトの名無しさん
NGNGコーディングする事にしました
そこでちょっと問題が起きて困ってます。
元々そのコードの中でexit()手続きを使っていたのですが
自分で作った手続きに分けるとexitはその自分の手続きを終了するだけで
イベントハンドラ自体を終了する事ができません。
どうしたらいいでしょうか?
0838832
NGNG> 未来を予測できないからね。
「未来」で今思いついたけど、どうしてもクリックと
ダブルクリックを検出したい場合、タイマを使うって
手もありますね。
でも、そこまでやるってのも考え物ですが。
ただ、グラフィック関係のツールで、操作上、どうしても
マウスのクリックとダブルクリックを区別したいんで。。。
0839デフォルトの名無しさん
NGNG>つまり、1つのコントロールに対して、クリックと
>ダブルクリックの両方のイベントを利用することは
>できないんですね。
やりたいことは、ダブルクリックのときシングルクリックのイベントハンドラを
実行してない、ってことでしょう?
これは、かなりの FAQ なんです。せこい方法では、クリックイベントでタイマーを
起動し、ダブルクリック時間間隔(システム設定)経過したらシングルクリックとみ
なし、そのコードを実行する。OnDblClick ではタイマを止め、ダブルクリックイベ
ントの処理をする、というものです。
これの難点は、本当のシングルクリックのときの処理応答が遅延されることです。
0840デフォルトの名無しさん
NGNG自分で作った手続きを関数にして、
本体側で戻り値を判断してexitするとかは?
0841デフォルトの名無しさん
NGNGVB.NETを使おう。
0842デフォルトの名無しさん
NGNG戻り値で判断しては?
0843デフォルトの名無しさん
NGNGシフトキーを押しながらクリックとか、Ctrlキーを押しながらクリックとか、
あと右ボタンクリックを使うこともあるよね。
0844デフォルトの名無しさん
NGNG・自分の手続きを関数にして戻り値で判断。
・イベントハンドラ内のフラグを利用
procedure TForm1.EventHandler(Sender: TObject);
var
exitFlag: Boolean;
procedure MyProc;
begin
if xxx then exitFlag := True;
end;
・Abortする。
0846デフォルトの名無しさん
NGNGそうですね。
ダブルクリックは押しそこなうこともあるから、
両方使うことは、場合によっては、危険でも
ありますね。
0847836
NGNG特定の型のときだけ範囲チェックをすり抜けるようだ。
0848デフォルトの名無しさん
NGNG特定のフォルダ(のノード)を選択にするにはどうすればよいのでしょうか?
0849デフォルトの名無しさん
NGNG0850837
NGNGすいません、もう少し質問させてください。
今自分で作った物についてですが
exitが使われている自分で作った関数の戻り値をBoolean型にしました。
そして、イベントハンドラ内で、作った関数をif文の条件文に書き
そこでもう一度exitを使って対処しました。
これじゃ後々何か問題ありますか?
正直今の俺には>>844さんのコードが完全に理解できません。
特にAbort使った事ないんですがやっぱ>>844さんの方がいいんですか?
0851デフォルトの名無しさん
NGNGAbortはもともと望んでいた多重Exitと同機能。
0852デフォルトの名無しさん
NGNGあなたのレベルでは最初から作り直すべき。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNGそれでよし。
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGグローバル関数の関数名とが被っているのです。
普段は適切な方が自動判別?されて呼ばれるので問題ないのですが
クラスのメソッド内からグローバル関数の方を呼ぼうとすると
なぜかpropertyの方が呼ばれてしまうらしく
「'['が必要なところに'('があります」というようなエラーがでてコンパイルが通りません・・。
propertyが呼ばれるのは暗黙のSelfのせいだと思うので無効にする方法はないかと思って質問しました。
0858デフォルトの名無しさん
NGNGユニット名.グローバル変数名
例えばフォームを指定する場合
Unit1.Form1とする。
0859デフォルトの名無しさん
NGNGなぜならそのクラスのために作ったグローバル関数なので・・
function Point(const x,y: integer): TPoint;
のようにクラス専用のrecordを作る関数なのです。
とりあえず今は
メソッド内からグローバル変数を呼ばずに手動でrecordを作成して回避してます。
0860デフォルトの名無しさん
NGNG0862名無しさん@そうだ選挙に行こう
NGNGそりゃ宣言によるでしょ。
たとえばarray[-5..5] of integerで-1にアクセスできなかったらまずことになるぞ。
0863名無しさん@そうだ選挙に行こう
NGNG0864名無しさん@そうだ選挙に行こう
NGNG0865名無しさん@そうだ選挙に行こう
NGNGWinExec( PChar('IEXPLORE'), SW_SHOW );
これだと何の反応もありません・・・
0866名無しさん@そうだ選挙に行こう
NGNG0867名無しさん@そうだ選挙に行こう
NGNGShellExecuteで
関連付けで起動できました
ありがとうございます
0869名無しさん@そうだ選挙に行こう
NGNGpublicにありますよね・・。
0870名無しさん@そうだ選挙に行こう
NGNGはっきりいってFreeの恩恵にあずかったことがない。
0871名無しさん@そうだ選挙に行こう
NGNGProfessional Version5 に関してですが。
0872名無しさん@そうだ選挙に行こう
NGNG0873名無しさん@そうだ選挙に行こう
NGNGNullオブジェクトをFreeしてもエラーにならないけど、
Destoryの場合はEAccessViolationになる。
0874名無しさん@そうだ選挙に行こう
NGNGじゃぁ
if Assigned(O) then O.Destroy;
でいいやん。禁止しなくても。
0875名無しさん@そうだ選挙に行こう
NGNGなぜゆえdestroyにこだわる?
0876875
NGNGDelphi5Proで顧客管理ツールを
作ろうと右往左往してるんですが、
DBEditに打った内容を
DBGridに反映させる時に。
リアルタイムに打った内容が反映されてしまって、
間違って入力した時に上書きされないように、DBEditに
入力した後、ボタンイベント等を行わない限り。DBファイル
が更新されないようにするには、どうすればいいでしょうか><
0877名無しさん@そうだ選挙に行こう
NGNG連動させたくないんだったら普通にEditつかえば?
0878876
NGNGエディットで入力したデータをDBファイルに
反映させる方法も、もしよろしければ御教授
願いたいです><
0879名無しさん@そうだ選挙に行こう
NGNG0880名無しさん@そうだ選挙に行こう
NGNGStrToInt(00433) とか StrToInt(00876) とか StrToInt(00088) とか
何とか足し算引き算の出来るまっとうな数字に直したいです。
0881名無しさん@そうだ選挙に行こう
NGNGなにがしたい?
StrToInt には整数型は渡せないが。
i := 00433 とかやれば普通に 433 の数値が入るが。
0882名無しさん@そうだ選挙に行こう
NGNG0883名無しさん@そうだ選挙に行こう
NGNGValは?
0884名無しさん@そうだ選挙に行こう
NGNG00433 は sring じゃないでしょ。 StrToInt('00433') じゃないの
0885876
NGNGAppendメソッドを使って
何とかデーターの書き加え出来ました><
普通のエディタ使ってよかったです。アドバイス
ありがとうございました!
0886名無しさん@そうだ選挙に行こう
NGNGどうすればいいのでしょうか?
0887デフォルトの名無しさん
NGNGだって、Destroyの直呼び禁止に意味はあるか、という話でしょ。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGそこらへんにいくらでも落ちてる
0890デフォルトの名無しさん
NGNGindyをダウンロードしたことと、指定URLからタイムスタンプを取得することとは無関係
0891888
NGNG0892デフォルトの名無しさん
NGNGわかりにくい質問ですみません。
indyをインストールしたのですがコンポーネントが多すぎてどれを使えばいいのかわからないんです。
タイムスタンプを取得するにはどのコンポーネントのどのメソッドを使えばいいのでしょうか?
0893デフォルトの名無しさん
NGNGLast-Modified の事か?
ならTIdHTTPで、GET か HEAD メソッドでリクエストかけてヘッダメッセージ調べればいい。
0894デフォルトの名無しさん
NGNGありがとうございます。
0895880
NGNGStrToInt の件
ごめんなさい、どうしようもないアホでした
文字列として''でくくってやったらちゃんと出来ました。
'〜'の中はそもそも変数で、他から引っ張ってくる0付き数字の列なんですが、
さてこれがどうやったら数字になるのかと、ためしに StrToInt(00426)
とかやってみたらダメだったので、ついうろたえて書き込んでしまいました。
0896デフォルトの名無しさん
NGNG日本語文字を単位として、文字列中での
ある部分文字列の位置を知りたいんですが。
PosとかAnsiPosとかをどのように使うんでしょうか。
よろしくお願いします。
0897デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGちょっと勉強のためにやってみた
procedure TForm1.Button1Click(Sender: TObject);
var str1,str2:string;
a1,a2:integer;
begin
str1:=edit1.text;
str2:=edit2.text;
a1:=ansipos(str2,str1);
a2:=a1 div 2 + 1;
edit3.Text:=inttostr(a2);
end;
Edit1の中に、調べたい文字列を書く
Edit2の中に、Edit1に書かれた内容から何文字目か知りたい文字を書く
Edit3の中に、Edit2の中に書かれた文字が、何文字目かを表示
日本語文字ってことで、2バイトだから、ちょろっと操作→ a2:=a1 div 2 + 1;
こんな感じでできると思うけど、もっといい方法あるかもしれない
(俺も初心者だし)
ただこれ、日本語のみ使ってる場合にしか使えないから
1バイト文字もはいってきたときにどう処理するかが頭使うのかも
0901デフォルトの名無しさん
NGNGvar str1,str2:widestring;
a1:integer;
begin
str1:=edit1.text;
str2:=edit2.text;
a1:=pos(str2,str1);
edit3.Text:=inttostr(a1);
end;
>>899だけど
899で書いたやつより、896さんがいった感じでやったほうが
日本語と英語まざってても対応できるから
こっちのほうがいいね
勉強になったよ、thx
0902デフォルトの名無しさん
NGNGテキストファイルも0と1の集まりだよね?
このスレの文章も本当は0と1の集まりなの?
Delphiで文章を0と1だけの本当の変換する方法を教えてZ!
0903デフォルトの名無しさん
NGNG>全部0と1の集まりなんでしょう?
いいえ、違います。
on/offならともかく0と1というのは明らかに間違い。
0904デフォルトの名無しさん
NGNGという文字は
数字で
96 7B 93 96
と表され、これを二進数(0と1の集まり)で表すと
10010110011110111001001110010110
となる。すべてのデジタル情報はこの表記に変換できる。
0905デフォルトの名無しさん
NGNGfunction SizeOf(X): Integer;
function High(X);
function Low(X);
の(X)のように書きたいのですが、このまま書いても「パラメータの型が必要です」と言われてしまいます
0906デフォルトの名無しさん
NGNGでどんな変数でも取れるけど目的には適わないな。
C#とかののgenericsを使うと実現できるけどDelphiにはない。
IntegerでもStringでもDoubleでもちゃんと処理する関数を書きたいなら
function High(X: Integer): Integer; overload;
function High(X: String): Stirng; overload;
function High(X: Double): Double; overload;
と地道に書くしかない。
0907デフォルトの名無しさん
NGNGやりたいことは別の方法で実現できました
スレ汚しすいません。
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNG[エラー] RLINK32: Error opening file "C:\Program Files\Borland\Delphi6\Projects\Unit1.dfm"や
[エラー] RLINK32: Error opening file "Unit1.dfm"などのエラーが出てしまいます。
以前は同じ画像を読み込ませても何もエラーが出なかったのですが
なぜか最近エラーが出るようになりました。原因がわかりますでしょうか?よろしくお願いします。
Delphi6のパーソナル版を使用しています。
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNGやってみました。でも、15秒程度Delphiがストールした状態になり、
その後、同じエラーが出てしまいました。
0913デフォルトの名無しさん
NGNG>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
>15秒程度Delphiがストールした状態になり、
0914デフォルトの名無しさん
NGNG0915910
NGNG一応Delphiを再インストールしてみたんですが・・・
それから、ファイルに保存してみようとしたら
「メモリストリームの拡大中にメモリが足りなくなりました」
って怒られました。自分のパソコンの問題なのかな('A`)
0916デフォルトの名無しさん
NGNGハードディスクが逝かれた
0917デフォルトの名無しさん
NGNGDel6Pro+パッチ全部の環境では7MBのファイル一瞬でロードできるな。
単にOSのメモリが足りないんじゃないの。
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGしましたが、
const CMaxFld = 12;
type TIni = record
TableName: string;
InsertFld: array[0..CMaxFld-1]of string;
UpDateFld: array[0..CMaxFld-1]of string;
UpDateKeyFld: string;
DeleteKeyFld: string;
end;
ファイル型の宣言をした際にコンパイルエラーが発生してしまいます。
var
F: File of TIni;
「'TIni'型は終了処理が必要です。-ファイル型として使うことはできません」
とのメッセージ内容がいまいち分からないのですが、どなたかご教授下さい。
お願いします。
0921デフォルトの名無しさん
NGNGファイルへの書き込みはTFileSream使っとけ。
0922920
NGNG0923デフォルトの名無しさん
NGNGフォーム1を親 フォーム2を子にしてるんですが
親のタイトルバーは消せるんですが子フォームのが消せません。
なぜでしょうか?
0924デフォルトの名無しさん
NGNG>>808
0925デフォルトの名無しさん
NGNG>>808を別に否定はしないが
シーケンシャルなバイナリファイルの読み書きに
TFileStreamが向かない理由とその代案を説明してくれ。
0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG設定できるプロパティってありますか?
0929デフォルトの名無しさん
NGNG0930923
NGNGなぜできないのか疑問だっただけなんで。
0932デフォルトの名無しさん
NGNGいろんなやり方があると思うが、
普通のグリッド使って、一括処理、というのもありだと思うよ。
例えば最大99行ぐらいの伝票処理なんかだと特に向いてるかも。
同じ伝票を同時に複数人がカキコすることがある、とかだと難しくなってくるけど。
0933デフォルトの名無しさん
NGNGつーか、Listviewの各項目はセルとはいわんだろ。
0934デフォルトの名無しさん
NGNGネットでいろいろ探したんですが、以下のようなものがありました。
いろんな国のサイトで同じソースが出てたから、これが定番なのかも。
ttp://www.swissdelphicenter.ch/torry/printcode.php?id=618
ところが、これがウチではうまく機能しないんですが?
つまり、音量がまったく変わらないんです。ウチの環境の問題?
0935デフォルトの名無しさん
NGNGよろしくお願いします。
ビットマップAに背景色と前景色を指定して文字を描画し、
それに少々処理を加えます。ビットマップBには任意の画像が
読み込まれています。
ここでビットマップAの背景色を透明色として、ビットマップAを
ビットマップBにコピーしたいんです。このとき、ビットマップAの
文字のアンチエイリアス処理で生じた半透明の部分も上手く
コピーしたいんです。
こんな場合、どんな方法があるんでしょうか。
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNGCanvas.Draw だとこれがうまくいかないか
0938デフォルトの名無しさん
NGNG重ね合わせた後に文字を書くとか?
知らんけど
0939935
NGNGちゃんと勉強しないとだめかな...
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNGOpenDialogでパスを取得したとき
e:\filder\faile.txt (ネットワークドライブ)ではなく
\\コンピュータ名\filder\faile.txt
にしたいのですがどのようにすればよいでしょうか
おねがいします。
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNGコンパイルすると、
"forward または external 宣言された 'sum' が見つかりません"
というエラーが出ます。
具体的なコードは以下のようになってます。
=== sum.cpp ( bcc32 -c sum.cpp ) ===
extern "C" {
int __stdcall sum(int a, int b)
{
return a + b;
}
}
=== Unit1.pas ( 一部 )==============
{$L sum.obj}
function sum(a: Integer; b: Integer): Integer; StdCall; external;
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageBox(0, PChar(IntToStr(sum(2, 5))), '', MB_OK);
end;
どのようにしたら解決できるか、教えていただけると嬉しいです。
0945デフォルトの名無しさん
NGNG.objをバイナリエディタで開いてみてください
(伝統的にC呼びだし規約はアンダーラインが付く)
ついでに、C呼びだし規約に対応するのはstdcallではなくてcdeclです
0946デフォルトの名無しさん
NGNGランダムに表示させるにはどうしたらいいでしょうか?
0947デフォルトの名無しさん
NGNGレスありがとうございます
いろいろ試してわかったのですが、
sum.cpp を sum.c にして作成した obj ファイルだとリンクできました。
extern "C" をつけてるので大丈夫だと思ったのですが、C++だと駄目なようです。
呼び出し規約については、
stdcall でも cdecl でも Cの関数提供側とPascalの呼び出し側で統一してやれば、
問題ないようです。
C++のobjファイルがリンクできないと自分には不便なのですが、
方法はないのでしょうか?
0948デフォルトの名無しさん
NGNG具体的に何が知りたい?
画像の読み込ませ方?
ファイル名をランダムに得る方法?
0949デフォルトの名無しさん
NGNG0950949
NGNGReadln、Writeln したいのれす。
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNGDBGridでやるならば、各DataSetのイベント(又は金額のOnSetFieldだっけ?等)で
1開始にTBookMark等をつかって現在地を保持
2レコードを全て回して小計をだす
3終わったら覚えていたTBookMarkで元の位置に戻る
Paradoxならこのような処理は早いはず
クラサバならTClientDataSet等を使ってローカルにデータを保持して
回せばいいと思いますよ
0953952
NGNG単純な金額の小計のみならば集合体を使ったほうがいいです
0954デフォルトの名無しさん
NGNG画像をスクロールさせて表示したいんですが・・
なんかいい方法ありますか?
0955デフォルトの名無しさん
NGNGそれはアホくさい要求だな。
TStringList.LoadFromStream(Stream);
とすると自動的に改行で区切られるから簡単。
0956デフォルトの名無しさん
NGNG'c:\pic\'+Format('%.2d',Random(11))+'.bmp';
FormCreate で Randomize; を実行しておくこと
0957デフォルトの名無しさん
NGNG'c:\pic\'+Format('%.2d',[Random(11)])+'.bmp';
0958デフォルトの名無しさん
NGNGShowMessage('終了しました');
とすると、表示されてからもアクセスが続いています。
完全に終わってから表示したいのですが、
書き込みが終わった事を知る方法をご教示願います。
Delphi6 personal で、OSはMEです。
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG何万行もあるのに一括読み込みはやです。もっと頭のいい人プリーズ。
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNGなんでやなの?
0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG入出力元を自由指定できそうな仕組みになっているじゃありませんか。
そんで多分賢い人が既につくってるだろうと思ったからです。
Delphiって奥が深いですね。
0965デフォルトの名無しさん
NGNGアプリケーションが非アクティブ時も反応してしまいます。
で、コードの頭に if Application.Active then を付け加えると反応しませんが、
例えばメモ帳使用時に改行が出来なくなってしまいます。
正常に作動させるにはどうしたらよいでしょうか。
0967942
NGNG下記のサンプルを見つけたのですが
コンパイル出来ません。
Win APIの使い方がよくわかっていないので
もう少し情報をもらえないでしょうか?
ttp://www.delphicorner.f9.co.uk/articles/wapi9.htm
function GetUNCName(PathStr : String) : String;
var
bufSize : DWord;
buf : TUniversalNameInfo;
msg : String;
begin
bufSize := SizeOf(TUniversalNameInfo);
if (WNetGetUniversalName(PChar(PathStr), UNIVERSAL_NAME_INFO_LEVEL,
buf, bufSize) > 0) then
case GetLastError of
// ・・ 略 ・・・
end
else
msg := buf.lpUniversalName;
Result := msg;
end;
windows2000
Delphi 7
0968デフォルトの名無しさん
NGNG0969942
NGNG失礼しました。
エラー場所の場所
if (WNetGetUniversalName(PChar(PathStr), UNIVERSAL_NAME_INFO_LEVEL,
buf, bufSize) > 0) then
エラー内容
[エラー] Unit1.pas(33): '_UNIVERSAL_NAME_INFOA' と 'Pointer' には互換性がありません
0970デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1087823906/l50
0971デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1089719714/l50
0972デフォルトの名無しさん
NGNGbuf → @buf
0973デフォルトの名無しさん
NGNG>>706
0974デフォルトの名無しさん
NGNG> 正常に作動させるにはどうしたらよいでしょうか。
その動作が正常です。君が正常でないことを期待しているだけ。
0975デフォルトの名無しさん
NGNG>そんで多分賢い人が既につくってるだろうと思ったからです。
賢い人は数万行くらいなら悩むことなく >>955 の方法でやる。
0976デフォルトの名無しさん
NGNGそのスレにあの学生が降臨してるようだなw
0978デフォルトの名無しさん
NGNGぜか暗い気持ちになるな
0979デフォルトの名無しさん
NGNGちゃんとしたレスが貰えなくなるので意味が理解できないなら黙っててください。
0980デフォルトの名無しさん
NGNGStreamを避ける理由があるならReadlnでささっと書くよな。
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG標準のコンポであるServerSocketとClientSocketを使って
クライアントがサーバーに接続し、サーバーのデータをとりだすことはできました。
ここで、もっと基本的なことになるんですが、サーバーに接続するさいに
パスワードを必要とし、もしパスワードが一致していなければ
サーバーが接続を拒否する。
というプログラムで悩んでいます。
悩んでいるというよりも、いろいろグーグルで調べてみたんですが
きっちりと解説しているHPを見つけることができませんでした。
このへんの通信に詳しいHPがあれば、教えていただきたいですm(_ _)m
0983デフォルトの名無しさん
NGNG接続しないとパスワードも送れませんが。
0984デフォルトの名無しさん
NGNG単純なものなら
クライアントからサーバに接続。
サーバかパスワード要求送信(例えば「Password:」とか)。
クライアントからパスワード送信。
サーバが正しいパスワードが確認。
間違ってればサーバから切断。正しければ続行。
という手順になると思うけど、どこがわからない?
あ、どなたか次スレよろ。
0985デフォルトの名無しさん
NGNG>>983さん
すいません
それでは、接続したあと、クライアントがパスワードをサーバーに送信し
サーバーに設定しているパスワードでなかった場合に
サーバーが、そのクライアントの接続を切断する。
といった具合で、どうでしょうか?
0986デフォルトの名無しさん
NGNGあ、すいません、わからない部分を書いていませんでしたね・・・
サーバーがクライアントの接続を切断する
という命令がわからないんです
言葉たらずですいませんm(_ _)m
0987デフォルトの名無しさん
NGNGって怒られるんだけど、これって何処にあるの?
reademe見たんだけど書いてないみたい。
MLの過去ログ見たらD7でもあるみたいなんだけど、
漏れのにはない。
0988デフォルトの名無しさん
NGNGありがとうございました。
それでやってみます。
0989デフォルトの名無しさん
NGNGClose
0990デフォルトの名無しさん
NGNGでtextstreamなるものを見つけましたが
使い方が分かる方は教えてください。
0991デフォルトの名無しさん
NGNG三原色をどうにかする変数らしいのですが
使い方がいまいちわかりません。
ぐぐっても解説してるとこないし・・・
0992デフォルトの名無しさん
NGNG単にbmpかなんかの画像ファイル中の色並びってだけだった気がする
0993デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNGをぉ、タイマーで実装したけど、TIdAntiFreezeで作り直しかぁ。
タイムアウト値がプロパティじゃないなんて、ちょっと面倒なつくりだね。
0996デフォルトの名無しさん
NGNG素人の意見だけど、設定はできないような気がする。
なんかHTTPプロトコルを使用するときは内部で2000ミリsecondsに設定してるように見える
あくまで素人の意見なので間違ってるかもしれないけど
0997デフォルトの名無しさん
NGNG2000ミリsecondsに注意してIndyソースの中の人見てみます。
0998デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1089779142/l50
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。