くだすれDelphi(超初心者用)その21
レス数が1000を超えています。これ以上書き込みはできません。
0001Project774.dpr
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
<前スレ>
くだすれDelphi(超初心者用)その20
http://pc5.2ch.net/test/read.cgi/tech/1101530485/
<その他>
ボーランド
http://www.borland.co.jp/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
0002Project774.dpr
NGNG19 http://pc5.2ch.net/test/read.cgi/tech/1097454588/
18 http://pc5.2ch.net/test/read.cgi/tech/1093996761/
17 http://pc5.2ch.net/test/read.cgi/tech/1091671391/
16 http://pc5.2ch.net/test/read.cgi/tech/1089779142/
15 http://pc5.2ch.net/test/read.cgi/tech/1087823906/
14 http://pc5.2ch.net/test/read.cgi/tech/1085239007/
13 http://pc5.2ch.net/test/read.cgi/tech/1081003641/
12 http://pc5.2ch.net/test/read.cgi/tech/1076610073/
11 http://pc5.2ch.net/test/read.cgi/tech/1076609666/
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://pc5.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デフォルトの名無しさん
NGNG乙
0004デフォルトの名無しさん
NGNG/ \ ´ ── / / ─' / _ /
_/ \ __ / ___/ ___/ / ___/
 ̄ ̄ ̄
_ , ― 、
,−' `  ̄ヽ_
,' ヽ
( `ー'ー'ヽ`ー'ー'ヽ )
( ノ '''''' '''''':::::::ヽ )
( . )(●), 、(●)、.:( ) +
( ) ,,ノ(、_, )ヽ、,, .::::( ) <ヨン様が華麗に4get!
. ヽ ) `-=ニ=- ' .:::::::|ノ +
\ `ニニ´ .:::::/ +
,,.....イ.ヽヽ、ニ__ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
0005名有り
NGNGhp: what had happend?
HpCheck(dmatrix.c, 178) : heap violation[ O]と出て、セグメンテーション違反です で終了してしまうのです
ちなみにdmatrix.cの178行は
double **dm_create(int n, int m)
{
int i, j;
double **aa;
aa = (double**)MALLOC(sizeof(double)*n);
for(i=0; i<n; i++){
aa[i] = (double*)MALLOC(sizeof(double)*m);
memset(aa[i], 0, sizeof(double)*m);
}
return(aa);
}
という所のaa[i]〜って所ですどうやったら回避できるのか分からないので教えて下さいよろしくお願いします
0006名有り
NGNGvoid klt(double **U, double **Y, int K){
int i, n;
double a, **v, **d, **E, T, **y;
v = dm_create(K+1, K+1);
d = dm_create(K+1, K+1);
E = dm_create(K+1, K+1);
y = dm_create(K+1, K+1);
for(i = 1; i<=K; i++){
d[i][0] = 0.0;
U[i][0] = 0.0;
for(n = 1; n<=K; n++){
y[1][n] = Y[n-1][0];
v[i][n] = U[n-1][i]*y[i][n];
d[i][n] = 0.95 * d[i][n-1] + v[i][n]*v[i][n];
E[i][n] = y[i][n] - U[i][n-1]*v[i][n];
T = klt_T(d,i);
a = T*E[i][n]*v[i][n]/d[i][n];
U[i][n] = U[i][n-1] + a;
y[i+1][n] = y[i][n] - U[i][n]*v[i][n];
}
printf("for out1");
}
dm_free(y,K);
dm_free(v,K);
dm_free(d,K);
dm_free(E,K);
}
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009名有り
NGNG0010初心者
NGNG回答ありがとうございました。
Delphi Synchronizeで検索かけたら出ました
マルチスレッドアプリケーションの開発方法
http://www.wwlnk.com/boheme/delphi/techdoc/dad0010.html
色々あるけどこれが一番わかり安かった
0011デフォルトの名無しさん
NGNGDelphi6を使っています。
久し振りに起動しましたところ、ツールバーやメニューが消えてしまっています。
どうやって表示すればよいでしょうか。
よろしくお願いいたします。
0012デフォルトの名無しさん
NGNG何も表示されていない領域を右クリックしてチェックをつけてみる。
別ユーザーを作ってログインしてIDEを起動してみる。
再インストール
0013デフォルトの名無しさん
NGNG英語版Windowsで表示すると日本語版WindowsだとOK,キャンセルになっている
ボタンはちゃんと英語になるんでしょうか。。
0014デフォルトの名無しさん
NGNGプロパティではなく、プログラム中で動的に変化させたいです。
0015デフォルトの名無しさん
NGNGプログラム中で動的にプロパティに新しい値を代入する。
0016初心者ですが
NGNGASP.NET Web
VCLフォーム
Windowsフォーム
の違いが分かりません教えてください
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGBITMAPFILEHEADERでぐぐれ
BITMAPFILEHEADER、BITMAPINFOHEADER、(RGBQUAD)の各レコード型がそのまま書かれてるだけだ
>>16
BCBしか使ってないからよくわからんがDel8かな?
VCLフォーム: VCL.netのTForm派生のフォーム
WIndowsフォーム: .net FrameworkのWindows.Forms派生のフォーム
だと思われ
0019デフォルトの名無しさん
NGNG実行中のCPUウィンドウに表示されるシンボルと対応行表示付きの
逆アセンブルをそのままソースとして抜き出す方法はないでしょうか?
0020ない
NGNG0021デフォルトの名無しさん
NGNG派生させればいいのでしょうか?
Delphi7を使用してます。
SamplesのTCalendarからが楽そうなんですが、やり方がわかりません。
0022デフォルトの名無しさん
NGNGCTRL-Cは別の意味になるから ALT+E+C
これで1行しかコピーできないから、これを送ってはカーソル↓を送って
というアプリを作ればなんとかなりそうだけど
残念ながら、ラベルの部分がコピー出来ない
ということで、DCU32INTを使うのが一番いいかもしれないよ。
どこで手に入れたか忘れたから自分で検索してくれ
0023デフォルトの名無しさん
NGNGhttp://hmelnov.icc.ru/DCU/index.eng.html
0024デフォルトの名無しさん
NGNGttp://www.sakaki.keiaikai.or.jp/cgi-bin/ConvRoom/webconv.dll/alltree?No=16363
0025デフォルトの名無しさん
NGNG擬似的なDateTimePickerのようなものを作成しようとしています。
カレンダークラスはDateTimePickerよりコピーしました。
ただ、ボタンクリック→カレンダー表示がどうしてもできません。
DateTimePickerはコンボのリスト内にカレンダーを描画しているいるようなのですが、
EditとButtonの場合の描画方法がわかりません。
初心者で申し訳ないのですが
よろしくお願いします。。
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG自前のソートを使った場合うまくいきません。ノードをスワップしているところがまず
いのでしょうか?
procedure ChildNodeSort(Node: TTreeNode;);
var
gap,width,i,j :Integer;
dmy :TTreeNode;
begin
if Node.GetFirstChild <> Nil then
for j := 0 to Node.Count-1 do ChildNodeSort(Node.Item[j]);
//Node.AlphaSort; や Node.CustomSort(@CustomSortProc, 0); ならもちろんOK!
gap := Node.Count-1; //ShellSort(昇順)
while gap > 0 do
begin
gap := gap div 2;
width := Node.Count-1-gap;
for i := 0 to width do
begin
j := i;
while j >= 0 do
begin
CompareStr(Node[j].Text,Node[j+gap].Text) <= 0 then break;
dmy := Node[j]; Node[j] := Node[j+gap]; Node[j+gap] := dmy; //これがまずい?
j := j-gap;
end;
end;
end;
end;
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGdmy.Assign(Node[j]);
Node[j].Assign(Node[j+gap]);
Node[j+gap].Assign(dmy);
としましたがダメでした。そういうことではないのかな?
0030デフォルトの名無しさん
NGNGVCL側だけで並べ直しても意味がない。
コモンコントロールに対して送らないと結果は反映されない。
だからVCLはTVM_SORTCHILDREN を送って処理させてる。
で、自前のソートがやりたいなら
TTreeNode.CustomSort を使う方が簡単
0031デフォルトの名無しさん
NGNGサンクス。とても勉強になりました。
0032デフォルトの名無しさん
NGNGh := 1;
while h < n do
h := h * 3 + 1;
while h > 0 do
begin
h := h div 3;
が効率的。
0033デフォルトの名無しさん
NGNGアルゴリズムの本にはそう書いてありますよね(^^;)。
ソートいえば皆さん、やはりクイックソートを使うんでしょうか。
私の貧弱なセカンドマシン(Pentium �U 400Mzh)で Integer 型のデータ5万個をソートした場
合 >>27 のコードでもクイックソートと比較しても体感的な差は全くないです。文字列なら(テキ
ストの種類にもよりますが)1万行でも差が出るでしょうけど、そういうことをする必要に迫ら
れたことがないので私はシンプルなシェルソートを使うことが多いです。
0034デフォルトの名無しさん
NGNG0035肉体労働者
NGNGすみません質問させてください。
目的
2バイトコードとアスキーの混在するテキストファイルのコンバートをしようとしています。
最終的に日本語だけになれば完成。
ファイルの仕様
日本語2バイトコードとアスキーコードが混在しています。
自分のしたこと
TFileStreamのReadメソッドを利用して1バイトづつ読み込んでバッファに保持。
CRLFが出てきたら返す。
問題点
sz := fs.Read( buf, 1);
if buf = widestring(chr($0d)) then
begin
処理...
と書いたところ判断文で死んでしまいます。
szはlongintで、bufはwidestringで変数を取りました。
デバッガでリードした値を読むと読めないので変数の取り方がおかしいのかとも思っています
どうやって取ればいいのか教えていただけますか?
0036デフォルトの名無しさん
NGNGReadlnじゃ駄目なのか?
0037肉体労働者
NGNGご指摘ありがとうございます。
これからやってみます。サイズチェックは実際にはしてますが
ここで書くには行数制限のために省きました。
ReadInは調べてみます
また分からないことがありましたらご指導ご鞭撻よろしくお願いします
0038デフォルトの名無しさん
NGNGネタなのかなぁ。
でも俺も通った道だしなぁ・・。
35のどこが悪いか指摘するより
「最終的に日本語だけになれば完成。」のコードを書くほうが圧倒的に早い・・。
・SingleByteも混じってるのにWideStringで読んでどうするの、とか
・そもそもWideCharじゃなくてWideStringかよ!、とか
・そのくせなんで1ByteしかReadせぇへんねん!、とか
・1文字分づつ読んでたらオーバーヘッドがすごいことになるぞ大きいバッファにまとめて取り込め、とか
・そもそも、テキストファイルならTStringList.LoadFromFileで一発やんか、とか
0039デフォルトの名無しさん
NGNG> 最終的に日本語だけになれば完成。
よくわからんけど、要するにテキストファイルから2バイトコードだけを取り出したいということ?
0040デフォルトの名無しさん
NGNG>ReadIn
ReadLnな。テキストファイルを行単位で読み取る手続き。
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%C6%C9%A4%DF%BD%F1%A4%AD%A4%B9%A4%EB%A4%CB%A4%CF%5D%5D#content_1_2
0041肉体労働者
NGNGご指摘ありがとうございます。
>>38氏
大きなバッファに取り込んでやろうかとも思ったのですが・・・
所詮は肉体労働者なので脳が足りなくて、
バッファの読み込みタイミングを考えたりサイズを考慮するのが面倒だったことと
一行のデータを切り出せると後の処理の都合が便利だったというだけです。
>>39氏
仰るとおりです。ただ、将来的には行頭のアスキーコードで処理を分岐させたいと思っています
>>40氏
ありがとうございます。これから調べてみます
0042デフォルトの名無しさん
NGNGfunction GetAnsiStr(S :string) :string;
var
i,j,L: Integer;
P : PChar;
begin
if S = '' then Exit;
L := Length(S); i := 1; j := 0;
P := StrAlloc(L+1);
while i <= L do
begin
if (S[i] in [#$81..#$9F, #$E0..#$FC]) or (S[i] = #13) then
begin //全角文字(と改行コード)の処理
P[j] := S[i]; P[j+1] := S[i+1];
Inc(i,2); Inc(j,2);
end else //アスキー文字の処理(読み飛ばす)
Inc(i);
end;
P[j] := #0;
Result := string(P);
StrDispose(P);
end;
使用例
Memo1.Lines.Text := GetAnsiStr(Memo1.Lines.Text);
いうまでもないがアスキー文字列だけの行は空行(改行コードだけ)になる。
そういうとき空行も不要というならちょっと上記のコードを改造すればいい。
0043デフォルトの名無しさん
NGNG0044肉体労働者
NGNGああ、これは素晴らしいソースですね!
これはありがたい。
これなら行頭の文字などを判断文に追加することによりいろいろ出来ますね。
本当に助かります。感謝感激です。
あと、非常に初歩的な質問なのですが
現在、メニュを選択したときにこの処理を走らせているのでアプリが動作を占有して
死んでいるのか生きているのかもわかりません。
どうにかしたいのですがどうしたらいいんでしょうか?
自分でもヘルプとにらめっこしているんですがちょっとわからないのでご指導いただけますでしょうか?
甘えてばかりですみません。
0045デフォルトの名無しさん
NGNGスレッド立てて処理するか、ループの最中に Application ProcessMessages とか
0046デフォルトの名無しさん
NGNGTPersistentから派生してないのでAssignできんとですorz
ググってもそれらしいのにひっかからないのでご存知の方がいれば
教えていただければと
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGRTTIを使えばpublished propertyの代入の自動化は出来るかも。
ただしTPersistent, TStream.ReadComponent/WriteComponent相当の機能を
自力で実装しないといけないから結構面倒かも(その為のTComponentなわけで)。
永続化フレームワークがそれっぽいことをやってそうな気がしないでもないけど
たぶんTComponentの機能を利用しているだけだと思う。
ようは簡単には出来なさそうってこった。
0049デフォルトの名無しさん
NGNG漏れも自力で実装した。
つーか、どこかに「Assignは各クラス各々で実装すること」みたいなこと書いてなかったっけ?
前にVCLソースでAssignを継承の大元までたどったことがあったけど
結局「Assignメソッドが用意されているなら引数をメソッドに引き渡す。ないならなにもしない」というコードだったよ。
0050肉体労働者
NGNG昨日は皆様のおかげで随分進んだような気がします。
ありがとうございました。
現在は昨日の最後の問題を解決すべく試行錯誤しております。
>>45氏のご指摘されたようなやり方を考えているのですが
ちょっとスレッドはむずかしそうなので・・・
あと、自分がやりたいことは、もしかしたらSendMessageを使うと可能かもしれないと思っています
まぁ、SendMessageの使い方もわからないのでどっちもどっちなんですがねw
プログラムはやっぱり難しいですね。
なにもわからず始めてみたものの、悩んでばっかりです。
0052デフォルトの名無しさん
NGNG�dクス。使ってみます。
0053デフォルトの名無しさん
NGNGちなみにほかのプログラミングもさわり程度しかやったことのない初心者です。
バージョンはdelphi6です。
0054七誌
NGNG作りたいのですがどこからはじめたらいいのかわかりません。
参考になるようなHPなどありますか。教えてください。
0055デフォルトの名無しさん
NGNGFAQだね。参考書籍の案内
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BDelphi%B4%D8%CF%A2%BD%F1%C0%D2%5D%5D
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGBorlandに問い合わせて報告汁
0059デフォルトの名無しさん
NGNGそのレベルから入るなら(賢明だと思います)
自分なりのデザイン(ウィンドウのイメージね)を考えれば
書き加えるべきコード自体は単純そのものだから
どこぞのHPなど参考にするより、自分で試行錯誤した方がよさげです
0060デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%BD%A1%BC%A5%B9%C3%D6%A4%AD%BE%EC%5D%5D#content_1_0
0061デフォルトの名無しさん
NGNG誰でも出来る簡単な仕事にだって金を払ってるよ!
0062デフォルトの名無しさん
NGNG最近 IsDBCSLeadByte は使われなくなったのだろか?
結果は同じなんだろうけど、こっちで行けるのならよりスマートじゃまいか
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGD3以降ならByteType 関数もあるからそれを使う方が普通だろうね。
だけど>>42の方法なら、たとえば半角・全角の英数字だけを取り出す
といったことも簡単にできる。
> 全般的に42は変。
集合型を使った判定が珍しいとは思うけど、べつに変じゃないだろ。
0065デフォルトの名無しさん
NGNG使ったこと無いから分からんけど、イイの?
下位互換性ルーチンちゃうの?
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG全然問題なし。ヘルプでStrAlloc調べろ。
もっとも>>42の場合とくにPCharを使うこともないとは思うが・・・
0069デフォルトの名無しさん
NGNGプログラマに向いてる奴は4言語ぐらい使いこなすマルチリンガル。
そして、ただのコーダーに限って1言語しかできないとくる。
0070デフォルトの名無しさん
NGNG使用してアプリからD&Dでファイルをコピーしたいのですが、
ただたんにコピーするのではなく、違う処理を途中に
入れたいときがあるので、ドロップ先のフルパスを取得したい
のですが、そのようにすればドロップ先のフルパスを取得
できるのでしょうか?
0071デフォルトの名無しさん
NGNG二次元配列で
array[0][0..9] := (100,100,100,100,100,60,40,20,20,10);
みたいな感じで一気に代入する方法ってないものでしょうか
array[0][0] := 100;
array[0][1] := 100;
とやっていくのはどうにも間抜けな感じがするんですが
ループつかうには数値に規則性がないので悩んでます
0072デフォルトの名無しさん
NGNGSetArr(var dst; src: array of Integer);
でも作るしか。
0073初心者
NGNG↓こんなメッセージが・・・
---------------------------------------------------------------
デバッガ例外が発生
XXX.exeがEAccessViolationクラスの例外を生成しました。
アドレスXXXXXXXXでアドレス000000に対する読み込み違反がおきました。
---------------------------------------------------------------
これってクラスの定義の方法が間違ってるの?
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG配列定数とかグローバル変数の初期値ならこんな感じでできる。
ローカル変数だったり、処理の途中で代入したいのなら無理。
const a: array[0..1, false..true] of Integer = ((0, 1), (2, 4));
var a: array[0..1, 0..1] of Integer = ((0, 1), (2, 4));
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG自分で関数を作ればよい。
でも初期値をずらずら並べるのはバグの元
0078デフォルトの名無しさん
NGNGhttp://dennishomepage.gugs-cats.dk/AnsiStringReplaceBV14.zip
0079デフォルトの名無しさん
NGNG008071
NGNGほかの部分が完成したら関数の作成にもチャレンジしてみたいと思います
お答えいただきありがとうございました
0081デフォルトの名無しさん
NGNGコピペして、Var2Dimの値がどうなるか試してみな。
procedure Test;
type
T2DimArray:array[0..1][0..1] of Integer;
const
CONST2DIM:T2DimArray:array=( (0,1),(2,3) );
var
Var2Dim:CONST2DIM:T2DimArray;
begin
Var2Dim := CONST2DIM;
end;
0082デフォルトの名無しさん
NGNGみなさんどこで知り、どこで勉強してるのですか?
例えばEM_LINEFROMCHARとかEM_GETLINECOUNTとかです。
使ってるのはdelphi 6 personalです。
0083ななしへたぐらま ◆XcB18Bks.Y
NGNG英語にはならないはずです.
InputBox関数の『OK』『キャンセル』のテキストはConstユニットで定義されているリソース文字列を使っているためです.
対策としては同等の関数を自前で作成して実行時にOSの設定言語に合わせてCaptionを書き換えるか,
プロ版以上をお持ちでしたらDialog.pasのInputBox関数とInputQuery関数(InputBox関数が内部で呼び出している)
のソースをコピペしたものをベースにしても良いと思います.
>>46
Delphiの言語仕様にはオブジェクト(インスタンス)を丸ごとコピーする機能はありません.
よって自分でコピーするメソッドを実装するしかありません.
なおTPersistentクラスのAssignメソッドはコピーを支援するだけでコピーそのものは各派生クラスの同メソッドが自力で行っています.
(※フィールド変数があまりにも多いようでしたら関連する要素ごとに
集合型変数やオブジェクトにまとめた方がよいかもしれません)
>>64
文字列全体を調べる場合はLeadBytes変数を使って自分で判定する方が速度では有利かもしれません.
またLeadBytes変数やByteType関数を使うと日本以外で2バイト文字を使う国に移植する場合に
ソースコードをいじらなくて済むメリットがあります.
(『そんなのあり得ない!』,って思うかもしれませんが
今,勤め先で開発しているDelphi製アプリケーションに韓国語版の話が来ています)
>>73
アドレス00000000と言うことですので,
宣言したオブジェクト変数の実体(インスタンス)を作っていないのかもしれません.
たとえばTNantokaクラスのフィールド変数FNantokaを宣言したものの
FNantoka := TNantoka.Create を実行する前に FNantokaのプロパティを参照したりメソッドを実行したのかも…と.
0084デフォルトの名無しさん
NGNGDelphiでコンパイルしたファイルのアイコンってどうやって変換するんだ?
色んなツール試してみたが「アイコン以外のリソースを含むファイルは書き換えられません。」て出るんだよ・・・
つまらん質問、そして板違いなのかもしれんが誰か教えてくれ、頼む。
0085デフォルトの名無しさん
NGNG素直にプロジェクトオプションで最初からアイコンを用意しておく。
0086ななしへたぐらま ◆XcB18Bks.Y
NGNG解説書を読む場合もありますがたいていはインターネットです.
http://www.google.co.jp/search?hl=ja&c2coff=1&client=firefox-a&rls=org.mozilla%3Aja-JP%3Aofficial&q=EM_LINEFROMCHAR+Delphi&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
Delphi固有でないWindows全般のキーワードはDelphiのヘルプには載っていません.
私も職場で毎日何回も検索しています.
>>84
確認していませんがリソースハッカー(Resource Hacker)でもだめですか?
0087デフォルトの名無しさん
NGNG変えられるハズだがなぁ。
オレは「KH IconRewrite98」っツールを使ってるけど。
…って思ってちょっとやってみたら、
UPXで圧縮したのはダメだった…。
もしかして関係あるアルカ?
0088デフォルトの名無しさん
NGNGWindows全般のキーワードなのですか。
なんだかややこしそうですが、少しずつ覚えていくことにします。
ありがとうございました。
0089デフォルトの名無しさん
NGNGCとWin32APIでアプリケーション作ろうとすれば
否応なしに目にすることになる。
0090デフォルトの名無しさん
NGNGDelWikiのFAQに掲載したいと思います。
009190
NGNG後で何度でも修正できるWikiですから・・・
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGLabel1〜5を使うとして、FormatDateTimeで取得したHH:mm:ssをLabelに出力したのですが、
これを取り込んでLabel2〜4に順に現在の時間、5分後、10分後、15分後の時間(文字列として固定する)を
表示させたいと思っています。
どうすればいいのでしょうか。ご教示のほど、よろしくお願い致します。
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGdt := dt + 1/24; // 1時間後
dt := dt + 1/(24*60); 1分後
0098デフォルトの名無しさん
NGNGありがとうございます。
例えばその1時間後にタイマーを鳴らしたい場合、どうすればいいのでしょうか。
ググってみたんですが混乱してしまい・・・
0099デフォルトの名無しさん
NGNG>>97
dtはintegerでしょうか。
0100デフォルトの名無しさん
NGNGTTimer使え
Timer1.Interval := 3600 * 1000;
>>99
dt: TDateTime;
0101デフォルトの名無しさん
NGNGIncMinute
0102デフォルトの名無しさん
NGNG今Delphiが入っていないPCからなのでテストできず申し訳ないのですが、
Timer1.interval := 3600 * 1000;
とwavを組み合わせるにはどうすればいいのでしょうか。
初心者で本当に申し訳ありません。。
0103デフォルトの名無しさん
NGNG10秒ごとに実行させて時間の差を求めてやったほうがいい予感。
>>102
方法はいくらでもある。というかそれくらいならしらべr
0104デフォルトの名無しさん
NGNGその根拠は?
メッセージを処理するまでのタイムラグだとしたら
10秒よりはるかに少ないが。
0105デフォルトの名無しさん
NGNGなんでそんなに強気でかかるんだよ。。
精神的にもそっちのほうがいいと思うんだが・・。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG例えばインターバルを1ミリ秒にセットして
OnTimerイベントに、1ミリ秒以上かかるような処理を書くと
おもむろにその分づつ時間がずれていく・・。
そんなTimerに信頼が置けるか?
0109デフォルトの名無しさん
NGNGWM_TIMERそのものの精度が当てにならないのは常識じゃないか?
0110デフォルトの名無しさん
NGNGありえない!
TTimer の分解能は約40msだよ。1時間で40ミリ秒ずれることに何の問題が
ある。>>103 の方法は最大10秒もずれるし、無駄な処理が多い。
0111デフォルトの名無しさん
NGNG「精度」の意味が分かってないのね。
1回のタイムアップで最大約40ミリ秒ずれる場合、1時間の計測で何が不満なの?
0112デフォルトの名無しさん
NGNGやっぱ時間計測はリアルタイムOSじゃないとな。
0113デフォルトの名無しさん
NGNGまさかボタンを並べてるわけじゃないよね・・
0114デフォルトの名無しさん
NGNG左上を白っぽく、右下を黒っぽくすれば出っ張ってるように見える。
OnMouseDownでクリックされた座標からどのボタンが押されたかを割り出す。
0115デフォルトの名無しさん
NGNGリソースに格納してある。
0116デフォルトの名無しさん
NGNGなぜ>>624以降のようになるのか教えてください
0117デフォルトの名無しさん
NGNGメモリアドレスが連続しているほうが速いから。
hoge[]のアドレス調べてみろ。遅いほうはアドレスバラバラだから。
そんなコード書いたらキャッシュ効率が恐ろしく悪くなる。
0118デフォルトの名無しさん
NGNGCPUによって速度が逆転してる理由は?
0119デフォルトの名無しさん
NGNGCPUごとの一次キャッシュサイズ調べてみたら。そこらへんは良く知らない。
0120デフォルトの名無しさん
NGNGこれから'zzz'を抜き出すにはどうしたらいいですか?
0121デフォルトの名無しさん
NGNGExtractFileName
0122デフォルトの名無しさん
NGNG助かりました
0123120
NGNG>>121
ありがとう。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126120
NGNG逝ってる意味が分からない。
既知害ですか?
0127デフォルトの名無しさん
NGNG[エラー] Unit1.pas(50): 演算子またはセミコロン (';') が必要です
[致命的エラー] Project1.dpr(5): 'Unit1.pas' ユニットはコンパイルできませんでした
なぜでしょうか・・・?
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNG残念ながら私はエスパーではないのであなたが書いたソースが理解できません
0131127
NGNGそのとおりですた・・・orz
すみませんありがとうございます。
0132デフォルトの名無しさん
NGNG翻訳サイトが出したような日本語ワラタ
0133デフォルトの名無しさん
NGNG0134127
NGNG何もしないでもう一回コンパイルを実行したらうまくいったり、
その行をもう一度書き直すとうまくいったりします。
とくに最後の行でよく止まります。なんででしょうか・・・?
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG必ずしもエラー発生行の手前とは限らない
0137127
NGNGいまDelphiでググって出てきたユーザーさんが開いているHPのチュートリアルを
やっているところなんです。
そのサイトに記述してあるとおりに自分でDelphiに記述してもエラー(というか止まる)が出るので
サイトのほうからコピペしてきてコンパイルするとうまくいったりします。
もちろん記述に間違いはなかったのですが・・・。
0138デフォルトの名無しさん
NGNGよほど自信があるみたいだが、お前の目と手の精度がダメダメである確率は100%。
0139デフォルトの名無しさん
NGNGセミコロンや、begin、end の過不足はソースを上から下へ検査して
いって矛盾が発生した時点でエラー発生となるから、入れ忘れたり
入れすぎた場所より後ろで発生するケースは多いよ。
if (hogehoge) then begin
・・・・・・・・;
・・・・・・・・;
end else
・・・・・・・・;
こんなif文書いたときなんかは要注意。
if文がネストしてる中にこういうのがあると間違えやすいから
0140デフォルトの名無しさん
NGNGと異なる場合 override 指定するとコンパイルエラーになります(マニュアルにもそう書いてあ
る)。
ところが内部にオブジェクト変数(以下の例では FCollection)を持ち、それをコンストラク
タで生成する場合は override 指定しなければならないという説明が他の解説書(服部誠著
「Delphi2.0 コンポーネントセット」)にあり、困惑しています。以下の例では override 指定
しなくても(したくても上に述べた理由で、できない^^;)一応動いていますが、ほんとにこれで
いいのでしょうか?
TMyComponent = class(TComponent)
private
FCollection: TCollection;
public
constructor Create(AOwner: TComponent;
ItemClass: TCollectionItemClass);
・・・・・・・・・・・・・・・・・
published
property Collection: TCollection read FCollection write FCollection;
end;
constructor TMyComponent.Create(AOwner: TComponent;
ItemClass: TCollectionItemClass);
begin
inherited Create(AOwner);
FCollection := TCollection.Create(ItemClass);
end;
0141デフォルトの名無しさん
NGNGproperty ItemClass: TCollectionItemClass;
にしとけ。親のと異なるconstructorはoverrideできない。
0142デフォルトの名無しさん
NGNGconstructor
0143デフォルトの名無しさん
NGNGItemClass: TCollectionItemClass);
でやった場合、コンポーネントを登録したときにおかしくなる。
フォームなんかに貼り付けて実行した場合
TMyComponent.Createが呼ばれずにTComponent.Createが呼ばれて
ItemClassの値がうまくセットされないはず。
0144デフォルトの名無しさん
NGNG自分が初心者であることに気づいていない。
初心者ほど自信満々で、すぐコンパイラを疑う。
100%お前が間違ってるんだから、
分かるまでソースを見直せ。
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNG今回の件は、論議する価値無しだけどね。
0147デフォルトの名無しさん
NGNG馬鹿なのか?
0148デフォルトの名無しさん
NGNG> TComponent を継承してクラス TMyComponent を作るとき
単にクラスとして使うのならとくに変な使い方をしない限り問題はないだろう。
この場合 constructor を新規に作成したことになるから>>143 の指摘通りコンポーネント
としてインストールしても利用出来ない。
0149デフォルトの名無しさん
NGNG0150sage
NGNG踏み込んでもいいですか?
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG>不思議な現象が出る事有り
どんな現象?
0153デフォルトの名無しさん
NGNG自分が初心者であることに気づいていない。
初心者ほど自信満々で、すぐ不思議な現象にしてしまう。
100%お前が間違ってるんだから、
分かるまでソースを見直せ。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG関係無い所を変更してコンパイルするとエラーした。
filelistbox1の中のファイルを削除して
i:=filelistbox1.ItemIndex;
とするとiには0しか入らない
しかしこれで以前は正常な値が代入されていた
むしろこちらの方が不思議?
filelistbox1.ItemIndexの値が何時まで
保持されているかは不定?
Delphi6既知のバグは2つ程判明したけれど
ほんとに解るまでは大変ですよ。だから
>>153さんよ!
あんたの次元じゃないのさ。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGそのとうり。
0158デフォルトの名無しさん
NGNG保持されていないよ。要求がある都度見に行く。そこが思い違い。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGPCharなら
p := PChar(s); // or @s[1];
0164162
NGNGstr : string;
str := 'abcdefghijklmn';
for i := 0 to length(str) do
c[i] := str[i];
長い場合は、ループでひとつひとつ入れるのですか?
0165デフォルトの名無しさん
NGNGMove(str[1], c, Length(str));
0166デフォルトの名無しさん
NGNGどうすれば良いのでしょうか。例えばIEのウインドウをアクティブにした瞬間に
「Google - Microsoft Internet Explorer」みたいな感じで文字を表示させたいと
思っています。ウインドウのハンドルは取得できたのですが、取得するタイミング
がうまくいきません(;´Д`)
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG0171166
NGNG>>169さんの言っている通りの事をやりたいと思ってますた。
グローバルストリングにすべき文字列を間違った部分で宣言してました。
変えてみたらうまく動作しますた(;´Д`)
どうもお騒がせしました。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGFormのサイズを変更する命令を発行してるのにサイズが変わらないときがあるんだけど・・
0174デフォルトの名無しさん
NGNG0176173
NGNG勘違いが原因だったようです。
0177デフォルトの名無しさん
NGNG>保持されていないよ。要求がある都度見に行く。そこが思い違い。
ん。確かに。しかしどこに読みに行くのでしょう?
ディスクにはアクセスしないから多分・・それで気が付いて・・
それにしても動いていたのは確かだし、再コンパイル後
エラーした為、処理の順序を入れ替えたので動くのは当然だし。
文法エラーはちゃんと出るんだけどなぁ・・・・
0178デフォルトの名無しさん
NGNGそりゃ、FileListBox のコントロールにAPIをつかって読みにいくのさ。
ListBox はウィンドウズのコントロールだからね
0179デフォルトの名無しさん
NGNG意味分からん。
何のために何の情報が欲しいのかもっと具体的に書け。
0180デフォルトの名無しさん
NGNG意味分からん。
何のために何の情報が欲しいのかもっと具体的に書け。
0181デフォルトの名無しさん
NGNG意味分からん。
何のために何の情報が欲しいのかもっと具体的に書け。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG意味分からん。
何のために何の情報が欲しいのかもっと具体的に書け。
0184デフォルトの名無しさん
NGNG無い。
0185デフォルトの名無しさん
NGNGソースコード自体を見ろ。結局それが一番勉強になる。
0186デフォルトの名無しさん
NGNGビジュアルプログラミングツールまじすげすげすげヴォー
0187デフォルトの名無しさん
NGNG題名とか日本語文字化けします。
0188デフォルトの名無しさん
NGNG0189187
NGNGActiveXのチャートコンポーネントを配置して右クリック>Wizard...を選ぶと全部英語なのですが。
0190187
NGNGhttp://www.daizou.jp/up/upload/20050110111946.gif
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGメモリに読みに行くにきまってんじゃん。
スワップアウトしてたらハードディスクになるけど。
0194187
NGNGよくわからんですが、Delphiのフリー版のやつです。
ちょっと確認してきます。
0195デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGファイルサイズを得たいのですが(必要なのはファイルサイズだけ)
WindowsAPIのGetFileSize関数やDelphiの付属の関数やTFileStreamなどをとっても
必ず一度ファイルを開く必要があります。(ファイルハンドルを得るため等)
そのため、使用中のファイルなどは場合によってはオープンに失敗して関数が失敗することが起こってしまいます。
ファイルサイズを求めたいだけなので、そういう使用中かどうかなどは関係ないように思うのですが
もっと簡単に(できればファイルを開く処理を使わずに)ファイルサイズを得る方法ってないですか?
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGTSearchRec型の変数を使う。
C:\Windows以下のファイル名とサイズを列挙するサンプル
procedure TForm1.BitBtn1Click(Sender: TObject);
var
F: TSearchRec;
RetValue: Integer;
begin
ListBox1.Clear;
RetValue := FindFirst('C:\windows\*.*', faAnyFile, F);
try
while RetValue = 0 do
begin
ListBox1.Items.Add(Format('%s(%dByte)', [F.Name, F.Size]));
RetValue := FindNext(F);
end;
finally
FindClose(F);
end;
end;
0201198
NGNG某のことだからGetFileSize(const FileName: string;var FileSize: Cardinal): Boolean;
みたいな関数でも用意しておいてくれないかなぁと思ったが・・
FindFirstを利用して自分で作るか・・。
0202デフォルトの名無しさん
NGNGvar f: TSearchRec;
begin
Win32Check(FindFirst(FileName, faAnyFile, f) <> 0);
Result := f;
FindClose(f);
end;
0203デフォルトの名無しさん
NGNG別の手を考えないといけないよ。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGFindData見れ
0206デフォルトの名無しさん
NGNGUpdate1と非公式パッチがありますけど・・・
0207デフォルトの名無しさん
NGNG開発環境でWinの最新パッチ当てられないのは問題だろ
0208デフォルトの名無しさん
NGNG.NET 1.1 SP1 対策パッチなら、とっくに出てますけど。
0209デフォルトの名無しさん
NGNGJpgの表示は可能ですか?
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNGすみませんがもう少し詳しくお願いできませんか?
0215デフォルトの名無しさん
NGNGのようなのでGUIで作ってるジャンケンソフトありませんか?参考にしたいのですが。。。
0216デフォルトの名無しさん
NGNGあまりしつこいと、「それすら(略)なら諦めろ」ってレスが来ちゃうぞ。
もっと具体的に「○○が分からない」ぐらいまで、自分でやってからに
した方が良いと思う。
0217デフォルトの名無しさん
NGNGttp://www.cutt.co.jp/book/4-87783-073-1.html
0218デフォルトの名無しさん
NGNG始めに、ボタン3つ(ぐーちょきぱー)作って押すと画像を出るようにしたいのですが
ひとつずつ異なる画像を表示させることができません。(ボタン1にAという画像を表示
させる、ボタン2にBを表示させたいのにAが出てきてしまう)
本当に超初心者なので質問するのも恥ずかしいのですが、教えてくださると大変
助かります。
0219デフォルトの名無しさん
NGNG出させるようにします。また質問させてください。 無駄レス本当にごめんなさい。
0220デフォルトの名無しさん
NGNGどうやったらいいかわかりません。教えてください。 今日はもう寝ることにします。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGいや、「卑屈になれ」と言いたい訳じゃないのだが…。
あと、「該当のソース」をちょっとでもいいから見せるとレスが付きやすいかと。
個人的にはもっと「いじり倒してから」人に聞いた方がいいかと思うけど。
0223222
NGNGうーん。
0224デフォルトの名無しさん
NGNG220があってもなくても言ってることは正しいと思うぞ。同意だ。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG偉い人教えて
0227デフォルトの名無しさん
NGNGもっと前は忘れた
0228デフォルトの名無しさん
NGNG教えてくれてありがとう。
0229デフォルトの名無しさん
NGNG見もしないやつはずぅっと教えて君のままだな
0230デフォルトの名無しさん
NGNGあと自分でできるやつは書き込まないから目立たない。
0231デフォルトの名無しさん
NGNG要するにそういう人は初心者ではないわけで
ある程度やむを得ないかもしれないけど
早くまともな答が欲しかったら
恥ずかしがらずに自分のソースをうpしる>初心者
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG素養の問題で、素人玄人は関係ないと思う。。。
0234220
NGNGprocedure TForm1.btnGuClick(Sender: TObject);
begin
Image2.Picture.LoadFromFile('./gu.bmp');
end;
という風にボタンを押すと画像が出るようにしました。後は、コンピュータ
相手にじゃんけんをしたいので、コンピュータがランダムにグーチョキパーを出すようにしたいのですが、
やり方がわかりません。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGグー、チョキ、パーのグラフィックを
あらかじめ3つのImageコントロールへ入れておいて
ImageコントロールのVisibleプロパティを操作した方が楽でないかい?
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG#
つーかその度にロードするのはヨクナイ
0239デフォルトの名無しさん
NGNG※あらかじめ3つのイメージを同じ位置に重ねて配置しておく
procedure TForm1.btnGuClick(Sender: TObject);
begin
Image1.Visible := True; //グー
Image2.Visible := False; //チョキ
Image3.Visible := False; //パー
end;
↑↑GuClickとか固定じゃなく、3つのボタンクリックを同じイベントに充てて
Senderを見て振り分けるほうが良さげ
ジャンケンするとき ※FormCreateなどでRandomizeをしておく事
var
iCom: Integer;
begin
iCom := Random(3); // iComの値は 0 1 2 のどれか
case iCom of
0: //グーと仮定 判定して勝ち負けを決める
1: //チョキと仮定 ..
2: //パーと仮定 ..
end;
//..判定結果の表示
end;
0240デフォルトの名無しさん
NGNGBIF_RETURNONLYFSDIRS or BIF_NEWDIALOGSTYLEを指定したとき
なぜかBIF_RETURNONLYFSDIRSが無効(マイコンピュータなどが選択できてしまう)になってしまいます
さらに呼び出したときの表示位置が必ず画面中央になってしまう
解決法はありますか?
OLEInitializeで初期化はしてます
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGSSE2使いたくてD7 Architect Trialを落としたけど、コンパイルしたdcuは
Delphi5で通らない……。
0243デフォルトの名無しさん
NGNG今、SDKソースをDelphi用に書き直して(DirectXのDirectShow関係)色々やってるんだが
特定のインターフェースメソッドでIDE上デバッグだと例外が起きる
でもデバッグでは無く、直接実行だと正常に動く
ちなみにDelpi7(Ent)。6(Ent)でも同じく例外が起きる
浮動小数演算がなんとかかんとか・・
実数計算なんかなにもしてないし、どこでエラーが起きるのかブレークかけて
特定しようにもインターフェースメソッド時に例外なので追いかけられない
インターフェースが絡むとデバッガ信用できないのかな?
0244デフォルトの名無しさん
NGNG*.pasならともかく、*.dcuでは同じバージョンではない限りむりぽ。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGDel7Proなんだけど、誰か教えて。
0247デフォルトの名無しさん
NGNGファイルと2分もあればできるだろ。
0248デフォルトの名無しさん
NGNG日本語勉強しくる。
再生出来なかったのだよ。
0249デフォルトの名無しさん
NGNG2分でできるといった責任もあるから試してみたぞ。
再生できたよ。
0250デフォルトの名無しさん
NGNGDel3あたりの時いろいろ遊んではみたが
D7だがソースみると相変わらずmciSendCommand使ってるな
つまり再生できるかどうかは各マシンの環境によるって事だ
つーかActiveMovie取り込んだ方が手っ取り早い。当然稼働環境に無ければ再生出来ない
俺はDirectShow組み込んでるけどな
0251デフォルトの名無しさん
NGNGローカルファイルなのかネットワーク越しなのか、認証が必要なものなのか・・・
ActiveMovieと上に書いたがそれも既にWindowsメディアプレーヤー6.4の物だし
今はMediaFormatSDK9以降のものが新しい
そのエンコ物を6.4では、そのままでは再生出来ない
0252249
NGNGいかにもサンプルっぽいファイルがあったのでそれで試した。
0253デフォルトの名無しさん
NGNGお前要らないから
0254デフォルトの名無しさん
NGNG例外を無視っとくようにIDEを設定しろ。
自分以外のモジュールの例外もIDEは拾ってしまうからね。
またはおまじないコードを設定しておくとか。
0255デフォルトの名無しさん
NGNGインターフェースメソッドの戻り値はHRESULTなんだが
戻り値を返さないで例外が起きる。
他にも気味の悪いのがある。例外箇所とは別な所なんだけど
ここも戻り値はHRESULTなんだが、
この箇所にブレークして戻り値見ると、不正な値。←これがデバッガ上
不正値なら、処理を抜けてインターフェース解放としてるのだけれども、
直実行だとちゃんと動く。
デバッガ上では動かない・・・うーん・・・
0256デフォルトの名無しさん
NGNG例外でプログラムが終了したと勘違いしてるんじゃないかってこと。
直接実行した場合はexceptされてそのまま実行されてるから分からないだけで。
止まった状態で"実行"押せば処理が再開されるよ。
という勘違いをしていないとしたらとりあえず最適化OFFにして
範囲チェックその他をONにして地道にデバッグするしかないね。
interfaceとIDEの相性が悪いというのは自分は聞いたことないな。
0257デフォルトの名無しさん
NGNGttp://www.google.co.jp/search?q=cache:FWc9_5LiySYJ:cvs.corecodec.org/cgi-bin/viewcvs.cgi/dcdspfilter/dcdspfilter/DSP%2520Components/dmoI3DL2Reverb.pas%3Frev%3D1.4+Set8087CW+DirectShow&hl=ja
Get8087CWとSet8087CWのサンドイッチや、Set8087CW($133F)の効果があるかどうかやってみれ。
0258デフォルトの名無しさん
NGNGSet8087CWは全く関係無い話だな
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGこの場合どうすればいいんでしょうか。。変な質問ですみません;;
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG>メモリに読みに行くにきまってんじゃん。
>スワップアウトしてたらハードディスクになるけど。
それで、入れ替えたら動いた。不思議なのは、なんで
これまで問題が無かったかと言う事。
まだ有ります。関係無い所を変更したら別のところの表示が
変になり、そこを変更再コンパイル、元に戻してコンパイル
すると思ったとうりの表示に・・・・・・
こう言うの初心者には混乱の基だし何がなんだか解らない。
バグが有っても動くし無くても動かない!摩訶不思議なDelphi。
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG抽象的なことばかり言ってないで具体例を出してくれないと。
0267デフォルトの名無しさん
NGNG>バグが有っても動くし無くても動かない!摩訶不思議なDelphi。
たんに知識不足。いずれにしても FileListBox は Win16 の遺物なので使わないように
0268デフォルトの名無しさん
NGNG> MemoやListBoxは書かれてる文字がたくさんあると一定以上送受信できませんよね^^;
送信? なんのこっちゃ
0269デフォルトの名無しさん
NGNGありがとう御座います。FileListBoxに固執するのは
ShelltreeViewが他の言語では使えないかもしれないと
思ったからです。Delphiでパスカルで記述した部分は
ちゃんと動くので、出来ればシステムに依存する部分を
減らせればすっきりすると思います。
0270デフォルトの名無しさん
NGNG場合の ネットワークアドレスは何か、そのネットワークに接続されるアドレスの最小値
は何か? 最大値は何か?(ブロードキャスト除く) ブロードキャストアドレスは?
0271デフォルトの名無しさん
NGNG全くDelphiと関係ない
ネットワークアドレス 172.16.1.0
最小 172.16.1.1
最大 172.16.1.254
ブロードキャストアドレス 172.16.1.255
0272デフォルトの名無しさん
NGNGボタンとかの配置とかってどうすればいいのでしょうか?
ポトペタじゃなくて、createで動的に作っていくのでしょう?
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGシステムに依存ってさ、Windosユニット使ってりゃシステム依存なわけだが
0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNG他の言語で使えるかどうかってのは?DLL化してC++とかから利用出来るかの懸念?
それならエクスポート引数の話であって、処理が何なのかという事は関係無い。
それともShellTreeViewが他のマシンで動くか分からないという懸念?
シェルは、SH***、IShell***、ItemIDListなどを使っている。
これらはWindows95以降なら動く。動かないのはWin3.1以前のもの
今時Win3.1を使ってる輩はまず居ない。
一歩譲ってそれを考慮するとしたら、16ビットVerのDelphi1を使う事になる。
0278デフォルトの名無しさん
NGNGあ、あたり
0279デフォルトの名無しさん
NGNGFileListBox も ShellTreeView もウィンドウズのコントロールなんだよ
0280デフォルトの名無しさん
NGNGCDメディアが台頭してきてSCSIからIDEに変わってE-IDEに変わる頃だ
当時はavi動画とか見て劇的だった
Win95が出回る頃は、WinGやWaveMixなんかが出てきてDirectXの基はこの頃だな
インターネットも当時モデム14400で電話代気にしながらチャットにはまってた頃だ
もう10年か・・・
0281デフォルトの名無しさん
NGNG鮮度テキストなんか使うからだろ
自分でバッファとって船頭バッファを複数回繰り返せ
0282デフォルトの名無しさん
NGNG厳密には誤差拡散ディザでは無く、ハイキューブリック式アルゴリズムだが
画像表示するアプリ書くとき、256環境時はこれでディザする
0283デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
0284デフォルトの名無しさん
NGNGクライアントもサーバーも一回の受信イベントで全部受信できるとは限らんぞ
0285デフォルトの名無しさん
NGNGRichEditが2つあって、一方のRichEditに文を書いて改行するたびに、もう一方の
RichEditに同じものを表示させたいのですが、どうすればよいでしょうか。
0286277
NGNG今までバッファとった事とかないのでどこかを参考にしながらやってみたいと思います。
今リモートファイルマネージャを作ってるところで、ファイルを実行させたり削除したりと
いうところまでは何とかできるようになりました^^;
そこでシステムフォルダみたいにファイル数(文字数)が多いフォルダをを取得した時に
途中でリストが切れてたのでなんでじゃあと思ったらそういう事だったんですね。
聞いてみて本当に良かったです。助言ありがとうございます!
0287デフォルトの名無しさん
NGNG元になるricheditのonkeyupイベントに次のような処理を書く。
procedure TForm1.RichEdit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = 13 then RichEdit2.Lines := RichEdit1.Lines;
end;
0288デフォルトの名無しさん
NGNG要は独自文字列を受け取ったりして何かをするんでしょ(これを独自プロトコルと言う)
コマンド文字列がどのくらいの文字長あるのか知らないが、
低速な環境なら最初の何文字かしか受け取らないでタイムアウトする場合もある。
何とかできると言うが、たまたま動いてるだけで、ソケット通信としては堅牢とは言えない
まぁSendTextが何をやってるかソース見て、真似て、理解すれば、どんな大きなファイルでも受け渡し出来る
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNGどんな開発ツールでも込み入ったことやるには超初心者には直ぐに壁に当たる
0291デフォルトの名無しさん
NGNG壁の向こう
壁壁壁壁壁壁壁壁壁壁壁壁壁壁壁壁壁壁
俺
0292デフォルトの名無しさん
NGNGありがとうございます。できました。
0293デフォルトの名無しさん
NGNGYahoo!メッセンジャーや,MSNメッセンジャーなどのクライアントを作りたいと思っています。
具体的にYahoo!メッセンジャーや,MSNメッセンジャーなどのサーバーに接続するにはどのようにしたらいいでしょうか?
どなたか 助言お願いします。
0295デフォルトの名無しさん
NGNGC++Builderは上級者向け。
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGどういう所が?
0298デフォルトの名無しさん
NGNG初心者に向いているとは言いがたい
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG標準のコンポーネントで事足りる程度ならいいけどデフォルト動作をオーバーライドしたい時や、直接ハンドル使ってなんやかんやしたい時は相当な労力を要する。
VCLも割とガチガチに思えるTWinControlでも、オーバーライドする労力はVBより容易い
0304デフォルトの名無しさん
NGNG@゚)つ ttp://ymca.infoware.ne.jp/
0305293
NGNGありがとうございます。
このサイトは知ってるんですが.....
Delphiでの接続の仕方がわからないんです....
具体的にどのようなコンポーネントを使ったらいいかとか、コードなどがわからないんです。
Delphi製のYahooChat用のクライアントは YMChat
ttp://www.the21world.jp/
などがあるんですが こんな感じのものを作りたいんです。
せっかくサイトを教えて頂いたのにすいません orz
0306デフォルトの名無しさん
NGNG0307名無し募集中。。。
NGNGLabel.captionに任意の文字を表示したいのですが
表示する文字が場合によって1文字だったり50文字だったりするので
またLabelの横にEditを置いているのでLabelに表示する文字列が長すぎると
すべて表示
0308デフォルトの名無しさん
NGNG>>307はスルーでお願いします
TLabel TEdit というようにコンポーネントを配置して
Label.captionに任意の文字を表示したいのですが
表示する文字が場合によって1文字だったり50文字だったりするので
文字数が長いと全て表示されなくなり
またTEditにかかってしまい見栄えが悪くなります
ラベルに表示する文字列の長さは決まってないので
予め文字列最大長ぶんだけ確保するということができません
何かいい方法はないでしょうか?
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGマイナーなのか、ほとんど参考書が売ってない・・・orz
やっぱVBかC#に乗り換えるかな。しかし金がない・・・orz
0311デフォルトの名無しさん
NGNG素早いレスありがとうございます
>そんな場合は Label の横に何も配置しない。Edit は下に配置する
やはりその方法しかないんですかね。
デザインが変わるから出来ればやりたくないんですが・・・・
とりあえず必死にヘルプよんでAutosizeやらAnchorsやらAlignmentやらを
色々いじってみます。
あとDelphian Worldも見て何かコンポーネントないか探してみます
駄目ならFormの幅と横に配置してあるTEditの幅等を計算して
ゴリゴリForm.Canvas.Textoutで描画するしかないかな・・・
0312デフォルトの名無しさん
NGNG左右に幅があるならこんな方法もある
Label1.Left := Edit1.Left - Label1.Canvas.TextWidth(Label1.Caption);
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG貴重なご意見感謝します
アプリ起動時に言語ファイルを読み込みそれに応じて
Label.Captionを設定するのですがデザインを日本語ありきで作っていたので
英語や中国語だと日本語に比べて文字数が増えるので
横に突き抜けてしまっていたのです
>>312さんの方法は勉強になりました
>>313さんの言うとおりEditを動かしたほうがよい場合(Editの幅が狭い場合)
もあると思うので用途によって使い分けていこうと思います
0316デフォルトの名無しさん
NGNGでかい本屋に行きなはれ。探せば意外とある。
あるいは、ココを参照。
ttp://onigiri.s3.xrea.com:8080/delphi/
0317デフォルトの名無しさん
NGNG俺ならそんな箇所はラベルなんか使わず、ReadOnlyのEdit使うけどな
0318デフォルトの名無しさん
NGNGedit1.Left := iLabelPosition + ○; //○はLabelとEdit間のスペース幅
左右に余裕があるので上のようにEditを動かすようにしました
>>317
確かにReadOnly、Color := clBtnfaceあたりのTEdit使えば
表示されない部分はキーでスクロールすればいいから楽ですね
でも、とある方の「強い」要望でTLabel使わざるを得ないのです
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGフォームにスクロールバーが出るワケだ。
そこでまた君は苦労するワケだ。
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG仕事なら仕様と確認して
0324デフォルトの名無しさん
NGNGそれは置いといて、VCLは日本語環境と非日本語環境でデフォルトのフォントサイズが異なるので、
1バイナリでやろうとするとスケーリングのバランスが悪くなる問題がある。
この問題を回避するには、スケーリングを制御するコードを書き足すか、
VCLのデフォルトフォントの初期化部分を書き換えると回避できるぽい。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGTForm.Scaled
は絶対falseにしとくこと。
0329デフォルトの名無しさん
NGNGユーザ激減で残ったのは精鋭というか、カスというか、苦しむところだ
0330デフォルトの名無しさん
NGNGなんでユーザが減ったのでしょうか。
0331デフォルトの名無しさん
NGNG(エクスプローラで、ファイルを選択→右クリック→プロパティと同じもの)
0333デフォルトの名無しさん
NGNGthx!
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGplayとかfilenameとかの命令が無いんだけど。。。
メディアプレーヤー9とかだと、変更されているのか?
0336デフォルトの名無しさん
NGNGDelphiでツールを作り続けてまつ
Delphi7だけどね
0337デフォルトの名無しさん
NGNGary: array[0..2] = ('A', 'B', 'C');
として、if 'A' in ary then ...のような評価式が出来るメソッドはありますか?
TStringListに格納してIndexOfはちょっと使いにくいので・・・
0338デフォルトの名無しさん
NGNG0339337
NGNG下記のコードが今までベストと思っていたので本当に感謝してる!
const
ary: array[0..2] = ('A', 'B', 'C');
begin
s2 := 'B';
for s1 in ary do
if s1 = s2 then ShowMessage(s1);
end
0340デフォルトの名無しさん
NGNG.netならマッチングクラスと予想してクラスを見れば相応の関数が見つかる
でもDelphiだと、そこまでクラス化されてないから関数を知らない&気付かないで自分でコードを書いてしまう
0341デフォルトの名無しさん
NGNGDelphi だって「文字列処理ルーチン」と予想してヘルプみるとすぐ見つかるけどね。
0342デフォルトの名無しさん
NGNGどう求めればいいですか?
1番目はhighでいけるみたいだけど・・・
0343デフォルトの名無しさん
NGNGHigh(MyMatrix)
High(MyMatrix[Low(MyMatrix)])
0344デフォルトの名無しさん
NGNGおお、ありがとう!
0345デフォルトの名無しさん
NGNGプロセスが残ってしまいます。
Alt+F4を無効にするにはどうすればいいでしょうか?
0346デフォルトの名無しさん
NGNGフックしてAlt+F4来たらメッセージ捨てる
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGWindowsってそうやらないとコールバック関数登録デキネーんだよ。
0351デフォルトの名無しさん
NGNGGroupBox.enable := Falseにすると中の各コンポーネントも自動的に
Falseになる方法はないのでしょうか?
力技で
if Boolean(RadioGroup.ItemIndex) then
begin Edit1.Enable := True; Edit2.Enable := False; end
else
begin Edit2.Enable := False; Edit2.Enable := True; end
これはコンポーネント増えたらマンドクセ
GroupBox内のParent辺りを見て
for i := 0 to GroupBox内のコンポーネント数 do
begin obj[i].Enable := False end
なんて出来れば嬉しいのですが
0352デフォルトの名無しさん
NGNGvar
c: TControl;
i: Integer;
begin
Control.Enabled := AEnabled;
for i := 0 to Control.ControlCount-1 do
begin
c := Control.Controls[i];
if c is TWinControl then
SetEnabledAll(TWinControl(c), AEnabled)
else
c.Enabled := AEnabled
end;
end;
SetEnabledAll(RadioGroup1, not RadioGroup1.Enabled);
0353351
NGNGヘルプ見てたらControlCountというプロパティ見つけたので
これ使えるなと思ってたら既に偉大なる先人が教えてくれた、感謝
しかも再起を使って入れ子にもバッチリ対応している、驚き
本当にありがとうございました
0354デフォルトの名無しさん
NGNG今はTimerで1秒後に処理していてカコワルイ・・・
0355デフォルトの名無しさん
NGNGonCreate後、フォームが完全に表示された時の
イベントを捕まえたいのかな
それだったら ↓
http://hp.vector.co.jp/authors/VA009712/take/delphi/kabedel.htm#showingchanged
0356デフォルトの名無しさん
NGNGa := b := 10
なんてことは出来ないのですか?
コンパイラに「代入できない左(ry」と怒られます
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGどうもです
0359デフォルトの名無しさん
NGNG素直に
b := 10;
a := b;
とかやるしかないと思うよ。
0360359
NGNG0361デフォルトの名無しさん
NGNGフレームってデストラクタ呼ばれないのな。Freeを明示して解決したがそれまでハマッタ
0362デフォルトの名無しさん
NGNGMemo1.Lines.Add('text');
こうすると改行されるのですが、改行しない方法を教えてください。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGありがとうございます
0365デフォルトの名無しさん
NGNGTimageとTimerを使ってなんとかそれらしきものは作れたんですが
少しちらつきなどがでてしまいます。
何か他にいい方法は無いでしょうか?
0366デフォルトの名無しさん
NGNGヘルプから
DoubleBuffered 見てみるといいよ
0367366
NGNG全部を消してから描くからチラツクのだからさ
ただ、数字を棒上に描き込むという場合は、これは使えないけどね
0368365
NGNGありがとうございました。
0369デフォルトの名無しさん
NGNGオーナー指定が間違ってるんだろ
0370デフォルトの名無しさん
NGNG>メモリに読みに行くにきまってんじゃん。
>スワップアウトしてたらハードディスクになるけど。
そこなんですよ。どんな風にタイミング取ればいいのか?
APIとVCLは、解りません。知りたいとも思いません。
先日も不可解な現象がありました。PaintBoxの表示が微妙に変なので
書き換えてコンパイル、元に戻してコンパイルすると元に戻りました。
0371デフォルトの名無しさん
NGNG結果はどうでしたか?興味が有ります。
0372365
NGNG無事成功しました。
form1.DoubleBufferd := true にするだけで画面のちらつきがなくなりました。
>>367の方法については今調べているところです。
0373デフォルトの名無しさん
NGNG> APIとVCLは、解りません。知りたいとも思いません。
君の知りたいことはまさしくこれなんだが。
知りたくないのなら、質問しなければいい。
0374デフォルトの名無しさん
NGNGとりあえずソースを見せてよ。
そうしたら原因が分かるかもよ。
0375デフォルトの名無しさん
NGNGform1.DoubleBufferd := true
は、全体を描画するための、隠れビットマップを作成するから、負荷大。
だから、DoubleBufferdを使う時は丁度収まるサイズのパネルを使うのが一般的かな
0377デフォルトの名無しさん
NGNG複数の乱数列を同時にもてるようなの。
0378デフォルトの名無しさん
NGNG??
0379デフォルトの名無しさん
NGNG独自の乱数を作ればいいジャマイカ
アルゴリズムの本でも嫁ばよかんべ
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGフォーム上に配置された任意の画像からマウスカーソルが離れた時、
イベント(画像の入れ替え)を発生させたいのですがどのようにすれば良いでしょうか。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGprocedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Panel1.Color := clRed;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Panel1.Color := clWhite;
end;
こんな感じですか?
0386デフォルトの名無しさん
NGNGOnEnter、OnExit。任意の位置ならOnMouseMoveで位置判断して処理する
イベントの無いコンポーネントなら継承コンポ作ってイベント公開すればいい
TWinControlの子孫ならpropertyをpublishedにするだけ。
0387デフォルトの名無しさん
NGNGなのでまともな回答として、コンポーネントとして作るが。取りあえずTPanelで例
TMyPanel = class(TPanel)
private
{ Private 宣言 }
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
protected
{ Protected 宣言 }
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
public
{ Public 宣言 }
published
{ Published 宣言 }
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
...
procedure TMyPanel.CMMouseEnter(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;
procedure TMyPanel.CMMouseLeave(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;
0388デフォルトの名無しさん
NGNGbegin if img1=img2 then begin
Label3.Caption:='あいこ';
Exit
end;
if (img1 =1)and(img2=3)then begin
Label3.Caption := 'あなたの勝ち';
Exit
end;
if (img1=2)And(img2=1)then begin
Label3.Caption :='あなたの勝ち';
Exit
end;
if (img1=3)and(img2=2)then begin
Label3.Caption:='あなたの勝ち';
Exit
end;
Label3.Caption:='あなたの負け';
end;
0389デフォルトの名無しさん
NGNGbegin
if state=False then begin
state:=True;
Label3.Caption:='じゃんけん'
end
else begin
Image2.Picture.LoadFromFile('./gu.bmp');
img2:=1;
state:=False;
check;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin if state=False then begin
state:=True;
Label3.Caption:='じゃんけん'
end
else begin
Image2.Picture.LoadFromFile('./choki.bmp');
img2:=2;
state:=False;
check;
end;
end;
0390デフォルトの名無しさん
NGNGbegin
if state=False then begin
state:=True;
Label3.Caption:='じゃんけん・・・'
end
else begin
Image2.Picture.LoadFromFile('./pa.bmp');
img2:=3;
state:=False;
check;
end;
end;
0391デフォルトの名無しさん
NGNGprocedure TForm1.FormCreate(Sender: TObject);
begin Randomize;
img1:=Random(3)+1;
img2:=Random(3)+1;
State:=true
end;
end.
>>388-391までのプログラムですが、コンピューター側の画像が出ません。なにが問題かおしえてください。
0392デフォルトの名無しさん
05/01/17 00:30:100393デフォルトの名無しさん
05/01/17 00:33:360394デフォルトの名無しさん
05/01/17 00:36:360395デフォルトの名無しさん
05/01/17 00:48:01見つかった文字までの間にCRLFが幾つあるか数えれば?
0396デフォルトの名無しさん
05/01/17 00:51:29やりたいことがいまいちよく分からんけど、
TStringListに入れて行数(Count)調べた方がいいのでは?
0397デフォルトの名無しさん
05/01/17 01:03:56作ってみたよ
http://onigiri.s3.xrea.com:8080/delphi/index.php?plugin=attach&openfile=%A4%B8%A4%E3%A4%F3%A4%B1%A4%F3.zip&refer=%5B%5B%A5%BD%A1%BC%A5%B9%C3%D6%A4%AD%BE%EC%5D%5D
0398デフォルトの名無しさん
05/01/17 01:07:13Mersenne Twister法は?
一応乱数列を入れ替えることが出来る。
BSDライセンスだが。
0399デフォルトの名無しさん
05/01/17 01:25:50「いちいちファイルを読み込むな」って言われなかった?
0400デフォルトの名無しさん
05/01/17 01:26:33ImageListを使うとか汁
0401デフォルトの名無しさん
05/01/17 01:33:06まぁまぁ。
まずは「ひとまず完成」まで行かせてあげたら?
疑問はその後、湧いてきたら解決していけばいい。
0402デフォルトの名無しさん
05/01/17 01:35:47さらにまた同じ回答してるのが笑えるな。
それがDelスレクオリティ。
0403デフォルトの名無しさん
05/01/17 03:28:04うるせーばか。
0404デフォルトの名無しさん
05/01/17 03:28:41通りがかりの者ですが、Delphi-MLにもありましたけど、
CM_MOUSELEAVEは必ず発生するとは限りません。
この現象を回避するのにかなり労力を使ってます
再現方法の一例:
フォームを二つダブらせる、下フォームの上にこのパネルを配置
上フォームをアクティブにしてマウスカーソルをクリックしないで下フォームのパネル上に持ってくると
CM_MOUSEENTERそのまま元の位置にカーソルを戻すとCM_MOUSELEAVEは発生しません。
同じ問題は、TSpeedButtonでも見られたはず。(Xpスタイル適応してDelphi7で確認しました)
何かいい方法無いですかねぇ…。
0405デフォルトの名無しさん
05/01/17 03:51:210406デフォルトの名無しさん
05/01/17 03:55:17どういう事?、いま試したけど。アクティブなフォームじゃなくても正常だったよ
TPanelで試したが、TControlの子孫なら大丈夫そうだけど
0407デフォルトの名無しさん
05/01/17 03:56:180408デフォルトの名無しさん
05/01/17 04:25:38CM_MOUSEENTER
CM_MOUSELEAVE
を捉えてなんかやってるから上手くやってあげないと駄目なだけで、
このメッセージをスルーしてるコンポなら、>387の通りで大丈夫なハズ
と言うよりSpeedButtonとかはFlatとかがあるから、イベント作るならややこしいかも
とは言え、XPMan使うとおかしいのはVCLが浅はかと思うけどね
0409デフォルトの名無しさん
05/01/17 11:01:52VCやVBの標準値がいくつかわかる方いますか?
0410デフォルトの名無しさん
05/01/17 11:04:00どうでもいいかもしれないけど「わかる方いますか?」って聞き方は微妙だと思う。
0411デフォルトの名無しさん
05/01/17 11:33:18コンパイル時にTDB,TDBGridが見つからないと言われました。
ネットやDelphiの中を探したのですが見つかりませんでした。
この2つのクラスもどこかで落としてくるのでしょうか?
0412デフォルトの名無しさん
05/01/17 11:36:30TEdit内でCtrl+Aを押された場合に全選択状態にするには
どうしたらよいでしょうか?
Text1.SelectAllをすればいいのはわかったのですが
どういうイベントに記述すればよいのかわからないので
教えてください。
0413デフォルトの名無しさん
05/01/17 12:09:25procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key = Ord('A')) then
Memo1.SelectAll;
end;
>411
DB関係はProfessional以上なら標準で在る。
ProとEntでも差異がある。パーソナルなら諦めかな。Midas絡みも無理でしょう
0414411
05/01/17 12:30:09使っているのがフリーのPersonal6です。
上位バージョンの試用版も米国のサイトから落としましたが、
Personalである限り無理ということですね。
丁寧にありがとうございました。
付け加えた質問で恐縮ですが、
データのセーブはcsv的にテキスト形式で保存し、
ロード時はMemoにロードし","を区切にして
TStringGridに貼り付けていこうと思うのですが
他に効率の良いコンポーネントや方法はあるでしょうか?
0415デフォルトの名無しさん
05/01/17 12:33:49それだと[Shift]+[Ctrl]+Aでも同じ挙動になってしまうから、
if ([ssCtrl] = Shift) ...
のほうがいいんじゃないかな?
0416デフォルトの名無しさん
05/01/17 12:38:06データが少なければ、そのcsv?独自データでもいいが
0417デフォルトの名無しさん
05/01/17 12:40:05>>415
ありが�d
できました。
0418デフォルトの名無しさん
05/01/17 12:41:23細かい所は好きにすればいいじゃん
やり方はあれで分かるだろうから、不備があれば自分で考えられるだろ
0419デフォルトの名無しさん
05/01/17 14:07:580420デフォルトの名無しさん
05/01/17 15:08:50TActionで標準のアクションを追加してTEditSelectAllのShortCutプロパティにCtrl + Aを割り当てる。
0421デフォルトの名無しさん
05/01/17 16:17:160422デフォルトの名無しさん
05/01/17 18:44:40フォントカラーとアンダーラインを切り替えるだけじゃないの?
0423デフォルトの名無しさん
05/01/17 18:57:09代案厨乙
>>421
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2004-49,GGLD:ja&q=linklabel+delphi
http://www.koders.com/delphi/fidBD5400E63BDB962DF4D36D9C48642CC2825653E6.aspx
0424デフォルトの名無しさん
05/01/17 19:28:590425デフォルトの名無しさん
05/01/17 19:29:320426デフォルトの名無しさん
05/01/17 19:39:04,387のコード見て理解出来てる人が、そんなコンポ教えてって言うのがオカシイ
0427デフォルトの名無しさん
05/01/17 20:32:20探せばありますか。今度時間をかけて漁ります。
試したところ上位の試用版にDB系のコンポーネントがありました。
でも試用版なので使い続けるわけにはいかない…。
0428デフォルトの名無しさん
05/01/17 21:10:59ODBCを直接叩くコンポーネントなら
ODBC Access for Delphi ttp://homepage1.nifty.com/TAK/download.htm
があるわけだけど、csvファイルを扱いたいだけなら、
椿 -List Editor- ttp://www.vector.co.jp/soft/win95/business/se110418.html
に入っているTListGrid, TListGridExのほうが楽チンかな。
0429デフォルトの名無しさん
05/01/18 03:26:55constructor Create(APara: Integer); overload;
でCreateからCreate(APara)を呼び出すことって出来る?
constructor Create;
begin
Result := Create(0);
や
inherited Create(0);
end;
のようなことがやりたい(デフォルト引数というのはなしね)。
0430デフォルトの名無しさん
05/01/18 03:30:540431デフォルトの名無しさん
05/01/18 03:46:490432デフォルトの名無しさん
05/01/18 04:03:52で、出来ると思うよ。
というか・・干渉ですが、
Createから別のCreate(**)を呼ぶならコンストラクタにする意味無いと思います。
Create(**)内でCreateならわかるけど
0433デフォルトの名無しさん
05/01/18 04:21:31TMyObject = class(TObject)
private
{ Private 宣言 }
FCount: Integer;
public
{ Public 宣言 }
constructor Create; overload;
constructor Create(APara: Integer); overload;
property Count: Integer read FCount default 0;
end;
...
constructor TMyObject.Create;
begin
inherited Create;
FCount := 0;
end;
constructor TMyObject.Create(APara: Integer);
begin
Create;
FCount := APara;
end;
0434デフォルトの名無しさん
05/01/18 05:19:14なんて出来るの?
0435デフォルトの名無しさん
05/01/18 09:26:50ヘルプを見ながら試行錯誤したのですが、どうにも上手くいきません。
//aTimeはNowより以前の時刻を表すTDateTime型
Label1.Caption:=FormatDateTime('yyyy/mm/dd HH:nn:ss',(Now-aTime)-693594.0);
どこを訂正すれば良いでしょうか?
0436デフォルトの名無しさん
05/01/18 10:52:070437デフォルトの名無しさん
05/01/18 11:14:010438デフォルトの名無しさん
05/01/18 11:40:09作成したのですが、実行すると
ファイル(Z)と項目が表示されます。
(Z)を表示させないようにする方法と、
できれば()内の文字を任意にする方法を教えてください。
宜しく御願いします。
0439デフォルトの名無しさん
05/01/18 11:51:210441デフォルトの名無しさん
05/01/18 12:05:410442デフォルトの名無しさん
05/01/18 12:42:56掲示板などに書き込みさせるようにはどうしたらいいのですか?
とりあえず、Indy9をインストールしました。
Postをするとか書いてあったんですが良くわかりません誰か教えてください。
0443デフォルトの名無しさん
05/01/18 13:06:47http://で始まるアドレスを使ってダウンロードしたり、投稿したりする時は、
HTTPという規約に沿って行なわれます。
という事で、まずは、こことか見てHTTPの勉強をしてください。
http://www.studyinghttp.net/
0444デフォルトの名無しさん
05/01/18 17:36:080445デフォルトの名無しさん
05/01/18 18:54:430446デフォルトの名無しさん
05/01/18 19:44:05イメージとしてはPaintBoxという画用紙に
テキストなりイメージなりをペタペタ貼っていくのだと思いますが
参考になるページ等があれば教えていただけないでしょうか
0447デフォルトの名無しさん
05/01/18 20:35:32HDCはCanvas.Handle
0448デフォルトの名無しさん
05/01/18 21:02:21TCanvasのヘルプ嫁、の方が早いと思われ
0449デフォルトの名無しさん
05/01/18 21:04:24DEMOフォルダにあるプロジェクトの中から興味のあるものを見つけて
コードやコンポーネントのプロパティを調べまくること
0450デフォルトの名無しさん
05/01/18 22:22:28DCを提供するだけで、再描画はしないので永続表示するならOnPaintが必要
まぁほとんど全てのコンポがWM_PAINTで再描画してるんだけど、
ライブラリ化されてローレベルな部分は隠蔽されてるから、いきなり初心者がTImageなど使ってもそれなりのものは出来る。
ビットマップヘッダーやらなにやらGDIを直接使う場合は、本来のWindowsSDKに戻る。
とは言え、いきなり初心者がWindowsSDKのみでアプリを書くのは無理。
0451デフォルトの名無しさん
05/01/18 22:57:41差分なら実数を自分で日付形式表示しれ
0452デフォルトの名無しさん
05/01/19 02:06:240453デフォルトの名無しさん
05/01/19 03:28:28閏年も考慮しないとな。
0454デフォルトの名無しさん
05/01/19 04:42:230455デフォルトの名無しさん
05/01/19 09:53:411ピクセルは何mmなのでしょうか?
0456455
05/01/19 09:57:45Delphi-MLで調べたら見つかりますた
0457デフォルトの名無しさん
05/01/19 10:17:25delphiと関係ないじゃんw
0458デフォルトの名無しさん
05/01/19 10:20:47SecondsBetween() は閏年を考慮してるよ
0459デフォルトの名無しさん
05/01/19 10:36:37つくれないです。
0460デフォルトの名無しさん
05/01/19 17:25:04a(n)=1×2×...×n
b(n)=b(n-1)+b(n-2)、 b(1)=1、 b(0)=0
・n(≧1)が入力として与えられたとき、
a(n)の値を返す再帰的なプログラムを記述せよ。
・上記の問題を再帰を用いないプログラムで記述せよ。
・n(≧1)が入力として与えられたとき、
b(n)の値を返す再帰的なプログラムを記述せよ。
・上記の問題を再帰を用いないプログラムで記述せよ。
※ただし入力と出力は全ての整数型で与えられるとし、記述はDel-phiで記述せよ。
0461デフォルトの名無しさん
05/01/19 17:46:17スレ違いですよ♪
0462デフォルトの名無しさん
05/01/19 18:23:020463デフォルトの名無しさん
05/01/19 20:05:28再帰的なプログラムを記述せよ・・で?・・再帰を用いないプログラムで記述せよ・・ハァ??
全部の値の定数でも並べればぁ
0464デフォルトの名無しさん
05/01/19 20:12:460465デフォルトの名無しさん
05/01/19 20:12:54おまいのレスこそネタだよな?ネタだと言ってくれ〜
0466デフォルトの名無しさん
05/01/19 20:20:370467デフォルトの名無しさん
05/01/19 20:27:450468デフォルトの名無しさん
05/01/19 23:50:060469デフォルトの名無しさん
05/01/19 23:56:150470デフォルトの名無しさん
05/01/20 05:39:50画像(例えば"C:\Program Files\Common Files\Borland Shared\Images\Buttons\ABORT.BMP")
を一枚でも読み込んで実行すると
'ImageList1.Bitmapの読み込みエラー:ストリームからのImageListデータの読み込みに失敗しました'
と出てしまいます。何が悪いのでしょうか?
環境はDelphi6 Proとパッチは一通りあてています。
0471デフォルトの名無しさん
05/01/20 06:31:15IDE上で読み込み済みなのか、起動時に動的に読み込むのか、どっちだ?
0472デフォルトの名無しさん
05/01/20 06:32:170473デフォルトの名無しさん
05/01/20 08:07:13function a(n:Integer):Integer;
begin
if n>1
then a:=n*(n-1)
else a:=1;
end;
function a(n:Integer):Integer;
begin
result:=1;
while n>1 do begin result:=result*n ; dec(n);end;
end;
0474デフォルトの名無しさん
05/01/20 10:57:580475デフォルトの名無しさん
05/01/20 11:24:46jpg 画像は bitmap に写し取って同様にする
0476デフォルトの名無しさん
05/01/20 13:37:080477474
05/01/20 15:06:24var
Bmp: TBitmap;
Fname: TFileName;
begin
if OpenPictureDialog1.Execute then
Fname := OpenPictureDialog1.FileName
else
exit;
Bmp := TBitmap.Create;
try
Bmp.LoadFromFile(Fname);
Form1.Canvas.Brush.Bitmap := Bmp;
Form1.Canvas.FillRect( Rect(0,0,100,100) );
Label1.Caption := IntToStr(Bmp.Canvas.Pixels[50,20]);
finally
Form1.Canvas.Brush.Bitmap := nil;
Bmp.Free;
end;
end;
end.
こんなプログラムを作ったんですが、labelの行を追加するとbitmapが正しく表示されません。
また、labelの数字もなんか変ですし。本当はR,G,Bそれぞれの値を得たいのですが、どうしたらよいでしょうか。
0478デフォルトの名無しさん
05/01/20 15:12:110479デフォルトの名無しさん
05/01/20 15:26:08やってみたけど、別に問題がないと思うけど。Label1の行の有無にかかわらず、特に差はなかった。
ただ、Bmp.Canvasのサイズに対して、OpenPictureDialog1で読み込まれたBitmapのサイズが
大きすぎの可能性はないだろうか(小さい場合はタイル状に並ぶことは確認できると思う)。
>labelの数字もなんか変ですし。
ヘルプでTCanvas.Pixelsを熟読しる。たぶん-1が返ってきている状態に陥ってない?
0480480
05/01/20 15:30:27var
i : integer;
begin
result := 0;
for i := 1 to 4 do
begin
if StrScan((PChar(s1)) and (PChar(s2)),s2[i]) <> nil then
begin
Inc(result);
end;
end;
end;
例えば、s1='abcd' s2='bbef'と代入させた時に、
s1にはbが1個、s2にはbが2個含まれているので、
上記の関数を使うと、2という結果が返ってきます。
私が求めているのは、いくつ組が出来るかってことなので、
この場合は、1という結果が欲しいんです。
s1の2文字目のbとs2の1文字目のbという組が出来たら、
s1の2文字目のbとs2の2文字目のbは組として成立させないよう、
以降s1の2文字目のbは使わないようにしたいんです。
上記の関数をどう書き換えれば良いでしょうか?
0481デフォルトの名無しさん
05/01/20 15:53:450482デフォルトの名無しさん
05/01/20 15:56:32その前に
(PChar(s1)) and (PChar(s2))
の意味がわからんのだが・・・俺がアホなだけか?
0483デフォルトの名無しさん
05/01/20 16:03:09s2[i] で巡回してるんだから、PChar(s1) だけじゃないのか、この部分。
それに s1 と s2 を入れ替えると結果がかわるでしょ。
同じ文字がある場合はそれを s1 にしてごらん
0484480
05/01/20 16:09:40function MojiMoji(s1,s2:string):integer;
var
i : integer;
begin
result := 0;
for i := 1 to 4 do
begin
if StrScan((PChar(s1)),s2[i]) <> nil then
begin
Inc(result);
end;
end;
end;
です。
0485デフォルトの名無しさん
05/01/20 16:19:25子ノードを全検索して作成有無を判断するしか無い。リネームなんかも同じ
0486デフォルトの名無しさん
05/01/20 16:20:020487デフォルトの名無しさん
05/01/20 16:20:17こんなんどうよ?
function MojiMoji(s1,s2:string):integer;
var
i : integer;
begin
result := 0;
for i := 1 to 4 do
begin
if Pos(s2[i], s2) < i then
begin
continue;
end;
if StrScan((PChar(s1)), s2[i]) <> nil then
begin
Inc(result);
end;
end;
end;
0488デフォルトの名無しさん
05/01/20 16:25:14了解しました。
0489デフォルトの名無しさん
05/01/20 16:29:29If cond then If cond then else ---
やっぱbigin - end - で囲っちゃう いらないけど
if cond then
if cond then else
else
-- がいまだにできない
0490デフォルトの名無しさん
05/01/20 16:35:24正規表現が無いから文字検索が面倒なのは確かだが
0491デフォルトの名無しさん
05/01/20 16:37:110492デフォルトの名無しさん
05/01/20 16:46:190493480
05/01/20 16:53:58どうもありがとうございました。
それともう一つ質問なんですが、
上記と似たような関数なんですけど、
s1とs2に、何種類の文字が含まれているかを調べる関数を作りたいのですが、
どうすればよいでしょうか?
さっきのs1='abcd' s2='bbef'だと、
6種類という結果が返ってくるような関数です。
よろしくお願いします。
0494デフォルトの名無しさん
05/01/20 16:55:340495デフォルトの名無しさん
05/01/20 16:59:160496デフォルトの名無しさん
05/01/20 16:59:400497デフォルトの名無しさん
05/01/20 17:01:370498デフォルトの名無しさん
05/01/20 17:16:44function HowManyKinds(const s:string):integer;
var
i:integer;
begin
result := 1;
for i := 1 to Length(s)-1 do
if StrScan(PChar(@s[i+1]),s[i]) = nil then Inc(Result);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToStr(HowManyKinds('abcd'+'bbef'));
end;
0499デフォルトの名無しさん
05/01/20 17:23:22while内でかなりのcaseとposとフラグ使ってでグルグル回さなきゃいけない罠
正規表現なら簡素になるだろ、物によっては一行で済むかもしれん
IndyのTIdMessageでもヘッダー部にバグ潜んでるし
0500480
05/01/20 17:26:09まずは、しっかり理解してから使います。
ありがとうございました。
0501デフォルトの名無しさん
05/01/20 17:26:180502デフォルトの名無しさん
05/01/20 17:28:480503デフォルトの名無しさん
05/01/20 17:33:530504デフォルトの名無しさん
05/01/20 20:06:07TADOTableにはありますでしょうか。
0505デフォルトの名無しさん
05/01/20 20:20:580506デフォルトの名無しさん
05/01/20 21:58:37特定単語などを自動的に太字にしたり色変えたり・・したいと思い、
リッチエディットでやったのですが、太字に変えると幅が大きくなってしまします
IDEのエディタは予約語に限らず等幅でボールドしたり解除したりしてますよね
こういう風にしたいのですが
サブクラスウインドウやめて、DCやらフォントやらキャレットやら
自分で実装しないといけないのかしら?それだと超めんどくさいのですが
なんか簡単にできるプロパティとか見落としてるのでしょうか
(他人のコンポーネントは無しということで)
0507デフォルトの名無しさん
05/01/20 21:59:33>自分で実装しないといけないのかしら?それだと超めんどくさいのですが
>(他人のコンポーネントは無しということで)
無理
0508デフォルトの名無しさん
05/01/20 22:10:530509デフォルトの名無しさん
05/01/21 02:05:33通常どれくらいのポートを開くものなのでしょうか。
物にもよると思いますが、例えばチャットプログラム等ではどうなのでしょうか。
文字送受信用とファイル送受信用で別のポート使いますよねたぶん^^;
どうかご教授お願い致します。
0510デフォルトの名無しさん
05/01/21 02:08:180511デフォルトの名無しさん
05/01/21 02:16:53こんなに使っている物なんですね^^;
次からはもっとちゃんと調べるようにします。
お手数お掛けしました&ありがとうございました!
0512デフォルトの名無しさん
05/01/21 03:08:021PCに1つ割り当てれば良いと思うけど、ちがうの?
0513デフォルトの名無しさん
05/01/21 03:16:40TCPとUDPについて調べろ。話はそれからだ。
0514デフォルトの名無しさん
05/01/21 04:02:020515509
05/01/21 04:35:28しかしいつもソケットコンポーネントを置く時に「これでいいのかなぁ〜」と疑問を抱きつつ
置くのでプログラミングが上手な方々にどうすべきか聞こうと思ったのですが、
よく考えたら既存のプログラムのポートを調べれば済む話だったという訳です^^;
ともかく皆さんどうもです〜^^;
0516デフォルトの名無しさん
05/01/21 08:12:30VBにできなくてDelphiにできることってなんですか?
0517デフォルトの名無しさん
05/01/21 08:14:230518デフォルトの名無しさん
05/01/21 09:04:49普通にあるだろw
0519デフォルトの名無しさん
05/01/21 09:27:25procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap: TBitmap;
begin
if OpenDialog1.Execute then
Bitmap.LoadFromFile(OpenDialog1.FileName);
end;
こんなプログラムを作ったんですが、Bitmap.Load…のところで例外が発生します。
「Project1.exeがEAccessViolationクラスの例外を発生した。Project1.exeのアドレスxxxxで
アドレスyyyyの読み込み違反がおきた」とでて先に進みません。実行を続けようとしても同じ
メッセージが繰り返されるだけです。helpを読むと、ツールのデバッガオプションで何とかしろ、
と書いてありますが、よくわかりません。どうすればよいか教えてください。
0520デフォルトの名無しさん
05/01/21 09:29:47Bitmap:= TBitmap.Create;
try
if OpenDialog1.Execute then
Bitmap.LoadFromFile(OpenDialog1.FileName);
finally
Bitmap.Free;
end;
0521519
05/01/21 10:23:49何度も申し訳ないですが、どうすればよいか教えてください。
0522519
05/01/21 10:31:560523デフォルトの名無しさん
05/01/21 10:32:29プログレスバーを使ってファイルのダウンロード状況を表示したいと思っています。
どのように書けば良いかサッパリわからないです。
0524523
05/01/21 10:35:43Positionを現在ダウンロードできているファイルサイズ?
とするような感じなのだろうなぁとは思うのですが・・。
うまくいきません(-_-;)
0525523
05/01/21 10:42:480526デフォルトの名無しさん
05/01/21 11:14:42全く反応がありません。
何が悪いんでしょうか?
procedure TForm1.Button1Click(Sender: TObject);
var
sr:TSearchRec;
i:integer;
begin
if FindFirst('C:\',faDirectory,sr) = 0 then
begin
repeat
showmessage(sr.Name);
until FindNext(sr) <> 0;
end;
FindClose(sr);
end;
0527526
05/01/21 11:22:480528デフォルトの名無しさん
05/01/21 12:18:41別アプリのウインドウにあるコマンドボタンのEnableの状態を取得したいのですが、
APIがわかりません。FindWindow,FindWindowEXでウインドウハンドルを取得するまではわかるのですが・・・
ご教授お願いいたします。
0529519
05/01/21 12:34:210530デフォルトの名無しさん
05/01/21 12:51:20IsWindowEnabled
マァAPIの質問はAPIスレのがいいよ
0531デフォルトの名無しさん
05/01/21 13:05:36ありがとうございます。
0532デフォルトの名無しさん
05/01/21 17:37:37RuntimeDLLなしでアプリを実行すること。
0533デフォルトの名無しさん
05/01/21 17:42:200534デフォルトの名無しさん
05/01/21 20:33:480535デフォルトの名無しさん
05/01/21 20:36:170536デフォルトの名無しさん
05/01/21 20:41:200537デフォルトの名無しさん
05/01/21 20:49:160538デフォルトの名無しさん
05/01/22 00:50:49>VBと対比されて説明されることがありますけど、
>VBにできなくてDelphiにできることってなんですか?
VBってポインタ扱える? 確か使えないと思ったが・・・・
いずれにせよ
「VBにできなくてDelphiにできること」
の方が
「DelphiにできなくてVBにできること」
よりずっと多いとおもふ。
0539デフォルトの名無しさん
05/01/22 01:10:320540デフォルトの名無しさん
05/01/22 01:38:070541デフォルトの名無しさん
05/01/22 02:00:11お客様、談話室が空いていますので、そちらのほうでゆっくりしていってください。
0542デフォルトの名無しさん
05/01/22 04:17:16APIを使うようなアプリは作るなって事か。
0543デフォルトの名無しさん
05/01/22 04:46:20Delだって同じジャン、ボケ
0544デフォルトの名無しさん
05/01/22 04:47:42?
Windows とかのユニットで宣言してあるじゃん。
0545デフォルトの名無しさん
05/01/22 05:08:17よっぽどAPIが嫌いなのね。
0546デフォルトの名無しさん
05/01/22 05:15:230547デフォルトの名無しさん
05/01/22 06:46:30生でやるのは危険だからね。
0548デフォルトの名無しさん
05/01/22 08:08:02Form1.Create時にForm2のobjectを参照することは出来ないのでしょうか。
(Form2生成前だから?とか)
一応、Form1のonShowイベントで参照させて回避しましたが、気になるもので。
0550デフォルトの名無しさん
05/01/22 10:42:46HP上のデータを、ClientSocketを使って、
ダウンさせるにはどうしたらよいのでしょうか?
FTPのコマンドを理解すればよいのでしょうが、
FFFTPの作動画面見てもはっきり分かりません。
ご存知の方、回答よろしくお願いします。
0551デフォルトの名無しさん
05/01/22 11:17:27Indyの方が楽でね?
0552デフォルトの名無しさん
05/01/22 11:18:59ttp://www.mars.dti.ne.jp/~torao/rfc/rfc959-ja.txt
0553デフォルトの名無しさん
05/01/22 11:38:260554デフォルトの名無しさん
05/01/22 11:47:31Form2を先に生成するように設定する
0555デフォルトの名無しさん
05/01/22 12:19:37そうするとForm2.Create時にForm1のobjectを参照することは出来なくなってしまいます。
とか言うなよ。
0556デフォルトの名無しさん
05/01/22 12:26:49Application.MainForm を設定しなければならないのでその方法はおすすめできない
0557デフォルトの名無しさん
05/01/22 12:47:29ないだろ。WinInet とか、もっと簡単に UrlMon 使えば一行だよな。
0558デフォルトの名無しさん
05/01/22 12:49:24そんなことないよ。アセンブリのコードがAPIになるから使いまくりだろ、ふつう
0559デフォルトの名無しさん
05/01/22 14:17:29Object参照じゃないが、
Form2にあるメソッド使いたいだけならこれはどうだ?
TForm2 = class(TForm)
public
class procedure Hoge;
end;
procedure TForm1.OnCreate(Sender: TObject);
begin
TForm2.Hoge;
end;
Objectの参照は作らないと無理。
0560デフォルトの名無しさん
05/01/22 15:12:18プロジェクト-オプション-フォームの自動生成の対象でForm2をForm1の上に来るようにする。
そうすれば先にForm2が作られるので参照できる。
0561デフォルトの名無しさん
05/01/22 15:16:180562デフォルトの名無しさん
05/01/22 16:14:45ドキュメンテーションツールってないですか?
0563デフォルトの名無しさん
05/01/22 17:13:43FTPじゃない。HP上なんだからHTTPプロトコルだよ。
0564デフォルトの名無しさん
05/01/22 17:14:19「共有ファイル」ってディレクトリは具体的に何に使われるもんなの?
0565デフォルトの名無しさん
05/01/22 17:23:08BDE
BDS
Data
Database Desktop
DBExpress
Debugger
Images
MSHelp
SampleDictionary
0566デフォルトの名無しさん
05/01/22 18:07:00それは「共有ファイル」っていうんだろうけど、
誰と誰が共有すんの?
「delphiと他の言語とかOSとかが共有」とかするならc:\に置こうと思ってるんだけど、
「delphiのプログラムAとプログラムBが共有する」ならd:\に置こうと思っててさ。
0567564=566
05/01/22 18:18:46やっぱり全部デフォディレクトリにする。
>>565レスどもでした。
PCがイカれててよくOS再インスコするので、こういうの迷う。
0568デフォルトの名無しさん
05/01/22 18:28:22他バージョンのDelphiとかBCBとか
0569デフォルトの名無しさん
05/01/22 18:44:410570デフォルトの名無しさん
05/01/22 19:04:57おすすめなとこありますか?
0571デフォルトの名無しさん
05/01/22 19:12:570572デフォルトの名無しさん
05/01/22 19:44:26プログラムを組んでる俺は勝組
0573デフォルトの名無しさん
05/01/22 19:53:29表面なら、どうすれば操作性が良いか、見栄えが良いか・・・
中身なら、どういうクラス設計が使いやすいか、関数の引数をどうするか・・・
0574デフォルトの名無しさん
05/01/22 20:15:280575デフォルトの名無しさん
05/01/22 20:57:10thx!
適当に入門書購入したらコンポーネントの解説ばっかで文法のこと全然書いてなくて困ってました。
ついでに書籍でお勧めってありますか?電車でチマチマ読みたいとき用に。
0576デフォルトの名無しさん
05/01/22 21:01:050577デフォルトの名無しさん
05/01/22 22:08:21Halbow氏のTCommonMemoryクラスを試してみようと、以下のコードを書いたのですがどうにも巧く文字列を取得してくれません。
ステータスバーだと取れるのですが何故かTEditだと文字列の取得に失敗します(文字列の長さの取得には成功している)
どなたか理由の分かる方はいらっしゃいませんでしょうか?
なおターゲットプログラムは勿論起動してますしTEditが貼られてます。
procedure TForm1.Button1Click(Sender: TObject);
var
hTargetForm,hEdit:HWND;
Len: integer;
AllocSize:DWORD;
CM:TCommonMemory;
PC:PChar;
s:string;
begin
hTargetForm := FindWindow('TTargetForm',nil);
hStatusbar := FindWindowEx(hTargetForm,0,'TEdit',nil);
if hEdit = 0 then begin
ShowMessage('Target Statusbar is not found');
exit;
end;
AllocSize := 1 + LOWORD(SendMessage(hEdit,WM_GETTEXTLENGTH, 0, 0));
CM := GetCommonMemory(hEdit,AllocSize);
GetMem(PC,AllocSize);
Memo1.Clear;
Len := LOWORD(SendMessage(hEdit,WM_GETTEXT,AllocSize,LPARAM(CM.MemPtr)));
CM.Read(0,PC,Len);
SetString(s,PC,Len);
Memo1.Lines.Add(s);
FreeMem(PC);
CM.Free;
end;
0578くぁwせdrftgyふじこlp;@:「」
05/01/22 22:09:38+ へ ,,,..-'"へ ⌒ヽー-、..,,,...-イ''⌒ヽ
/ ゝ-─‐-/' ヽi! ヽ、 i, ,ノ
+ /" i! .... ゙'';;.. Y"
,/' '''''' '''''' 〈 :::::. '';;... 'i- 、,,
+ i'(-==), 、(==-)、 'i, :::::::: :::: 'i! ゙"ヽ、
i! ,,ノ(、_, )ヽ、,, 'i ::::::::: ''':;;; ヽ、 ゙)
ワカッタニャー 'i,::::: `-=ニ=- ' ,/ヽ '''' 'i,-‐'"
/⌒ヽ、 `ニニ ´ :::,,-‐ ゝ ............. ヽ、
( ヽ、 u ,,.-‐''" ,) ::::::::: '\,
ヽ、,, ノ,.-‐''" ノ-‐''"´( ::::::::::: )
"~ ( ,. -'" ヽ、 _,,... -‐─'''"
ヽ、,,.. -‐'''" ``゙"´~
./  ̄/〃__〃  ̄フ / / / o ヽ /
―/ __ _/ ./ / / ── / ̄ /
_/ / / /\ _/ ヽ_ _/
0579ぼるじょあ ◆O199225486
05/01/22 22:10:43──┐ /| | l | l l |\_
_ノ | _ノ ノ _/ _ノ |
ト|
ト|
ト|
ト|
/\ト|___/ヽ
/'''''' '''''':::::::\
. |(○), 、(○)、.:|
| ,,ノ(、_, )ヽ、,, .::::|
. | `‐=ニ=‐ ' .:::::::|
\ `ニニ´ .:::::/
,,.....イ.ヽニニニニニニニニン-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
0580デフォルトの名無しさん
05/01/22 22:13:21(´・ω・`)
( つ旦O
と_)_)
0581デフォルトの名無しさん
05/01/23 00:47:03WM_GETTEXT はウィンドウテキストの取得だからOSがよきに計らってくれる
コモンメモリは必要ない
0582デフォルトの名無しさん
05/01/23 02:26:15ttp://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N012.html
ここ読むと、WM_SETTEXT WM_GETTEXT WM_COPYDATA だけが例外的にOSまかせに
できるようだ
0583デフォルトの名無しさん
05/01/23 02:31:390584デフォルトの名無しさん
05/01/23 02:40:080585デフォルトの名無しさん
05/01/23 10:01:020586デフォルトの名無しさん
05/01/23 13:01:110587デフォルトの名無しさん
05/01/23 14:13:12それをホスト名に変換したいのですが
gethostbyaddr()を使うのかなといったところまでは
調べられたのですがその先になかなか進めません。
もしよろしければ教えていただけないでしょうか?
よろしくお願いします。
0588デフォルトの名無しさん
05/01/23 16:47:470589デフォルトの名無しさん
05/01/23 17:27:22⊂,,,,,,,,,つ,,゚Д゚ミつ 教えてやれよ。
Longword型に取得というのがよくわからないが
これじゃだめかの?
function GetHostName(ip : string) : string;
var
PH : PHostEnt;
InAddr: TInAddr;
W : Word;
WSADATA : TWSADATA;
begin
result := '';
if ip = '' then exit;
InAddr.S_addr := inet_addr(PChar(ip));
W := MakeWord(1, 1);
WSAStartup(W, WSADATA);
PH := gethostbyaddr(@InAddr,4,PF_INET);
if PH = nil then
begin
exit;
end;
result := string(ph^.h_name);
WSACleanup;
end;
0590デフォルトの名無しさん
05/01/23 19:02:49でも、接続〜切断の処理をわけるとうまくいくのに、まとめるといまくいかない。何故?
clientsocket(名前:csoc)を使って、
「接続」ボタン押すと
csoc1.address := edtConnectHost.text;←IPアドレスが入ってる
csoc1.Open;
「送信のみ」ボタン押すと
csoc1.Socket.SendText(edtInput.text);←送る文字列ね
「切断」ボタン押すと
csoc1.Close;
なら上手くいく。なのに、
「送信」ボタン押すと
csoc1.address := edtConnectHost.text;
csoc1.Open;
csoc1.Socket.SendText(edtInput.text);
csoc1.Close;
だと、2回に1回しか、相手にメッセージが届かない。
最初は失敗で、次は届く。次はまた失敗、の繰り返し。
で、ログを次のように出したところ
csoc1Connect→「接続しました」
csoc1Write→「送信しました」
csoc1Disconnect→「切断しました」
初回は接続、送信までしかログが出ない。
2回目は接続、送信、切断までログがでる。
次はまた送信まで。 以上です。
0591デフォルトの名無しさん
05/01/23 20:21:49ほんとだ。今まで気付かなかったw
csoc1.Open;とcsoc1.Socket.SendText(edtInput.text);の間に
どうでもいい処理を挟めばとりあえず動きそうな悪寒。
0592591
05/01/23 20:25:30↓エロい人おながいします
0593デフォルトの名無しさん
05/01/23 20:27:330594590
05/01/23 20:29:48個別ボタンと送信ボタンでいろいろ試したところ、
送信ボタン1回目で接続ができて、
送信ボタン2回目で送信と切断ができているもよう。
せめて、openでちゃんと接続できたのか取得したいんですけど。
ヘルプに書いてない(見つからないだけ…?)
0595デフォルトの名無しさん
05/01/23 20:31:590596デフォルトの名無しさん
05/01/23 20:35:17分かってればソケット絡みは、質問の前提条件として言うだろし。
あの質問だと、同期?非同期?と聞き返さなきゃいかんから面倒
「なにそれ?」なんて言うかもしれないし
0597590
05/01/23 20:38:58まずはそれを勉強するとします…。
回答ありがとうございました。
0598デフォルトの名無しさん
05/01/23 20:59:22スレッドが動作をブロックする。
recvなどは取得出来るまで制御が戻らない。
タイムアウトを適所に入れる
非同期
コマンド発行後すぐにスレッドに制御が戻る。
コマンドが完了していないかもしれない。たぶんしていない。
完了通知はイベントの形で通知
アプリとして大抵は、同期接続をマルチスレッドで使う
0599デフォルトの名無しさん
05/01/23 20:59:410600デフォルトの名無しさん
05/01/23 21:00:480601デフォルトの名無しさん
05/01/23 21:12:420602590
05/01/23 21:32:28こりゃテクネ受からんな。
>>598
なるほど、つまりopenしたらOnConnectイベントが来るまで
待たないといかん、と。
>>600
自分ですか、2kです。
0603デフォルトの名無しさん
05/01/23 21:49:19とりこぼしあるからリカバリーはしっかりと、どこまでエラーにするかだな。
0604Delフサギコ ◆A6VzDeLphI
05/01/23 21:54:16ミ,,゚Д゚彡
ミ つ旦)~~
よくしらないのですがどうぞ。
こける Wired-Winsockを使ってみようぜ : http://www.asahi-net.or.jp/~nk2w-ishr/winsock0.htm
0605デフォルトの名無しさん
05/01/23 21:58:590606590
05/01/23 22:00:30まあいいや、とにかく
「送信」ボタンでは接続だけ
↓
OnConnectで送信
↓
OnWriteで切断
でうまくいきました!
練習だし、エラーに関してはシカトしときます。
openした時点で、「接続しにいくだけの別スレッドが始まる」イメージですね。
だから、即送信してもうまくいくとは限らない(即、じゃあ大抵ムリ)、と。
よっしゃ、勉強になりました。
0608デフォルトの名無しさん
05/01/23 22:05:29読み書きとは全く違うよ。
0609デフォルトの名無しさん
05/01/23 22:12:05すごいだろ。まーがんばれや
0610デフォルトの名無しさん
05/01/23 22:19:22理解深めたのは良いこととして、
エラーは無視とか言うんなら最初のコードで、君の中じゃ完了だったんじゃねーか
0611デフォルトの名無しさん
05/01/23 22:22:570612デフォルトの名無しさん
05/01/23 22:23:26( ;・∀・)
( つ旦O
と_)_)
0613デフォルトの名無しさん
05/01/23 22:29:170614デフォルトの名無しさん
05/01/23 22:36:240615デフォルトの名無しさん
05/01/23 23:25:270616590
05/01/23 23:39:14うわーありがとうございます。
せっかく応援されたのでがんば
ろう。
>>610
ワンクリックで送信できなかったのが、
ワンクリックで送信できるようになったのです。とりあえずそれでおk。
最初のコードじゃ明らかに予期した動きではない。
でも、せっかくだからキャンセルボタンと、
〇秒以上繋がらなかったらエラー、くらいやるかなぁ。
0617デフォルトの名無しさん
05/01/23 23:45:380619デフォルトの名無しさん
05/01/23 23:56:06上級方面だと思う…。
0620デフォルトの名無しさん
05/01/23 23:56:440621デフォルトの名無しさん
05/01/24 00:12:34>>619
他の言語経験は長く多く、
また飲み込みも早いほうなので、
「TCP/IPプログラミング」と「delphi」を同時に勉強しようと思いまして。
テクネ持ってないけど勉強はしたからある程度わかるし、
VBと、C(API使ってのwindowsアプリケーションをメモ帳でちまちま作った)
経験があるのでGUIとかイベントドリブンとかは慣れてるし。
まあ、あくまで「チャット的なもの」。
今のところ1対1Onlyだし、双方からお互いにTCP接続してるし。
しかもそれを放置してじゃんけん機能つけてるとこだし。
0623デフォルトの名無しさん
05/01/24 00:28:18いえいえ、至極まっとうなご忠告だと思います。ども。
自分も、他の人が「入門でチャット」って言ってたら突っ込むし。
0624デフォルトの名無しさん
05/01/24 01:15:07マルチスレッドの実装自体は簡単だから。排他がややこしいが。
面倒ならScktCompのほうのソケットコンポで、それほど理解出来て無くても使える。
それでも問題にぶつかるだろうから、スレッドや排他はそのとき考え詰めればいい
0625デフォルトの名無しさん
05/01/24 01:31:170626デフォルトの名無しさん
05/01/24 01:32:44一応、次はマルチスレッドやろうと思ってます。
最終的には、winnyとかのノード集めてうんたらかんたらを利用した、
違法性のない…なんかゲームでも作りたい。
0627デフォルトの名無しさん
05/01/24 02:48:260628デフォルトの名無しさん
05/01/24 06:13:10CSockとSSockで簡単なアプリ作って浮かれてたけど
やっぱ手遅れかなぁとか思ってしまった(つД`)
0629デフォルトの名無しさん
05/01/24 06:30:450630デフォルトの名無しさん
05/01/24 06:39:27果たして今から勉強して仕事としてやっていけるだけの
知識を数年の内に身に付けられるのかなぁと。。
0631デフォルトの名無しさん
05/01/24 06:40:530632628,630
05/01/24 06:42:490633デフォルトの名無しさん
05/01/24 06:46:04一年後・・・あまりパっとしない結果になった。生活レベルも特に変わらん
ホソキカズコは言う。頑張りが足りなかった結果なのよ!
マルチ商法や詐欺まがいと同じじゃねーか、ランダムな事言って金せしめてるふてぇ野郎だ
0634デフォルトの名無しさん
05/01/24 06:50:070635デフォルトの名無しさん
05/01/24 07:03:36Del4あたりから書籍は殆ど買ってないけどさ
APIコールでOSの動作解説して、同じ処理するコンポーネントを平行解説してる
ver上がる毎にコンポーネントの解説ばかりになって、lowレベルな事しようとしても分かんない
0636デフォルトの名無しさん
05/01/24 07:57:59if お前 = ホソキカズコと同じ方法で稼げる状況にある then
begin
ホソキカズコと同じ方法で稼ぐ;
end;
0637デフォルトの名無しさん
05/01/24 08:06:12if ( (>636) shr (LOWORD(>633)) AND $8FFF0000 ) > 0 then
訴えられタイーホ
0638デフォルトの名無しさん
05/01/24 08:07:31というかカズコのいうことを間に受ける奴って
アサハラショーコーのいうことを間に受けた奴と同レベルだよね
0639デフォルトの名無しさん
05/01/24 08:21:120640デフォルトの名無しさん
05/01/24 08:21:550641デフォルトの名無しさん
05/01/24 08:22:460642デフォルトの名無しさん
05/01/24 08:23:420643デフォルトの名無しさん
05/01/24 09:51:26listView1.Redraw := false;
--内容書き換え
listView1.Redraw := true;
のように書き換え中に画面をちらつかせない方法が
あれば教えてください。
0644デフォルトの名無しさん
05/01/24 09:51:320645デフォルトの名無しさん
05/01/24 09:54:52ListView1.Items.BeginUpdate;
ListView1.Items.EndUpdate;
0646デフォルトの名無しさん
05/01/24 09:58:57スペシャルサンクス
助かりました。
0647デフォルトの名無しさん
05/01/24 10:26:13> ソケット接続で情報を読み書きする用意が整っていることを確認できます。
とありますが、実際にやってみると読み込みをする準備が整っているかどうか(ソケットにデータが届いているか)はわかるのですが、
書き込みの準備が整っているかどうかがわからないような気がします。
接続の状況によらず、ソケットに受信データが届いているときは True 届いていないときは Fales を返してきます。
どうすれば書き込みの準備が整っていることを調べられるのですか?
0648デフォルトの名無しさん
05/01/24 10:53:15なんの誤爆だ?
0649デフォルトの名無しさん
05/01/24 12:02:33確かあそこselectの仕方がオカシイ気がした
0650デフォルトの名無しさん
05/01/24 12:10:32取得する際は
Integer(Self.Items.Objects[Self.ItemIndex])
でとれることがわかっているのですが、セットするときに
AddObject('あ',Object)
のObjectに数値をうまくセットする方法はどうしたらよいのでしょうか?
0651デフォルトの名無しさん
05/01/24 12:22:27var
iData: Integer;
begin
iData := 1;
ComboBox1.Items.AddObject('hoge', TObject(iData));
end;
0652650
05/01/24 12:36:43そっか!
できました
ありがとうございました〜
0653デフォルトの名無しさん
05/01/24 12:51:510654デフォルトの名無しさん
05/01/24 12:58:52DLL内で非常に時間がかかる処理があるのでCPU使用率が
100%になってしまいます
if not CreateProcess(nil, PChar(aExe), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, SI, PI) Then
Raise Exception.Create('プログラムの起動に失敗しました');
if AWait then
begin
While WaitForSingleObject(PI.hProcess, 0) = WAIT_TIMEOUT Do
Application.ProcessMessages;
end;
上みたいなノリでDLLでも同じようなことができないでしょうか?
0655デフォルトの名無しさん
05/01/24 13:04:340656デフォルトの名無しさん
05/01/24 13:06:210657デフォルトの名無しさん
05/01/24 13:08:24行ごとに文字色を変えるには、どうすればよいのか
ご存知の方、教えてください。よろしくお願いします。
0658デフォルトの名無しさん
05/01/24 13:08:480659デフォルトの名無しさん
05/01/24 13:10:15TMemo ではできない
TRichEdit ならできるがそんな使い方はおすすめできない
0660デフォルトの名無しさん
05/01/24 13:12:550661654
05/01/24 13:14:39DLL内部はいじれます
DLLからコールしてる関数は0で正常、それ以外でエラーと定義しているので
エラーコードは必ず0以上と仮定するなら
iRet := -1
while Func1 > -1 do
Application.ProccesMessages;
でいけそうですかね?
>>656
スレッドはメンドいからパス
0662デフォルトの名無しさん
05/01/24 13:15:02本質的に解決するわけでもないし
0663デフォルトの名無しさん
05/01/24 13:16:23ならなんとでもなるんでは。Sleepかませたり
0664デフォルトの名無しさん
05/01/24 13:23:40素直にGDIオンリーでテキストエディタを作りたまえ
0665デフォルトの名無しさん
05/01/24 14:40:27Explorer.exeにインジェクションとかやりてぇええええ
0666デフォルトの名無しさん
05/01/24 16:04:34mylib.pasというユニットを作ってmylibs.bplというパッケージを作りました。
C:\Program Files\Borland\Delphi6\Projects\Bplにmylibs.bpl, mylibs.dcpがあります。
mylibs.bpl以外のソースやプロジェクトファイルを削除してIDEにmylibs.bplを登録しました。
サンプルプロジェクトのUnit1でuses mylib;すると
mylib.dcuが見つかりませんというエラーがでます。
bplがあれば元のソースはいらないと思うのですが何が悪いのでしょうか?
0667デフォルトの名無しさん
05/01/24 16:57:16dcuは要る
0668666
05/01/24 18:20:14そうなんですか・・・
ではリリースに必要なのは*.bpl, *.dcu, *.dfmということで
ライブラリの開発・テストと使用を厳密に分けたい場合は
こんなディレクトリ構成にすればいいですか?
mylibs\
lib\ // *.bpl, *.dcuの生成先。*.dfmを..\source\から手動でコピー。ユーザーはこのディレクトリだけを参照する。
sample\ // サンプル(..\lib\*.bplを使う)
source\ // パッケージのソースファイル(*.pas, *.dfm)、プロジェクトファイル
test\ // ライブラリ開発時のテストプロジェクト。(..\lib\*.bplを使わずにプロジェクトに..\source\*.pasを直接登録)
0669デフォルトの名無しさん
05/01/24 18:40:02落ちない。知ったか死ね。
>>661
ついでにお前も死ね。
0670デフォルトの名無しさん
05/01/24 18:48:37かわいそうに。もしかしてD2005使ってた?
0671宣言と引数が違うのにエラーにならない?
05/01/24 21:55:02http://www.bekkoame.ne.jp/~itotaka/ で公開されている Shell Component Library
Version 0.96 を使っております。
このソースを見て次のような疑問にぶつかってしまいました。
TShellTreeView の public な関数である TShellTreeView.Undo は ShellCtrls.pas で
function Undo(Index: Longint = -1): Boolean;
のように宣言されていますが、サンプルプログラム(MainFrm.pas)を見ると
procedure TDemoForm.UndoButtonClick(Sender: TObject);
begin
ShellTreeView.Undo;
end;
のように引数無しで使用されていて、もちろんコンパイルも通ります。しかし
ShellCtrls.pas を見ても TShellTreeView.Undo が overload されている形跡はあり
ません。どうしてこれでよいのでしょうか。
大変レベルの低い質問かもしれませんが、ご教示いただけたら幸いです。
0672デフォルトの名無しさん
05/01/24 22:02:15ヒント:
Longint = -1
0673デフォルトの名無しさん
05/01/24 22:05:51は Undo; 呼び出しできる、Undo(-1)と同等
function Undo(Index: Longint): Boolean;
は Undo; 呼び出しできない
{宣言部}
function Undo(Index: Longint = -1): Boolean;
implementation
{実装部}
function Undo(Index: Longint): Boolean;
は 前者と同じ
(ヘルプ参照>パラメータ:デフォルト値)
0674デフォルトの名無しさん
05/01/24 22:25:09動作に反映させたいと思っています。どのようにすれば良いでしょうか。
よろしければご教授ください。
0675デフォルトの名無しさん
05/01/24 22:44:48その文字列は何処にあって、起動時読み込むと言うが、何を対象としているのか
0676674
05/01/24 22:46:15設定を外部に保存せずにexe自体に保存したいと思っています。
起動時にはその設定部分を読み込みたいと思っています。
0677デフォルトの名無しさん
05/01/24 22:58:16後はあまり難しく考えずに
var msg: String = '$INFO$埋め込みたい文字列$';
とかやってexeを開いて$INFO$*$のパターンを検索するとか。
0679デフォルトの名無しさん
05/01/24 23:10:24動作中にこんなことをしたいのなら無理
0680デフォルトの名無しさん
05/01/24 23:31:30何かを保存することはできないのでは
0681デフォルトの名無しさん
05/01/24 23:39:560682デフォルトの名無しさん
05/01/24 23:44:320683デフォルトの名無しさん
05/01/24 23:48:52HKEY_LOCAL_MACHINE以下にレジストリキー作る香具師もアホ
0684デフォルトの名無しさん
05/01/24 23:51:450685Delフサギコ ◆A6VzDeLphI
05/01/25 00:31:41⊂,,,,,,,,,つ,,゚Д゚ミつ gethostnameでホスト名を得て
ホスト名.iniとしておけば
UNCとかでexe呼び出ししても
設定がマシン別になって幸せになれる?かな
0686デフォルトの名無しさん
05/01/25 00:38:230687デフォルトの名無しさん
05/01/25 01:34:38すげー基本だろうけどわかりません
0688デフォルトの名無しさん
05/01/25 01:38:370689デフォルトの名無しさん
05/01/25 01:44:590691デフォルトの名無しさん
05/01/25 03:00:35何がしたいのか言ってみ
0692デフォルトの名無しさん
05/01/25 03:43:19ありとあらゆる事をしたい。
何でも出来るアプリを作ってくれ。
0693デフォルトの名無しさん
05/01/25 08:48:34おなにー
Winny3
0695デフォルトの名無しさん
05/01/25 10:04:12Form1のButton1をクリックすると
下着姿の森公美子が俺の家にやってくるアプリをお願いします。
0696デフォルトの名無しさん
05/01/25 10:18:52http://pie.bbspink.com/test/read.cgi/erog/1032797915/271-272n
のT3233310.DrawPictureの実装をお願いします
0697デフォルトの名無しさん
05/01/25 15:36:30皆目検討も付きません
テーブル表を作って
for i := 0 to Length(sData) -1 do
begin
if sData[i] = $41 then bData := $41
else if sData[i] = $42 then bData := $42
end.......
とやるしか方法はないのでしょうか
end;
0698デフォルトの名無しさん
05/01/25 17:09:02�@TComboboxのリスト内の項目数はどうやって取得するのでしょう?
�A文字列入力後、OnExit時にその文字列がリストにある場合OnSelectへ遷移するのですが、
OnExit内でOnSelectに遷移するかどうか判断できないものでしょうか?
(OnExit時点ではItemIndexがきちんと入っていないようなので・・・)
0699デフォルトの名無しさん
05/01/25 17:14:09TComboBox.Items.Count
TComboBox.Items.Indexof(文字列)でどうだろう
0700デフォルトの名無しさん
05/01/25 17:30:26使ってる人は、どんな感じですか?
0701698
05/01/25 17:47:45できました!
ありがとうございます
やっと仕事が進められます(泣
3時間も悩んでしまった自分(鬱
0702デフォルトの名無しさん
05/01/25 19:55:030703デフォルトの名無しさん
05/01/25 20:12:56どなたか>>683がなぜダメなのか補足していただけませんか
0704デフォルトの名無しさん
05/01/25 20:19:49Winのユーザーごとに設定保存しろってことでしょ
0705デフォルトの名無しさん
05/01/25 20:38:39INIファイルの代わりに使うのは面倒。
オブジェクトを丸ごと保存・読み出しする仕組みの備わってる言語なら結構便利かも。
DelphiってTXMLStreamみたいなのはないのかな。
xml.WriteComponent(Data)できたら嬉しいんだけど。
0706デフォルトの名無しさん
05/01/25 20:40:15アプリのデータを保存するのにレジストリ使う場合は
HKEY_CURRENT_USER\Software\<アプリ名>
に保存する。
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%B9%A5%BF%A5%A4%A5%EB%A5%AC%A5%A4%A5%C9%5D%5D#content_1_12
0707548
05/01/25 20:51:170708デフォルトの名無しさん
05/01/25 20:53:40使うんならアンインストーラー付けてちゃんとクリーンにしてくれな
0709デフォルトの名無しさん
05/01/25 21:14:39shift_jis → iso-2022-jp じゃなくて、全角を半角にしたいんですよね。
LCMapString API を使う。
0710デフォルトの名無しさん
05/01/25 21:14:50と煽ってみる(藁
0711デフォルトの名無しさん
05/01/25 21:25:57あと、持ってる本で「Delphiで作る拘束CGI」という本にも、色々ルーチンがあったな
形式規則が理解出来ちゃえばなんて事無いんだけどね
0712デフォルトの名無しさん
05/01/25 21:27:17いいとおもうけど?
0713デフォルトの名無しさん
05/01/25 21:29:32そのなんかのフリーソフトが使ってるレジストリと同じキー使って、自分もフリーで公開する
0714デフォルトの名無しさん
05/01/25 21:32:180715デフォルトの名無しさん
05/01/25 21:34:41ユーザー毎にセクション作らなきゃいかん。中身他人にも見られるし。
0716デフォルトの名無しさん
05/01/25 21:56:49HKEY_LOCAL_USERならユーザーごとに独立してるしファイルで持つにしても各ユーザーディレクトリのApplicationDataに入れとけばいいだけじゃ?
0717デフォルトの名無しさん
05/01/25 22:03:34ToolButton1.Left := 100;
こんな感じでやると位置は変わるのですが
ボタンをクリックするとVisibleとかEnabledがめちゃくちゃになりバグります。
やり方が間違ってるのでしょうか?
0718デフォルトの名無しさん
05/01/25 22:07:31iniに対して言ってるんだよ、いちいち・・・..ボケ
0719デフォルトの名無しさん
05/01/25 22:18:57はいまだにWin3ユーザだとみた
0720デフォルトの名無しさん
05/01/25 22:37:290721デフォルトの名無しさん
05/01/25 22:40:380722デフォルトの名無しさん
05/01/26 00:23:18メモリ大杉でブートできないかも
0723デフォルトの名無しさん
05/01/26 01:11:37てかそのまえにPC98版のWinしか持ってねーや
0724デフォルトの名無しさん
05/01/26 01:17:58自作ソフトウェアをダウンロードしてもらったりその感想貰ったりするのって
すげぇええぇえ嬉しいのね!
0725デフォルトの名無しさん
05/01/26 01:20:330726デフォルトの名無しさん
05/01/26 01:24:56人間が鍛えられるよな。> ユーザからの要望
0727デフォルトの名無しさん
05/01/26 01:27:01なにを血迷ったかDelphi 2005 Proを買ってしまいました。
お金ある時にはがき来たもんですから。。。
ところで、UNLHA32を簡単に使いたいんですが、
2005でも使えるコンポーネント、またはユニットありませんかね。。。
0728デフォルトの名無しさん
05/01/26 01:37:090729デフォルトの名無しさん
05/01/26 01:41:060730デフォルトの名無しさん
05/01/26 01:46:24「Common Archivers Library - 統合アーカイバ・プロジェクト 開 発 室」のは?
Delphi 2005 Proで使えるかは知らないけど。
0731デフォルトの名無しさん
05/01/26 02:22:52バグゥー大杉ー、2005ポンドー、某ランド所属ー。
0732デフォルトの名無しさん
05/01/26 02:36:33なんとなくできそうですけど、
エラーになった時点でお手上げ
当方その程度のスキル・・
0733デフォルトの名無しさん
05/01/26 03:25:370734デフォルトの名無しさん
05/01/26 03:40:390735デフォルトの名無しさん
05/01/26 03:52:110736デフォルトの名無しさん
05/01/26 04:05:07単純に入れ替えをするだけなら、これで出来ましたけど。
TForm1.Button1Click>ToolButton2.Left:= -ToolButton1.Left;
TForm1.Button2Click>ToolButton1.Left:= ToolButton2.Left;
0737デフォルトの名無しさん
05/01/26 04:07:230738デフォルトの名無しさん
05/01/26 04:09:410739デフォルトの名無しさん
05/01/26 04:12:420740デフォルトの名無しさん
05/01/26 09:42:590741デフォルトの名無しさん
05/01/26 11:39:15EmbeddedWbを使うにはどうしたらいいでしょうか?
インスコしようとすると
[エラー] IEUtils.pas(49): 未定義の識別子 : 'Unassigned'
[エラー] IEUtils.pas(52): 未定義の識別子 : 'VarArrayCreate'
[エラー] IEUtils.pas(53): 未定義の識別子 : 'VarArrayLock'
[エラー] IEUtils.pas(53): ポインタ型が必要です
[エラー] IEUtils.pas(54): 未定義の識別子 : 'VarArrayUnlock'
[エラー] IEUtils.pas(63): 未定義の識別子 : 'VarIsArray'
[エラー] IEUtils.pas(64): 未定義の識別子 : 'VarArrayHighBound'
[致命的エラー] embeddedwb.pas(32): 'IEUtils.pas' ユニットはコンパイルできませんでした
と出るんですが
Delphi6Personalだと問題無くインスコール出来ました。
0742デフォルトの名無しさん
05/01/26 11:48:580743デフォルトの名無しさん
05/01/26 12:35:260744デフォルトの名無しさん
05/01/26 15:36:20未定義の識別子となってしまいます。KOLのフォーム上で利用するには
何かしなければならないのでしょうか。
0745デフォルトの名無しさん
05/01/26 15:41:280746デフォルトの名無しさん
05/01/26 15:56:57使ってくれ。コメントだけでも良いぞ
0747デフォルトの名無しさん
05/01/26 16:14:110748デフォルトの名無しさん
05/01/26 16:16:35相手が分からないと分かっててわざと分からない事を言ったり
嫌味ったらしくグダグダ書いたり。
とか言いつつ俺はKOL使った事ないから教える事はできないけどw
0749デフォルトの名無しさん
05/01/26 16:18:05日本語で書けよ
お前アホだろ
0750デフォルトの名無しさん
05/01/26 16:51:130751デフォルトの名無しさん
05/01/26 17:32:32(存在が)くだらないスレですから。
0752デフォルトの名無しさん
05/01/26 17:50:34マジレスすると、KOLを使うな。
0753744
05/01/26 18:05:23>>752さんの言う通り、KOLを使うのはやめようと思います。
私には扱うのも難しかったですし(・ω・`)
それではまたヾ(´・ω・`)ノ
0754デフォルトの名無しさん
05/01/26 18:20:15Variantの宣言かけ
以上
0755デフォルトの名無しさん
05/01/26 18:31:02もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
0756デフォルトの名無しさん
05/01/26 19:59:21「なにがわからないのか」がわからない質問者なんかに答えることなんてできないぞ。
0757デフォルトの名無しさん
05/01/26 20:06:500758デフォルトの名無しさん
05/01/26 21:04:19放物線ってどうやって書くのか
0759デフォルトの名無しさん
05/01/26 21:15:53数学だめでもExcel出来るべ?
0760デフォルトの名無しさん
05/01/26 21:19:560761デフォルトの名無しさん
05/01/26 21:43:470762デフォルトの名無しさん
05/01/26 21:55:09小学生?(放物線は中学で習う)
0763デフォルトの名無しさん
05/01/26 22:24:06なんか最近代案厨というのが流行っているのか
0764デフォルトの名無しさん
05/01/26 22:58:310765デフォルトの名無しさん
05/01/26 23:00:30残念!!!!!!!!!!
0767デフォルトの名無しさん
05/01/27 00:42:180768デフォルトの名無しさん
05/01/27 08:33:27( ゚Д゚)
0769デフォルトの名無しさん
05/01/27 10:32:52回答する義務はないよ。
0771デフォルトの名無しさん
05/01/27 10:55:010772デフォルトの名無しさん
05/01/27 11:00:230773デフォルトの名無しさん
05/01/27 11:01:280774デフォルトの名無しさん
05/01/27 11:02:37こっちが真の初心者スレになってるからな。
0775デフォルトの名無しさん
05/01/27 11:11:35全部初心者に押し付けるなんて凄いね。
あ、なるほど。君みたいな初心者が増えたのなら仕方ないね^^;
0776デフォルトの名無しさん
05/01/27 11:17:40初心者質問なんかここ数日ないだろ? レベル低い質問と初心者質問とは違う
最近のDelphiに嫌気さしてユーザ辞めてく人が多いのに、入門者がいないんで
この板の厨房スレも閑散としてるわな。
0777デフォルトの名無しさん
05/01/27 11:24:400778デフォルトの名無しさん
05/01/27 12:19:07D8からはDelphiに飛びつく人はDel房だけだろうし
.NETするならVCL.NETなんかよりFrameWorkのオブジェクト覚えた方がいいし、
バージョンアップは期間2段階設けて値段変わるし、
前Verのバグはほったらかしで新Ver出すし、
業界じゃDelphi開発するする企業は更に減っていくだけだし、
結局ホビーユーザー向けに成り下がってるのにエンタープライズ版なんかあるし、
ヘルプは手抜きだし、
日本HPも手抜きだし、
電話対応悪いし、
声がオタクっぽいし、
風呂の温度がずれてるし、
ヘソのピアス跡が痛々しいし、
中だしは拒否するし、
マットは下手だし、
たまに時短するし、
0779デフォルトの名無しさん
05/01/27 13:38:22del5だけで業界生きてきた俺には次何すりゃ良いのさ?
やっぱC++とかビジュアルC・・・? つーかそこらへんの違いもわからねぇ・・・
0781デフォルトの名無しさん
05/01/27 13:50:07>ほんとにもう駄目かもわからんね
駄目でしょう。長角出るまではなくなることはないにしても。
0782デフォルトの名無しさん
05/01/27 13:50:59俺Delphi初心者だけどCとC++とVC++は書けるぞ。
0783デフォルトの名無しさん
05/01/27 13:55:340784デフォルトの名無しさん
05/01/27 13:59:04あなたの中で「初心者」はどのように定義されてるのですか?
0785デフォルトの名無しさん
05/01/27 13:59:46何だよ「初心者質問」って。(´゚c_,゚`)
0786デフォルトの名無しさん
05/01/27 14:00:45俺はdel5一本でやってきたのさ。
昔にCはやったことあるけどいまいち出来てなかった。
で、数年後del5に救われた俺だがそれも消えつつあるのか。
0788デフォルトの名無しさん
05/01/27 14:01:46>>785
自分で考えたら。スレ違いだけど
0789デフォルトの名無しさん
05/01/27 14:03:490790デフォルトの名無しさん
05/01/27 14:16:340791デフォルトの名無しさん
05/01/27 14:34:23大抵2本だけど流れもあるし楽しめればそれも◎
0792デフォルトの名無しさん
05/01/27 16:09:54エラーの出てるUnitのusesにVariantsを書け。
usesが見つからなかったらUnit毎に検索しろ。
検索はCtrl+Fだ。出てくるダイアログの入力場所に"uses"のタイプしろ。
タイプの仕方がわからなかったら、パソコン教室に通え。
以上
0793デフォルトの名無しさん
05/01/27 16:16:180794デフォルトの名無しさん
05/01/27 17:22:15ボタンの位置は変わるのですが、enabledやvisibleがめちゃくちゃになります。
ToolButtonを3つ作って、ToolButton1のEnabledをFalseにして
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
ToolButton1.Left := toolbutton3.Left;
end;
を実行すると位置は変わりますが、ボタンをクリックすると
ToolButton1とToolButton2のEnabledがFalseになります。
どうしてですか?
0795デフォルトの名無しさん
05/01/27 17:24:380796デフォルトの名無しさん
05/01/27 17:39:20自分は全削除・全追加で逃げた。
0797デフォルトの名無しさん
05/01/28 02:13:45MailA
commentA(ここが複数行の場合がある)
NameB
MailB
commentB
・・・
のように続くデータを繰り返し処理するときはどうすればいいですか
途中が複数行になる場合があるのでNameをTstrings.Lines[i*3]とかで取得できません・・・
0798デフォルトの名無しさん
05/01/28 02:17:20それが分かればかいけつなんじゃないの?
0799デフォルトの名無しさん
05/01/28 02:17:26繰り返し、どうしたいの?
「複数”行”」って、どういう意味?
0800デフォルトの名無しさん
05/01/28 02:26:21前もって行数を指定しておく
NameA
MailA
CommentCount=3
comment1
comment2
comment3
NameB
MailB
CommentCount=1
commentB
・・・
Commentを一行にまとめる。Comment := TStringList; Comment.CommaText := lineで取得。
NameA
MailA
comment1,comment2,comment3
NameB
コメントの終端を決めておく。ただし"[ENDOFCOMMENT]"というコメントを入力されると誤動作する。
NameA
MailA
comment1
comment2
comment3
[ENDOFCOMMENT]
NameB
0801デフォルトの名無しさん
05/01/28 02:32:20たとえば
NameA[#0]MailA[#0]commentA[#0]NameB[#0]MailB[#0]commentB[#0][#0]....NextEec
当然バイナリとして扱う、テキスト定型に展開する処理も必要
あくまで一例であってどういう構造にするかは作者の勝手
0802797
05/01/28 02:33:57このままだとどうしようもなさそうなので構造から変えることにします
0803デフォルトの名無しさん
05/01/28 08:37:38流れる文字列を表示するにはどうすればいいですか?
ニュースの字幕みたいなことをしたいんですが…。
0804デフォルトの名無しさん
05/01/28 09:35:45文字列の末尾にただ連結させたいんですがどうしたらいいのでしょうか
0805デフォルトの名無しさん
05/01/28 10:15:46Delphi8 にしといた方がいいっすかね…。
まだ買えるのかな、Delphi8。
0806デフォルトの名無しさん
05/01/28 10:19:14ひとつの手段としては、タイマー使ってLeftを-1すれば良い
0807デフォルトの名無しさん
05/01/28 10:33:02Count-1 を使えば? n が駄目なんだよ
0808デフォルトの名無しさん
05/01/28 10:36:16Marquee Delphi でググってごらん、たくさんコンポがあるよ
0809デフォルトの名無しさん
05/01/28 10:38:56ぜんぜん問題なくできるが?
0810デフォルトの名無しさん
05/01/28 10:42:19Delphi8 は Delphi.NET 専用だよ。いまどき使ってる人いないよ
0811デフォルトの名無しさん
05/01/28 10:46:24ColorプロパティがFontの中しか見つからないので。
ホントすいません、お願いします。
0812デフォルトの名無しさん
05/01/28 10:49:130813デフォルトの名無しさん
05/01/28 10:51:230815デフォルトの名無しさん
05/01/28 11:03:51var aaa: TStringList;
begin aaa := TStringList.Create;
〜〜〜
aaa[n] := aaa[n] + 'っうぇうぇ';
0816デフォルトの名無しさん
05/01/28 11:05:520817デフォルトの名無しさん
05/01/28 11:06:380818デフォルトの名無しさん
05/01/28 11:07:10nの値は何
StringListに1行もデータないんじゃないのか?
0819デフォルトの名無しさん
05/01/28 11:10:14ありがとうございますお騒がせしました
0820デフォルトの名無しさん
05/01/28 11:38:52Image1 := TImage.Create(Application);
Image1 := TImage.Create(nil)
それぞれの違いを教えてください
0821デフォルトの名無しさん
05/01/28 11:44:27Owner について知りたければヘルプをどうぞ
0822デフォルトの名無しさん
05/01/28 14:22:21その文字列の簡単な説明が書いてあるウインドウ?を表示させたいんですが
どうしたらいいんでしょうか?
0823デフォルトの名無しさん
05/01/28 14:26:180824デフォルトの名無しさん
05/01/28 15:59:28なんか漠然とし過ぎっつーか、どういうファイルの文字列の事言ってるの?
0825822
05/01/28 16:36:53その中のキャラクターのプロフィールを表示する画面で
あらかじめ作成しておいた辞書みたいなものに登録した単語の内容を
そのプロフィール画面で簡単に見れたら便利かと思って作ろうとしたんですが・・・。
ファイルはテキストファイルで多くて50行ぐらいの文章です。
辞書に登録する単語数もそれほど多くならないと思います。
0826デフォルトの名無しさん
05/01/28 16:41:41D2005で.Net切れば現状では一番いい。
なんだかんだ言いながらD2005は使ってる人多い。
Delphi Configuration Managerでさらに使用するのだけ絞れば
さらに安定度は増す。
でも、いろいろやるの面倒な人はD7使っとけ。(D8は論外じゃ!!)
0827デフォルトの名無しさん
05/01/28 16:42:35onMouseClick or onMouseMoveでポインタの座標上の単語を調べて
動的にフォームを作成して表示、引数にその単語を渡してFormShowで表示
どうもスマートじゃないな・・
0828デフォルトの名無しさん
05/01/28 16:53:21よ〜わからんが、俺ならこうする。
ヒント出したいコントロールのShowHintをTrueにして、TApplicationEventsをはっつける。
OnShowHintって言うのがあるからそこで説明のヒントを書くべし。
ヒント出したい単語はTStringListやらのクラスで読み込むときになんか目印でもつけとけ。
Hint出すたびに文字列を走査してたんじゃ遅いからな。でも50行ぐらいならそれでもよし。
0829デフォルトの名無しさん
05/01/28 18:36:42以下のコードだと全角・半角が混在した際に正しく取得できません。
MidStr関数しか出てこないのですが、何かほかに適切な関数などあるのでしょうか?
ShNM : String;
cntNM: Integer;
for cntNM := 1 to Length('AAaa') do
begin
ShNM := MidStr('AAaa',cntNM,1);
end;
0830デフォルトの名無しさん
05/01/28 18:41:19Upperなどで大文字にした文字バッファ内で検索して文字位置を得る
それと、検索はPosだろ
0831説明下手ですいません
05/01/28 18:43:15>>828さん
なんとかやってみたいとおもいます
ありがとうございました。
0832デフォルトの名無しさん
05/01/28 18:47:45やり方はま〜人それぞれとして。
これでやってみな。
var
ShNM : WideString;
cntNM: Integer;
begin
for cntNM := 1 to Length('AAaa') div 2 + 1 do
begin
ShNM := MidStr('AAaa',cntNM,1);
ShowMessage(shNM);
end;
end;
0835829
05/01/28 20:17:17文字列は英数ひらがなカタカナ何でも入る仕様です。
MidStrだとバイト数で持ってきてしまっているようなので、
WideString型の文字を一つづつ取れる方法は無いのでしょうか?
調べているのですがみつからないです(泣
0836デフォルトの名無しさん
05/01/28 20:20:44>829の[質問文]だけみると一文字ずつのループはstring[nn]でいいんじゃないの?
特定文字列ならpos、copy、UpperかLowerで駆使しながら繰り返す
マルチバイト文字考慮するなら、それようにすればいい
大文字小文字=マルチバイト文字と勘違いはしてないよね?
0837デフォルトの名無しさん
05/01/28 20:21:58カーソルが一番下にきてしまいます。
これを一番上にもって来るにはどうすればいいですか?
selstart:=0だめでした。
0838デフォルトの名無しさん
05/01/28 20:22:160839829
05/01/28 20:31:26↓でなんとかとってこれました。
ShNM := Copy(WideString('AAaa'),cntNM,1);
すすすいません;
0840デフォルトの名無しさん
05/01/28 22:22:21フレームで1行つくって動的に行数分生成してってやってるんだけど、激しく重い......orn
グレープシティーのDenpyoManみたいなコントロールがあればいんだけど、
なんかいい作りかたないでしょうか?
0841デフォルトの名無しさん
05/01/28 22:44:040842デフォルトの名無しさん
05/01/28 22:44:45意味不明
0843デフォルトの名無しさん
05/01/28 22:54:03hogehAogeAkgewpkgapkA
この文字列中にある「A」の数を得るには
どうしますか?
0844デフォルトの名無しさん
05/01/28 23:11:04TIPSの「複数行入力できる StringGrid を作成する」のことでしょうか?
これだったら複数行違いです。
>>842
うまく説明できない。
まずは、このコントロール(?)の説明から教えて・・orn
0845デフォルトの名無しさん
05/01/28 23:18:22とりあえずこれで動く
効率化とかは自分で頑張れ
var
Cout: Integer;
begin
end;
0846デフォルトの名無しさん
05/01/28 23:20:51function GetNumberOfChar(const Str:string; Chr:Char):integer;
var
p:PChar;
begin
result := 0;
p := StrScan(PChar(Str),Chr);
while (p<>nil) do
begin
Inc(result);
p := StrScan(p+1,Chr);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToStr(GetNumberOfChar('hogehAogeAkgewpkgapkA','A'));
end;
0847デフォルトの名無しさん
05/01/28 23:21:45おれも>842に同意。グリッドに対して「行」はグリッドの行を指す事になる。
0848845
05/01/28 23:23:57846氏の方法と概ね同じ
0849デフォルトの名無しさん
05/01/28 23:39:18ごめんなさい。ごめんなさい。ごめんなさい。
セル内の文字を複数行(マルチライン)ではないです。
こんな感じです。
ttp://www.hitachi-system.co.jp/aptage/g03/
0850デフォルトの名無しさん
05/01/28 23:44:06フレーム作って独自でやってるとか書いてあるが、その実装方法が問題なんじゃない?
パネルを動的に作ってやったのあるが普通に重くは無い。
0851デフォルトの名無しさん
05/01/28 23:46:08Length(s) - Length(StringReplace(s, c, '', [rfReplaceAll]))
0852デフォルトの名無しさん
05/01/28 23:48:16Gridから別のコントロールにフォーカスを写して戻すと
ScrollBoxのスクロール位置が0に戻ってしまいます。
ScrollBox.ScrollInViewが呼ばれているのが原因みたいなので、
これを無効化したいのですが、
ScrollBoxを継承してpublicにScrollInViewを定義しなおせばいいのでしょうか?
定義する場所を変えたりしてやったんですがどうもうまくいかないのでよろしければご教示下さい。
0853852
05/01/28 23:57:15AutoScrollInViewの方をオーバーライドすればよかったみたいです。
0854デフォルトの名無しさん
05/01/29 00:59:59おいおい、ちゃんと意味わかって使えよ。
StringとWideStringの違いはわかってんのか?
0855デフォルトの名無しさん
05/01/29 05:29:20List : TList;
pi : PInteger;
begin
New(pi);
pi^ := 10;
List := TList.Create;
List.Add(pi);
//中略
List.Free
end;
この場合ってPIntegerに確保したメモリはリストが削除される時に
Disposeしてくれるんでしょうか?
0856デフォルトの名無しさん
05/01/29 05:47:39心配するな、うまい事行ってる、あとは
心配するな
0857デフォルトの名無しさん
05/01/29 06:22:06明示的にDispose(PInteger(p))しないと
0858デフォルトの名無しさん
05/01/29 06:23:47TListが管理するのは、ポインタアドレスでポインタの先は何もしないだろ
Delete時にDisposeしな
0859デフォルトの名無しさん
05/01/29 09:58:121 :
2 :
それぞれのところに複数行ずつ処理を書きたいときはどうすればいいですか
0860デフォルトの名無しさん
05/01/29 10:03:25begin
end;
2:
begin
end;
0861デフォルトの名無しさん
05/01/29 10:54:260862デフォルトの名無しさん
05/01/29 12:51:31Create時やExecuteの先頭でTrueにしている場合、
TMyThread.Create(False);
だけ書いても、Executeで永久ループ等無ければ
ちゃんと破棄されてリーク等はありませんよね?
0863デフォルトの名無しさん
05/01/29 13:06:390864デフォルトの名無しさん
05/01/29 13:29:50MemCheckって初めて使った。
ちゃんと破棄されていたようです、ありがとう。
0865デフォルトの名無しさん
05/01/29 13:36:30I/Oエラーを表示させないようにするには?OnClickイベントではダメみたいでした。
0866デフォルトの名無しさん
05/01/29 13:38:060867デフォルトの名無しさん
05/01/29 13:47:30心配なら、FreeOnTerminateを明示的にtrueにしておけ
0868デフォルトの名無しさん
05/01/29 13:52:381. DBCtrlGridを使う。しかし挙動がおかしかったり、工夫をしないと載せることができない
コントロール(TDBLookupComboBoxなど)があったりして、ちょっと苦労するかも。
2. DBAltGrid
ttp://www.quasidata.com/
3. Developer Express ExpressQuantumGrid Suite
ttp://www.devexpress.com/
0869デフォルトの名無しさん
05/01/29 14:27:13TDriveComboBox.onChangeイベント内で例外捕捉
try
DirectoryListBox1.Drive := DriveComboBox1.Drive;
except //例外処理
showmessage('エラーれすよ');
end;
0870865
05/01/29 14:49:49有難う御座います。でも、ここでエラーしないようです。どうも
ここでは、まだドライブが変更されていないので
>>DirectoryListBox1.Drive := DriveComboBox1.Drive;
は成功するようです。
0871865
05/01/29 15:07:15TDriveComboBox.onChangeイベントは発生しないみたいです。
onClickのところで処理するしかないようです・・・・
0872デフォルトの名無しさん
05/01/29 19:08:04俺はDbAltGridを使用している(翻訳英語でいろいろでも直ぐにサポートしてくれるから)
けど、Gridがいやな人もいるのでそんな人にはDBCloneGridを使用している。
0873872
05/01/29 19:09:57○翻訳英語でも直ぐに回答してくれて、サポートしてくれるから
0874デフォルトの名無しさん
05/01/29 19:59:33DriveComboBox でのシステムエラーのハンドリング
ttp://www.borland.co.jp/qanda/delphi/d0000064.html
0875デフォルトの名無しさん
05/01/30 00:05:34ストリームで
ファイル数
ファイル名長
ファイル名
JPEGバイナリ長
JPEGバイナリ
の様にするつもりだったのですがサムネイル生成後にサムネイルのサイズが変更された場合
ファイルを一番頭から書き直す以外修正方法はないのでしょうか?
アドバイスお願いします
0876デフォルトの名無しさん
05/01/30 00:10:550877デフォルトの名無しさん
05/01/30 00:14:50A := 関数(x1,x2,…);
↑配列
見たいな?
0878デフォルトの名無しさん
05/01/30 00:16:080879デフォルトの名無しさん
05/01/30 00:16:49新しいサムネイルのサイズが減るだけならそのまま上書きする、
サイズが増えるならそのブロックは放置してファイルの末尾に追加、
放置されたブロックは後から他のデータで再利用できるなら利用する。
あとはサイズが多少増えてもいいように最初からちょっと多めに取っておく。
どの程度のマージンがあればいいのかはかは統計を取ってみて決める。
0880デフォルトの名無しさん
05/01/30 00:18:220881デフォルトの名無しさん
05/01/30 00:19:33出来ない。レコード・クラス・配列なんかで無理やり複数返すか
関数(var ret1: integer; var ret2: string; out ret3: double);で引数に返したい値をセットする。
0883デフォルトの名無しさん
05/01/30 00:23:320884デフォルトの名無しさん
05/01/30 00:25:40なるほど
変更後のバイナリで飛ぶ位置を保存すればいいのですね
ありがとうございました
0885デフォルトの名無しさん
05/01/30 00:27:16ありがとうございます。
0886デフォルトの名無しさん
05/01/30 00:32:290887デフォルトの名無しさん
05/01/30 02:13:410888デフォルトの名無しさん
05/01/30 02:33:400889デフォルトの名無しさん
05/01/30 05:57:34実行後にウィンドウサイズを変更すると、いきなり落ちるのはどういった
事が考えられるでしょうか?
内容は「デバッガ例外が発生 〜アドレスFFFFFFFFに対する読込違反」
です。フォームの設定かコードの問題かさっぱり分かりませんです…
0890デフォルトの名無しさん
05/01/30 06:13:320891デフォルトの名無しさん
05/01/30 06:21:08怪しげなイベントハンドラにブレーク張りまくってステップ実行。
0892889
05/01/30 06:42:11>>890
説明がラフですいません。
特定のprocedureを実行した後だけです。
tabシートの中にStringGridを貼り付けていて
その中に検索結果を表示させるだけなのですが、
表示終了後にウィンドウサイズを変更した時落ちるんです。
>>891
リサイズのイベントは拾っていません。
まだ拾ってるイベント自体いくつもありません
0893デフォルトの名無しさん
05/01/30 07:02:00検索や表示内容部位は不要でTabSheetやGridを設定してるところ晒してみ
0894デフォルトの名無しさん
05/01/30 11:35:30StringGrid - tabシート…とだんだんコントロールを外していってシンプルな形にしていって
どれを外したときに落ちるのかを検証して原因を特定汁。
0895sage
05/01/30 12:25:42それ配列でメモリ確保してないところに値をいれようとしてない?
var s: array of string;
begin
SetLength(s, 10);
end;
とやってるのに
s[11]:= 'hoge';
とやろうとするとそういう事になった気がする。
実際に上のコードを打ち込むと「インデックスが範囲を超えた」って趣旨のエラー文が出るんだが
for i:=0 to 11
s[i]:= 'hoge';
とかやってると「アドレスが…」というエラー文が表示されて大いに困惑する。
だったはず。
もう一度グリッドのインデックス周り中心にコードを見直してみては?
ほかに配列変数使ってるならそっちも。
0896デフォルトの名無しさん
05/01/30 12:26:45あげてしまってすいません。
0897デフォルトの名無しさん
05/01/30 14:26:32>特定のprocedureを実行した後だけです。
自分で原因書いてるじゃん。
0898デフォルトの名無しさん
05/01/30 14:43:32インターネットに接続していないと、
ConnectionErrorとかダイアログが出てきますが、
あのメッセージを自分で変更できないのですか?
また、表示させない設定にはできないのでしょうか?
ご存知の方、よろしくお願いします。
0899デフォルトの名無しさん
05/01/30 17:25:370900デフォルトの名無しさん
05/01/30 19:24:110901デフォルトの名無しさん
05/01/30 20:29:230902デフォルトの名無しさん
05/01/30 20:42:050903デフォルトの名無しさん
05/01/30 22:38:080904デフォルトの名無しさん
05/01/31 00:13:02ってスレがあるのに…。
次に書いたらマルチポストって言われるのに…。
0905デフォルトの名無しさん
05/01/31 02:19:230906デフォルトの名無しさん
05/01/31 09:23:350907デフォルトの名無しさん
05/01/31 10:51:43ShellTreeView1.Path:~'C:\Windows';
とすると少し待たされます。どうにかなりませんか?
起動時にパスを選択したいのですが、上のようにすると起動が遅くなるので何とかしたいのです。
0908デフォルトの名無しさん
05/01/31 11:56:290909デフォルトの名無しさん
05/01/31 12:04:38C:\Windowsにはファイルがいっぱいあるだろ?それを表示してる処理が遅いとか?
またShellTreeView1の表示はフォルダだけ?
たとえば全ファイルとかなら、TreeViewのアイテムが増えるわけだから、その分遅くなる。
0910デフォルトの名無しさん
05/01/31 12:34:440911デフォルトの名無しさん
05/01/31 12:48:380912デフォルトの名無しさん
05/01/31 12:53:530913907
05/01/31 13:00:59BIOSでフロッピー切ったら速くなったわい。
Delphiのせいのようなんでソースファイル眺めてみるわ。
>908が正解かな、他のコンポーネントも探してみます。
みなさん見当違いのレスありがとうございました。
0914デフォルトの名無しさん
05/01/31 13:06:26それにフロッピーにアクセスしてるのはShellTreeViewじゃないと思うぞ
0915907
05/01/31 13:22:42別に切れてませんよ。ちょっと人とのコミュニケーションに慣れてないだけです。
私のPCにはフロッピーは付いてないんで、カシャカシャと音は鳴りませんです。
もう少し勉強いたします。ありがとうございました。
0916デフォルトの名無しさん
05/01/31 13:28:00ヘルプ読んでもよくわかりませんでした。
0917デフォルトの名無しさん
05/01/31 13:30:12質問しといて>>913みたいな書き方は異常っぽいから
普通に敬語のままとかにしたほうが良いよ。
0918デフォルトの名無しさん
05/01/31 13:31:270919デフォルトの名無しさん
05/01/31 13:33:44氏ね。二度と質問するなカス。
てめぇなんかプログラミングやめちまえよ無能。
0920デフォルトの名無しさん
05/01/31 14:01:26NewTabSheet =TTabSheet.Create(PageControl1);
NewTabSheet.PageControl :=PageControl1;
0921デフォルトの名無しさん
05/01/31 14:17:55そもそもフロッピーアクセスでストレス掛かるのは、装置の応答の間であって
この間にガシャガシャとアクセス音がする、装置が付いてなければ起こらない。
更に浅はかなのは、BIOS切って解決って?使うユーザーが貴方だけって事になるし、
アプリとしての品質は悪い。
0922デフォルトの名無しさん
05/01/31 14:24:410923デフォルトの名無しさん
05/01/31 14:44:30わあ、そんなスレが・・・
0924デフォルトの名無しさん
05/01/31 15:42:56CreateOleObjectに成功したか、Variantの値で判定したいのですが
nilじゃ互換性のない型としてエラーが出ます。
Unassignedで判定すればいいのですか?
var hoge Variant;
if hoge = nil then ×互換性のない型
if hoge = Unassigned then エラーは出ないけどあってるかわからない。
0925デフォルトの名無しさん
05/01/31 15:58:05CreateOleObjectの戻り値はIDispatch
0926デフォルトの名無しさん
05/01/31 16:09:080927デフォルトの名無しさん
05/01/31 16:14:000928デフォルトの名無しさん
05/01/31 16:16:23dp: IDispatch;
v: OleVariant;
label Ahhh;
begin
dp := CreateOleObject('オナニー');
if dp = nil then goto Ahhh;
v := dp;
// いっぱい愛撫
Ahhh:
// フィニッシュ
end;
0929デフォルトの名無しさん
05/01/31 16:31:08関数の返り値の型をどう定義すれば良いかわかりません。
const array1: array[0..1] of array[0..1] of String = 省略;
const array2:: array[0..2] of array[0..2] of String = 省略;
(省略)
if 条件 then Result := array1 else Result := array2;
こんな感じにしたいのですが、
配列定数で返すのは不可能なのでしょうか。
動的配列に組みなおすのはサイズが結構大きいため
時間がかかりそうなので避けたいのです。
0930デフォルトの名無しさん
05/01/31 16:37:26自分でType〜endの型定義
Object Pascalは型に(ry
0931デフォルトの名無しさん
05/01/31 16:37:410932デフォルトの名無しさん
05/01/31 16:43:11ポインタにすればいいけど、呼び出し元でどっちが返ってきてるのか判断するようにしないといけない
0933デフォルトの名無しさん
05/01/31 16:47:08>>931
0934デフォルトの名無しさん
05/01/31 16:50:25array1型とarray2型を定義しても
関数の返り値に指定できるのは1つだけだったと思うのですが。
申し訳無い、始めてまだ1月も経ってないため、
理解できてない部分が多いので勘違いしていたら聞き流してください。
>>931
こう言う場合に record/case 使えばいいのですね。
ありがとうございました、試してみます。
0935デフォルトの名無しさん
05/01/31 17:03:23array1とarray2を含む独自の型を定義する
あるいは参照渡し(var)で戻り値を得る
便乗質問だけどrecord/caseって何?
0936デフォルトの名無しさん
05/01/31 17:19:09あれをDelphiで利用するにはどうすればいいですか?
0937デフォルトの名無しさん
05/01/31 17:27:17レコードの一部のフィールドの型を切り替える仕組み。
レコードのヘルプ嫁。
0938929, 934
05/01/31 17:30:19record/case を試してみましたが (6.0では)
String には使用できないようです。
ですが数値関係には利用できるので半分は問題が解決しました。
ありがとうございました。
String の方に何か方法が無いか record 周り含めて Help を
もうちょっと読み込んで見ます。
0939デフォルトの名無しさん
05/01/31 17:34:51こんなの初めて知った、どうもです
>>938
ヘルプ読んだところStringは
String[n]とかarray[0..255] of Charで対応できそう
0940デフォルトの名無しさん
05/01/31 17:38:140942929, 934
05/01/31 17:45:15これも時間とメモリサイズのトレードオフになるのですね。
仕方ないか。
0943デフォルトの名無しさん
05/01/31 18:12:370944デフォルトの名無しさん
05/01/31 18:26:35もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
0945デフォルトの名無しさん
05/01/31 19:46:10んで、DataTextに表示させるTextのことで困っています。
Pageが変わるごとにDataTextに違う値を放り込みたいのですが、どうしてもできません。
DataFiledにReport.CurrentPageを入れれば
ページ数が表示されているので、できるとは思うんですが・・・
1個ずつクリエイトしていては激重なのでどうにかしたいんです。
ヒント下さいお願いします。
0946デフォルトの名無しさん
05/01/31 21:15:06キー入力を反映させる前にSelTextをある変数に控えておきたいのです。
例えばBackSpaceを押下する場合、OnSelectionChangeなどでは
範囲選択された文字をすべて消してしまってからイベントが発生してしまうので、
当然SelTextの中身は空っぽ。
EN_SELCHANGEなんかを捕まえてもだめだし、もうよくわかりません。
どうにかしてください。
0947デフォルトの名無しさん
05/01/31 22:01:43あなたが問題としてるイベントでこの変数を使えばいい
0948デフォルトの名無しさん
05/01/31 22:03:20範囲選択したときに保存すればいいんじゃないの?
そういう「動き」じゃなくて、そういう事をなぜしたいのかという、
用途というか目的を書いた方がよい
0949946
05/01/31 22:20:23>>947
常に控えるやり方も試してみたんですけど、
「常に控えている」だけに、使う時には既にもう空っぽなのです。。。
>>948
なるほど。
複数回アンドゥ/リドゥ機能を実装したいと考えています。
そこで、「テキストに何かしらの変更かあったとき、どの部分が変更されたか」
を控えておく必要があったのです。
>範囲選択したときに保存
これ、よさそうですね。「範囲選択した時」のタイミングを得る方法さえわかれば・・・
ちょっと調べてみます。。
0950デフォルトの名無しさん
05/02/01 00:02:07DelphiのTRicheEditは1.0なんだよねー。
2.0用のpasファイルはあるのにね。
0951デフォルトの名無しさん
05/02/01 00:28:30http://www.globetown.net/~threadbuilder/RichEdEx.txt
はっきりいってしょぼいので、参考にする程度にしてね。
0952デフォルトの名無しさん
05/02/01 01:53:19lIniFile : TIniFile;
***.pas(***):未定義の識別子 : 'TIniFile'
なんで?
考えうる原因を教えてください。
ここに至るまでのセミコロンとかbegin endがおかしいとかそういうオチ?
0953デフォルトの名無しさん
05/02/01 01:54:510954デフォルトの名無しさん
05/02/01 01:59:23Uses節にIniFiles を追加。
「へりくだれ」とは言わないけど、もう少し大人な質問の仕方が
あると思う…。
0955デフォルトの名無しさん
05/02/01 02:02:29すいません&ありがとうございますです…。気をつけます。
0956デフォルトの名無しさん
05/02/01 02:12:46Canvas.Pixels[x,y]
という話じゃなかったら場所って何か説明しろ
0957デフォルトの名無しさん
05/02/01 02:41:22すいません、えっとデスクトップとか今画面に開いてるものの色です
0958デフォルトの名無しさん
05/02/01 02:47:47GetWindowDC、TCanvas、Pixelsあたりを検索してみてください。
0959デフォルトの名無しさん
05/02/01 04:53:070960デフォルトの名無しさん
05/02/01 07:08:22それを他のフォームに反映させるにはどうすればいいですか?
0961デフォルトの名無しさん
05/02/01 09:38:43Form1を移動させたりリサイズするとForm2に反映。uses Unit2;
ソース汚くてスマソ。
----------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormResize(Sender: TObject);
protected
{WMMoveメッセージの処理}
procedure WMMove(var msg: TWMMove); message WM_MOVE;
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
0962デフォルトの名無しさん
05/02/01 09:39:58procedure TForm1.WMMove(var msg: TWMMove);
var
hForm2: HWND;
Rect:TRect;
Form2_Top,Form2_Left,Form2_width,Form2_Height:Integer;
begin
{Form2のハンドルをhForm2へ取得}
hForm2:=FindWindow(nil,'Form2');
{Form2の位置情報をRectへ取得}
GetWindowRect(hForm2,Rect);
{Rect情報からForm2の縦横幅を算出}
Form2_width := Rect.Right - Rect.Left;
Form2_Height:= Rect.Bottom - Rect.Top;
Form2_Top := Form1.Top;
Form2_left:= Form1.Left;
{Form2のハンドル(hForm2)へForm1のウインドウの位置座標(Form1_LeftとForm1_Top)をそっくり送る
縦横幅(Form2_widthとForm2_Height)は現状維持させる}
MoveWindow(hForm2,Form2_left,Form2_Top, Form2_width,Form2_Height,True)
end;
{Form1のサイズが変更された時はonResizeで}
procedure TForm1.FormResize(Sender: TObject);
begin
{Form1の縦横幅(width,Height)をForm2へ反映}
Form2.Width := Form1.Width;
Form2.Height:= Form1.Height
end;
end.
0963デフォルトの名無しさん
05/02/01 10:19:43begin
FormResize(nil);
end;
でいいんでないの?
0964デフォルトの名無しさん
05/02/01 10:30:13begin
Form2.Top := Form1.Top;
Form2.Left := Form1.Left;
end;
か。
0965デフォルトの名無しさん
05/02/01 10:53:29むかし同じ事をしたことがあるけど、確かlinesをいじるとエラーが出ない?
0966デフォルトの名無しさん
05/02/01 17:53:31>>958
トン
0967デフォルトの名無しさん
05/02/01 17:54:52>>959
あり
0968デフォルトの名無しさん
05/02/01 19:03:260969デフォルトの名無しさん
05/02/01 19:04:56うざ
0970デフォルトの名無しさん
05/02/01 19:12:360971デフォルトの名無しさん
05/02/01 21:00:56ほ
0972デフォルトの名無しさん
05/02/01 21:06:39procedure TForm1.FormCreate(Sender: TObject);
begin
main_img.Picture.LoadFromFile('title.bmp');
story_lbl.Caption := ('')
name_lbl.Caption := ('')
serihu_lbl.Caption :=('')
end;
この文字列のstory_lblのところは正常に動きますが、name_lblとserihu_lblのところで
“演算しまたはセミコロンが必要です”とエラーが出ます。プロパティはnameのところ
以外変えてません。どうしたらいいでしょうか?
0973デフォルトの名無しさん
05/02/01 21:10:150974デフォルトの名無しさん
05/02/01 21:17:19また、その中で特定の文字列が先頭にあるファイル数を取得するにはどうすればいいんでしょうか?
0975デフォルトの名無しさん
05/02/01 21:17:55あっ…。ありがとうございます。
激しく基本的なことが抜けてました。
0976デフォルトの名無しさん
05/02/01 21:47:28出るよ。コメントにも書いてあるよ。
0977デフォルトの名無しさん
05/02/01 22:00:55ファイル数のカウント方法。
後は何とかなるでしょう。
var
sr:TSearchRec;
I:integer;
begin
I := 0;
if FindFirst('C:\*.*',faDirectory,sr) = 0 then //C\にあるファイルチェック。
begin
repeat
I := I + 1 ; //ファイルを見つけるたびに1づつ足していく。
until findnext(sr) <> 0 ;
end;
FindClose(sr);
end;
0978デフォルトの名無しさん
05/02/01 22:02:09begin
with Apple do
処理;
end;
end;
こんな感じのprocedureがあって、
そこではAppleに関することだけしか処理しません。
なので「with Apple do」が当たり前すぎるのですが、
どうにかしてさっぱりさせる事はできませんか?
0979デフォルトの名無しさん
05/02/01 22:14:17こんな風に書ければいいなぁ、という希望例を示さないと。
0980デフォルトの名無しさん
05/02/01 22:36:53begin
処理;
end;
とか?
0981978
05/02/01 22:37:19えーと、こんな感じにしたいです。
procedure with Apple TForm1.ForApple;
begin
処理;
end;
もしくは、
procedure TForm1.ForApple;
with Apple do
begin
処理;
end;
どうですか?
0983デフォルトの名無しさん
05/02/01 23:07:44begin with Apple do begin
処理;
end end;
このくらいで我慢しといて。
0984デフォルトの名無しさん
05/02/01 23:13:310985978
05/02/01 23:29:19くだすれならではという事で許してください。
自分には無駄で省略したい事も、
他人にとってはそうではなかったりするんだなって思いました。
レスありがとうございました。
0986デフォルトの名無しさん
05/02/01 23:38:18そして、それは多分無理
オレも省略好きだが、withはバグを生みやすいから気を付けろ
0987デフォルトの名無しさん
05/02/01 23:40:54最近delwiki?というものを読んだが賛否あるみたいですね
0988デフォルトの名無しさん
05/02/01 23:47:38見づらくなるしややこしい
たまに
with xx do
begin
for ...... do
begin
....
....
with yy do
begin
....
with zz do
begin
....
超ムカツク
0989デフォルトの名無しさん
05/02/01 23:59:09with TWinControl(FTmpControl).Controls[i] do
Caption := Caption + IntToStr(Tag);
TWinControl(FTmpControl).Controls[i].Caption :=
TWinControl(FTmpControl).Controls[i].Caption
+ IntToStr(TWinControl(FTmpControl).Controls[i].Tag);
一時変数を使え? ごもっとも。
0990デフォルトの名無しさん
05/02/02 00:33:41withの中のプロパティには先頭にドット付ける書き方。
0991デフォルトの名無しさん
05/02/02 02:32:45やっぱり、せいぜい二段くらいまでしか使わない。
でも、そこまでするくらいならさっさと一時変数にしてスッキリさせる方向だよね。
0992デフォルトの名無しさん
05/02/02 08:12:160993デフォルトの名無しさん
05/02/02 11:24:27ttp://www.vector.co.jp/soft/win95/writing/se196641.html?y
これ使っているんですが
Printer.Canvas.TextOutと一緒に印刷したいときどうすればいいのでしょうか?
クリップボード使うとなんかエラーがでます。
0994デフォルトの名無しさん
05/02/02 11:29:27描くだけなのでは
0995デフォルトの名無しさん
05/02/02 11:39:14DLLのヘッダファイルを読むと
extern "C" _declspec(dllimport) __time64_t #関数名#();
という定義になっていました。
この関数は日付を返す関数で、戻り値の型が __time64_t となっています
この値をTDateTime型に変換する方法を教えて下さい。
0996デフォルトの名無しさん
05/02/02 11:50:47動作するんならKylix要らなくなるとか。
0997デフォルトの名無しさん
05/02/02 13:12:270998デフォルトの名無しさん
05/02/02 13:16:490999デフォルトの名無しさん
05/02/02 13:32:46自分もBCB/Del使っててもスレは見なくなったな。
1000デフォルトの名無しさん
05/02/02 13:35:0910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。