( ゚Д゚)ノ ギコ猫のプログラム相談室part3

このエントリーをはてなブックマークに追加
1新米ギコ
  __
 J_†_|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (@`@`゚Д゚) < 新天地開拓、なんでもオレに聞け!
Π ̄ ̄ ̄| \
|つ 布教 ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
前のスレ http://mentai.2ch.net/test/read.cgi?bbs=prog&key=963328406
2名無しさん@お腹いっぱい。:2000/08/11(金) 01:30
この板、閑古鳥が鳴いているようですが、どうすれば人が増えますか
3名無しさん@お腹いっぱい。:2000/08/11(金) 01:38
SDKを勉強を始めた所です。
関数とか構造体とかが覚えれないんですが、意識的に覚える方が
良い? 慣れて自然に覚える方が良い? どっち?
4名無しさん@お腹いっぱい。:2000/08/11(金) 05:34
とりあえず「覚える」という発想はやめたほうが宜しいかと。
学校のテストとかと違って、いくら本見ようがカンニングしようが
カット&ペーストしようが平気よん。
いちいちAPIの仔細まで記憶する必要などありません。
#現に私もWinMain関数どんなだったか思い出せないし(w

とにかく何でもいいのでコーディングしませう。
5名無しさん@お腹いっぱい。:2000/08/11(金) 06:01
>3
必要なときに、必要なドキュメントが引ければ、それで良し。

英語は読めた方が便利だけどな。
6名無しさん@お腹いっぱい。:2000/08/11(金) 08:56
こういうスレッドうざいな。
sage
7>6:2000/08/11(金) 09:02
同感です。1が来てからプログラム板が荒れましたです。
8新米ギコ:2000/08/11(金) 10:43
  __
 J_†_|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (@`@`゚Д゚) < >>2 産めよ、増やせよ、細胞分裂。 気長に待て!
Π ̄ ̄ ̄| \
|つ 布教 ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>3 言語の仕様は覚えろ! 関数はリファレンス引け!
Π ̄ ̄ ̄| \_____________
|つ 理解 ()
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>4-5 お勤めご苦労さん!
Π ̄ ̄ ̄| \_____________
|つ 感謝 ()
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>6 このれすむかつく〜♪ sageだ!
Π ̄ ̄ ̄| \_____________
|つ sage ()
| |___.|
  ∪∪
  ノ/∧ ∧ヽ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川 ̄з ̄|| <   >>7 同感です。 7が来てから荒れましたです
  〜(@`@`⊃ ノ⊃  \______________
  (__)_)
>>6 このれすむかつく〜♪ sageだ!
>>7 同感です。 7が来てから荒れましたです
新米ギコがギコらしくなってきたぞ!

新米ギコさんに
もっとモナー語を使って欲しいのですが、どうしたらいいですか
10名無しさん@お腹いっぱい。:2000/08/11(金) 15:12
sageで書けば下がると思ってる、6=7みたいなバカは
プログラマ板から出て来ないで欲しいな。
11名無しさん@お腹いっぱい。:2000/08/11(金) 15:39
class test{
public static void main(String args[]){
System.out.println("hoge\b");
}
}
の出力結果はhogeなのに、
class test{
public static void main(String args[]){
System.out.println("hoge\bhoge");
}
}
の出力結果はhoghogeなのはなぜですか?

初めの出力結果がhogではなくhogeな点が疑問です。
12>11:2000/08/11(金) 16:22
2番目の出力結果は hoghoge ではなく あくまでも"hoge\bhoge"です
ただ\bによりカーソルが1つ戻ってeが見えないだけですよ。
1311じゃないけど:2000/08/11(金) 16:31
そっか、\bは[BS]じゃなくて[←]だったのか。(概念的に)
勉強になりました。

#java知らないんで、俺も理由がわからなかったのよん
1413:2000/08/11(金) 16:38
>java知らないんで
単に、試せなかっただけです。

Cでも試してみたら、同じ結果でした(Win)。
ボケてました。すみませんです。
15名無しさん@お腹いっぱい。:2000/08/11(金) 17:05
変数名の一番始めの文字や一番最後の文字でアンダーバー_を使うときの
技術者の意図を教えて下さい。VBからJAVAに転向してきたばかりの私は
たじろぐばかりです。

例>変数名の最後に_を使っている例。_が初めにある場合についても知りたいです。

public class Company {
public Company(Owner owner@` Account account) {
owner_ = owner;
account_ = account;
}

public void addEmployee(Person person) {
employee_.addElement(person);
}

private Person owner_;
private Person account_;
private Vector employee_ = new Vector(); // Vector
}
16名無しさん@お腹いっぱい。:2000/08/11(金) 17:17
_がはじめについているのは、C言語でこれはコンパイラ(システム)独自の
関数だよ〜ということを示すための関数に使われていることが多い。

最後についているのは知りません。
ただ、そのソースを見る限りではこの変数はインスタンスであることを示すために
つけているものと思われます。
(ちょっと用語があやしい・・・)
17名無しさん@お腹いっぱい。:2000/08/11(金) 17:20
C++の場合だけど・・・
メンバ変数と一時変数(引数)の名前が、
普通に考えると同じになってしまうので、
最後にアンダースコアをつける流儀があると聞いた事が
あるような、ないような。
18名無しさん@お腹いっぱい。:2000/08/11(金) 17:36
みなさん、ありがとうございました。
かなり納得しました。

それでは、ディレクトリ名の一番始めがドット.になっているものを
たまに見掛けますが、それはどのような意図によるものなのでしょうか?
質問ばかりですみません。
19名無しさん@お腹いっぱい。:2000/08/11(金) 18:06
UNIX系のOSでは、ドットから始まるファイルは隠しファイルっす。
ディレクトリ名をドットから始める理由はしらないっす。
20UNIX野郎:2000/08/11(金) 18:46
Netscapeは.netscapeというディレクトリを作ります。このなかに
キャッシュとかクッキーとかその他もろもろの設定ファイルなどがあり
ます。そのファイルを手作業でいじることはあまりないので隠しディレ
クトリになってるんじゃないかなぁ?隠しだとファイルを見るコマンドls
にaオプションを付けないと見れません。通常はlsだけ。するとドットか
ら始まるファイルやディレクトリは見えない。
21名無しさん@お腹いっぱい。:2000/08/11(金) 20:23
英語で「コメントにする」「コメントをはずす」は、
"comment" "uncomment" でいいんでしょうか?
あと「コメント化」「非コメント化」という言い方ってあります?
22名無しさん@お腹いっぱい。:2000/08/12(土) 02:14
_で始まる名前は処理系が使うのでユーザーは使ってはならんことになっておったと思うが…?
23名無しさん@お腹いっぱい。:2000/08/12(土) 07:29
Javaでは、privateメソッドの頭に、_ を付けて書く流儀があります。
C の #define に相当するものがないので、これでも大丈夫です。
24delete this:2000/08/12(土) 07:40
って、OKでちゅか?
25>23:2000/08/12(土) 08:12
あったっけ、そんな流儀?
26名無しさん@お腹いっぱい。:2000/08/12(土) 10:17
ないでしょ
27cafe:2000/08/12(土) 12:51
VBよりVCの方が速いようですが、なぜなんでしょうか?
たいして違わない気もしますが。
28名無しさん@お腹いっぱい。:2000/08/12(土) 14:32
VC=ネイティブ
VB=仮装マシン
VBはちょっと違うが、こんなイメージでいいとおもうよ。
2923:2000/08/12(土) 14:33
×流儀
○流派
鬱だ仕事しよ
30>27:2000/08/12(土) 14:39
単純な演算とかさせるならVBもネイテブコードを吐かせられますから
そんなに変わらない場面もあると思います
ただVBだと単純な整数で良い所にvariantを使ってしまう
コントロールや外部DLLをどうしても使う
VBの便利な構文の多くは遅い
31名無しさん@お腹いっぱい。:2000/08/12(土) 17:15
・・・ギコ出てこないなぁ
32名無しさん@お腹いっぱい。:2000/08/12(土) 19:26
コミケ遠征組なんだろ。わらぃ
33新米ギコ@遠征はしない:2000/08/12(土) 23:31
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< >>9 無理モナー
  (    )  \_____
  | | |
  (__)_)
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ΛΛ    < 余計な手間取らすなゴラァ!
(゚Д゚Λ)_Λ  \____________
( ̄⊃ ´∀`)
| | ̄| ̄
(__)_)
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>10 sageの意味が一意だと思ってる君は逝ってもらいたい
Π ̄ ̄ ̄| \
|つ 晒し ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>10 最近はhageがトレンドだ!
Π ̄ ̄ ̄| \
|つ ほげ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
34新米ギコ@遠征はしない :2000/08/12(土) 23:37
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>13-14 勉強あるのみ、そして逝け!
Π ̄ ̄ ̄| \
|つ 騙れ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>15 単なる名前だ! つーか、書いたやつにキケ!
Π ̄ ̄ ̄| \
|つ フメイ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>18 どっとこむといっしょでトレンドだ!
Π ̄ ̄ ̄| \
|つ 隠し ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>21 out of コメント!
Π ̄ ̄ ̄| \
|つ *アウト ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
35新米ギコ@遠征はしない:2000/08/12(土) 23:47
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>24 ギコbasicだと、 イッテヨシ ジブン!
Π ̄ ̄ ̄| \ ツーカ、分かって使うならヨシ!
|つ ウソ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) <  >>27 コンパイラとインタプリタの違いを
Π ̄ ̄ ̄| \    レポート用紙300にまとめて提出だ!
|つギコンパ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) <  >>29 鬱は病気だ! 病院へ逝け!
Π ̄ ̄ ̄| \  
|つお疲れ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) <  >>30 休日の昼間にPCの前に入るな!
Π ̄ ̄ ̄| \  
|つ ヒッキー ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
36新米ギコ@遠征はしない:2000/08/12(土) 23:51
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) <  >>31 ネコは入れん! ニャ-
Π ̄ ̄ ̄| \  
|つネコデス()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) <  >>etc 解決解答御苦労様!
Π ̄ ̄ ̄| \  
|つ 感謝 ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
37しー:2000/08/13(日) 08:47

     __  オハヨ
     J_†_|__   
    /(*゚Д゚)/)/\
  /| ̄∪∪ ̄|\/
    |   ╋   |/
     ̄ ̄ ̄ ̄ 
38名無しさん@お腹いっぱい。:2000/08/13(日) 18:20
なんだ、やっぱり荒らしてるだけじゃないか。
39名無しさん@お腹いっぱい。:2000/08/13(日) 21:07
mentaiが落ち杉です・・・どうしたらよろしですか?
・・・あとメインのとこも・・
40新米ギコ:2000/08/14(月) 00:15
    ∧ ∧         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄( ゚Д゚) ̄ ̄|   <  >>37 おやすみ!
|\⌒⌒⌒⌒⌒⌒\   \
|  \           \    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\  |⌒⌒⌒⌒⌒⌒|
  \ |_______|

  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>38 mentai落としたのも俺の仕業だ!
Π ̄ ̄ ̄| \
|つ ハカー ()   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>39 2ch卒業だ!
Π ̄ ̄ ̄| \
|つ 蛍ノ光()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
41名無しさん@お腹いっぱい。:2000/08/14(月) 01:56
>40
2ちゃんがDOSアタック食らってたってのホントだったの?
42名無しさん@お腹いっぱい。:2000/08/14(月) 13:18
なんかこっちのほうが雑談板になってるなあ。
43名無しさん@お腹いっぱい。:2000/08/14(月) 17:16
class ArrayArgument {

public static void main(String args[]) {

// 変数を初期化する
int x[] = { 11@` 12@` 13@` 14@` 15 };

// 変数を表示する
display(x);

// メソッドを呼び出す
change(x);

// もう一度変数を表示する
display(x);
}

public static void change(int x[]) {
int y[] = { 21@` 22@` 23@` 24@` 25 };
x = y;
}

public static void display(int x[]) {
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
System.out.println("");
}
}

これの出力結果は

11 12 13 14 15
11 12 13 14 15

こうなるのですが、

なぜ

11 12 13 14 15
21 22 23 24 25

にならないのですか?
44名無しさん@お腹いっぱい。:2000/08/14(月) 17:17

11 12 13 14 15
11 12 13 14 15

こうなるのですが、

なぜ

11 12 13 14 15
21 22 23 24 25

にならないのですか?
45むふ〜ん:2000/08/14(月) 18:44
君はスコープの意味がわかるかな?

changeメソッドで変化したのはメソッドに渡した配列であって、
元の配列xは変化しません。

11 12 13 14 15
21 22 23 24 25
こう表示したいなら
class Test{
public static void main(String[] args){
/*String t = "1@`2@`3@`4@`5";

StringTokenizer st = new StringTokenizer(t@`"@`");
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}*/

// 変数を初期化する
int x[] = { 11@` 12@` 13@` 14@` 15 };

// 変数を表示する
display(x);

// メソッドを呼び出す
x = change(x);

// もう一度変数を表示する
display(x);
}

public static int[] change(int x[]) {
int y[] = { 21@` 22@` 23@` 24@` 25 };
x = y;
return x;
}

public static void display(int x[]) {
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
System.out.println("");
}
}
46むふ〜ん:2000/08/14(月) 18:46
を、さっきの検証プログラムがコメントに入ってるな。
むはは。
47>45:2000/08/14(月) 19:52
つーか、changeの引数xの意味は何ね?
むしろ、これじゃこのメソッド自体無意味。

ってか、Javaはよく知らないのだが、参照渡しは出来ないのか?
48名無しさん@お腹いっぱい。:2000/08/14(月) 20:16
>changeメソッドで変化したのはメソッドに渡した配列であって、
>元の配列xは変化しません。

でも、こうすると、

public static void change(int x[]) {

x[0] = 21;
x[1] = 22;
x[2] = 23;
x[3] = 24;
x[4] = 25;

}

出力結果は、

11 12 13 14 15
21 22 23 24 25

になるんですよ。
49>48:2000/08/14(月) 23:06
それはポインタの指している先の内容を書き換えてるからです。
xを書きかえるのとxの指している先を書きかえるのとの違いです。
50むふ〜ん:2000/08/15(火) 00:34
Javaでは参照による値渡しは出来ません。
>むしろ、これじゃこのメソッド自体無意味
そう、まさにそのとおり。
質問者によくわかるように彼のテンプレートをそのまま使ったんだけどね
51名無しさん@お腹いっぱい。:2000/08/15(火) 03:09
>50
「参照による値渡し」の説明をおねがいしたいのですが。
52名無しさん@お腹いっぱい。:2000/08/15(火) 03:44
Javaは全てにおいて値渡し。
オブジェクトを渡しても、渡されるのは参照ではなくて
参照の値なのですなぁ〜〜(~¬~)
53名無しさん@お腹いっぱい。:2000/08/15(火) 05:34
>52
それは、Cのように参照渡しはポインタの値渡しで解決しているという
ことですか?
マシン語レベルまで行くと、どっちみち、参照渡しといっても、アドレ
スなど、具体的な値を渡さなくちゃいけませんが、そういうレベルの話
ですか?
5453:2000/08/15(火) 05:41
あと、オブジェクトを渡す場合は普通、参照を渡すんでなくて、値
を渡すと、私の場合は思うんですけど、Javaはオブジェクトを渡す
ときも参照渡しなんですか?
参照渡しと参照の値渡しを区別しないでの話ですが。

なんどもすいません。よろしくお願いします。
55名無しさん@お腹いっぱい。:2000/08/15(火) 06:20
Cの参照渡しはアドレス渡し。
[ポインタ]→[実体]
このポインタ渡す時に渡される引数は
[引数]→[実体]
な関係

Javaでのオブジェクト変数はオブジェクト実体への参照
[オブジェクト変数]→[実体]
このオブジェクトを引数に渡す時、引数は
[引数]=[オブジェクト変数の値のコピー]→[実体]
なわけ

違ってたらスマソ
5655:2000/08/15(火) 06:23
あ、上の[オブジェクト変数の値のコピー]っていうより
[オブジェクト変数が指す実体へのアドレスのコピー]のほうがいいかも
57名無しさん@お腹いっぱい。:2000/08/15(火) 06:27
class MyObject{
  int a;
}
public void f(MyObject obj){
  obj=new MyObject();
}
↑全くの意味なし(w

public void g(MyObject obj){
  obj.a=5;
}
↑これは意味ある。
5853>55:2000/08/15(火) 06:42
なるほど、よくわかりました。
ありがとうございます。

Cのほうの説明は、Cの参照渡しはポインタをつくって渡しますから
foo(&var);
としたとき
[仮引数用に作られたポインタ]→[var]
[引数]=[仮引数]→[var]
ということになるでしょうか。あと
int* p@` v; p=&v;
foo(p);
も、Cの場合は参照渡しというふうに呼ぶこともあるので、って、話
がそれちゃいますね…

Javaの場合は、変数が参照なので(一般にバイトコードは、整数型
などは変数が直接値を持っているおもいますが)いわゆる値渡しと
いうのは考え方が存在しないわけですね。
5953:2000/08/15(火) 06:50
>57
その例の場合、f()は、参照のコピーを渡す場合も、ポインタの値を
渡す場合も、値をわたす場合も意味が無いってことですね?

f()に意味があるとすれば、Cの場合は変数へのポインタの参照
(つまりポインタへのポインタ)が渡ってきた場合と、C++で言う
参照が渡ってきた場合、ということでしょうか。
6055:2000/08/15(火) 06:58
Cだとそんな感じですかねぇ・・

Java では57の例のようにメソッド内で仮引数の参照を変えるような
ことをしなければ問題はあまり起こらないですねぇ〜〜
だから値渡しとか参照渡しとかいちいち考えなくて良いのが楽です( ̄ー ̄)

配列もオブジェクトなので、そこらへんは始めは迷うところですよね〜〜
でも、Javaでもたまに参照渡しできたらいいなぁと思うこともありますよ。
オブジェクト生成を含めたコードを一括して処理したい時とかね〜〜
6155:2000/08/15(火) 07:01
57のはCだと意味ありますよ〜〜
f(int *p){
  *p=3;
}
とかだったらね〜〜

・・・Cは地震がないけど
6253>55:2000/08/15(火) 07:02
なるほど、すっきりしました。
ありがとうございました。
6353>61:2000/08/15(火) 07:04
57の例を61に置きかえると
f(int*p){
 int v;
 p=&v;
}
って感じでかんがえてました。
64名無しさん@お腹いっぱい。:2000/08/15(火) 11:17
public void f(MyObject obj){
  obj=new MyObject();
}

このようにこの中でnewすると、全く別のobjになって
MyObject objの宣言がローカル変数の宣言と化すという意味ですか?

----------------------------------------------------------

public void g(MyObject obj){
  obj.a=5;
}

これは参照渡しではないのですか?
65名無しさん@お腹いっぱい。:2000/08/15(火) 11:58
VC++での質問なんですが、スクロール可能なビューに動的に生成された
エディットボックスがいくつか配置されており、それらのエディットボッ
クスの間はタブで移動することが出来るとします。
このとき、タブでフォーカスを与えるコントロールが現在の表示領域の
外にあることがありますが、それを検査し、ビューをスクロールしてそ
のコントロールを表示領域内に表示する方法を教えて欲しいのですが。

VC++6.0ProSP4 + NT4.0でMFCを使って開発してます。

ところで、この質問に関する愚痴。
別に、読まなくてもいいですが、暇ならどうぞ。
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=951366463&st=249&to=249&nofirst=true
66名無しさん@お腹いっぱい。:2000/08/15(火) 14:04
MFCでCRegKeyクラスを使うときって、
どうすれば良いのですか?
67>66:2000/08/15(火) 14:19
「どうすれば」と訊かれても、何をどうしたいのですか?
6866>67:2000/08/15(火) 16:39
申し訳ありません。
このクラスをどう使うか分からなかったので(クラス自体理解がいまいち)、
こんなことを書きましたが、これじゃ分かるわけありませんね。
すみませんでした。
申し訳ついでといってはなんですが、
今、出てきた疑問点を質問させて下さい。
CRegKey::SetValueを使用してレジストリにバイナリで
書き込むにはどうすれば良いのでしょうか?
DWORD値や文字列では書き込めたのですが。

69名無しさん@お腹いっぱい。:2000/08/15(火) 17:14
>>65
コントロールをサブクラス化して
WM_SETFOCUSが来たら親にメッセージを送るってのは駄目なん?
70名無しさん@お腹いっぱい。:2000/08/15(火) 17:26
昨日からC言語を勉強しはじめました。
time(&start);
time(&end);
jikan = end - start;
としても、小数以下が計算されません。
start@`end@`jikanをfloatで定義すると怒られます。
どうやったら10.25秒、といったカタチで得られるのですか?
71>70:2000/08/15(火) 17:29
time()で得られる time_t 型の時刻は1秒単位です。
7270:2000/08/15(火) 17:35
なるほど…。
それならば別の関数を利用しないといけないんですね。
標準ライブラリの中でそれの出来そうなものが、ぱっと見て
見つけられません。

もう少し考えてみます。
分からなかったらまたよろしくお願いします。
73>71:2000/08/15(火) 17:37
昔はそうだったけど、今はそうとは限らないようです。

>>70さんは環境を書いた方が適切なコメントが得られるかもしれません
7470:2000/08/15(火) 17:58
>73さん

ありがとうございます。
私の環境は、VC++の一番安い奴の学割版です。
環境ってこのことでいいのでしょうか?

いまMSDNライブラリという奴を眺めていたら_ftimeというのが
なんとなくそれらしく思えてきました。
ちょい頑張ってみます。
7570:2000/08/15(火) 18:00
あぁ、でも標準ライブラリっていう奴じゃないのかな。
使わない方がいいものなんでしょうか?
76新米ギコ:2000/08/15(火) 18:20
    ∧ ∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (@` ゚ 3 ゚)  < >>75 何事も経験、逝ってよし!
  ヽ/ つ旦)~~  \_____________
  (_ __)
     ^
7765:2000/08/15(火) 18:31
実は、他人が作ったプログラムだったりしたんですが、よく見たらエディット
コントロールではなくリッチエディットコントロールになってた。

>69
取りあえず、そんな感じでやってみてます。
ただ、親にメッセージを送る、ではなく、コントロールのイベントハンドラ
で直接処理してるような感じですが。
これで、何か問題あるなら教えて下さい。

ところで、基本的にMFCは嫌いだけど、派生により容易にサブクラス化が出
来るのは楽でいいね。
7873>70:2000/08/15(火) 19:02
それならclock(void);がたぶんあると思います
7970>78:2000/08/15(火) 19:34
ありがとう。満足行くように動きました。
感謝です。
8065:2000/08/15(火) 21:32
取りあえず、解決しました。
足し算と引き算を間違えてえらい目に遭ってたけど。

教訓:
デバッガをよく活用しよう。
頭の中だけで計算しようとしないこと。
81名無しさん@お腹いっぱい。:2000/08/16(水) 21:33
エクセルでセルにABCと入力して次に
違うセルにAとだけ入力すると勝手に
BCが反転表示で付け足されます。

このような機能をVBでやりたいのですが
教えてください。
82名無しさん@お腹いっぱい。:2000/08/16(水) 22:42
それの何を教えてほしいのかはっきりさせなさい。
83名無しさん@お腹いっぱい。:2000/08/16(水) 23:32
>82

誰に言っているのかはっきりさせなさい。(なんちて)
84スタックダンプって:2000/08/17(木) 11:17
デバッガさんに言われるのですが、どういうことなのでしょう?
85新米ギコ:2000/08/17(木) 12:21
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>84 デバッガさんがきちんと仕事してるっつーことだ!
 UU ̄ ̄ U U  \_____________
86未練:2000/08/17(木) 14:27
昨日あった「知り合いに管理頼んでたんだけど外国いっちゃうので誰かおねがい」スレ
どこいった?きえたのかな。
87新米ギコ:2000/08/17(木) 15:46
 ∩ ∩
 | ∪ |
 |  〜
 | ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | i @`@`゚Д゚) <  >>86 http://mentai.2ch.net/test/read.cgi?bbs=prog&key=966411771
 U U    \________
88未練:2000/08/17(木) 16:10
あ、あっちの板だったのか、スマソ
89名無しさん:2000/08/17(木) 19:09
マルチスレッドな状態で、同じプロセス内の他のスレッド(ウィンドプロシージャ
のあるスレッド外)から、コモンコントロールへSendMessageするとデットロック
してしまいますが、このような使い方はしてはいけないのでしょうか?
また、回避するにはどうすれば良いのでしょうか?ちなみにPostMessage
では戻り値が使えないためNGです。
90>89:2000/08/17(木) 19:30
>指定されたウィンドウが呼び出し側のスレッドで作成されているとき
> ウィンドウ プロシージャはサブルーチンとしてすぐに呼び出されます
>指定されたウィンドウが異なるスレッドで作成されているとき、
> Windowsはそのスレッドに切り替え、 適当なウィンドウ プロシージャを
> 呼び出します
とあるので、それだけが悪いんじゃないように思います。具体的にはどうしたのですか?
91>90:2000/08/17(木) 19:54
たとえば

class CAAA {
CListBox m_ListBox;
};
====

UINT ThreadProc(LPVOID lpParam)
{
(CAAA*) pAAA = (CAAA*)lpParam;
char str[64] = "STRING";

while(1) {
pAAA->m_ListBox.AddString(str);
Sleep(100);
}

}

ってやるとロックしませんか?
※スレッドから抜けられなくなるのは分かってて書いてます。
9291>90:2000/08/17(木) 19:58
すみません、ウソ書いてるみたいです。
もうすこし、整理してきます。
93名無しさん@お腹いっぱい。:2000/08/18(金) 04:30
意味わからん
94教えてファイルロック:2000/08/18(金) 04:30
CGI板のスレを見ましたが、Cでファイルロックする方法がイマイチわかりませんでした。
で、結局こんなコードを書いています。(エラー処理は捨象し、SIGTERM以外の終了
シグナルは考えない)

#include <stdio.h>
#include <signal.h>
#include <unistd.h>

#define LOCKFILE "mylock"
#define DUMMYNAME "dummy"

int main(void);
void clearout(int sig);

int lockkeep;

int main(void){
lockkeep = 0;
signal(SIGTERM@` clearout);
while(symlink(DUMMYNAME@` LOCKFILE));
/* gap */
lockkeep = 1;

/* critical */

remove(LOCKFILE);
return 0;
}

void clearout(int sig){
if(lockkeep) remove(LOCKFILE);
exit(1);
}

ですが、/* gap */ で示したところでSIGTERMが発生した場合にデッドロック
します。もしくは /* critical */ の部分でも、ハンドリングできないシグ
ナルを受信するなどしてプロセスが死んだ場合にもデッドロックしてしまいます。
もちっとマシなコードにするにはどうすればいいですか?
95名無しさん@お腹いっぱい。:2000/08/18(金) 12:07
class ExceptionBase{
.....
}
class ExceptionA : public ExceptionBase{
....
}

void hoge()
{
throw new ExceptionA;
}

int main()
{
try{
hoge();
}catch(ExceptionBase* e){
....
}

とした場合、hogeで投げた new ExceptionA はメモリリークには
ならないのでしょうか?
96>95:2000/08/18(金) 12:15
なるんじゃない? 電源onでズッと使わないアプリで、
めったに投げないならリークしても問題無いだろうけどね。
だから手を抜いてもいいとは思わないけど、まあ忘れても軽症かな

で、正しいやり方は知ってる?
97名無しさん@お腹いっぱい。:2000/08/18(金) 13:05
参照で受けるのが王道じゃなかったか?
EffectiveC++辺りに何か書いてあったぞ。
9895>96,97:2000/08/18(金) 13:40
>で、正しいやり方は知ってる?
知らないです。
参照でやろうとしたらキャストがうまくいかず、
ここで聞いてしまいました。
EffectiveC++は持っているので、どの辺に書いてあるのか
教えていただけたら嬉しいです。

9995:2000/08/18(金) 13:43
Javaみたいにやりたいんですけどダメですかね…
10097:2000/08/18(金) 14:43
ん〜、今手元にないからな‥‥‥家帰れば分かるんだけど。
Moreの方だったかもしれない。
例外辺りで索引漁ってみるといいかも。
101_finefirstって:2000/08/18(金) 15:20
_findfirst使っているファイルと同じフォルダしか探しに行かないのでしょうか?
それともマシン全体を探し回ってくれるの?
10296:2000/08/18(金) 15:57
class MyErr{public:int no; MyErr(int n){no=n;}; };
int main(int argc@`char *argv[])
{
try{
 switch(*argv[1])
  {
  case '1': throw 1;//エラじゃなくてトラップ機構を使いたい場合は整数型が楽
  case '2': { throw MyErr(2); };   //参照渡しの場合
  case '3': { throw new MyErr(3); }; //ポインタ渡しの場合
  }
  }catch(const int ErrNo){printf("%d"@`ErrNo);}
  catch(MyErr const &Err){printf("%d"@`Err.no);}
  catch(MyErr *Err){printf("%d"@`Err->no) ; delete Err;};//deleteが必要
return 0;
}
103>101:2000/08/18(金) 16:01
ええと、その_findfirstってDOS? ならそのディレクトリだけだろね
10495>96:2000/08/18(金) 16:47
ありがとうございます。解決しました。

#include<iostream>
using namespace std;

class ExceptionBase{
public:
    int no;
    ExceptionBase(int n){no = n;}
};

class ExceptionA : public ExceptionBase{
public:
    int no2;
    ExceptionA(int n@`int n2):ExceptionBase(n){no2 = n2;}
};

void hoge(void){
    throw ExceptionA(10@`20);
}

int main(void){
    try{
        hoge();
    }catch(ExceptionBase e){
        cout<<"1:"<<e.no<<endl;
    }
    return 0;
}
10596>104:2000/08/18(金) 16:55
うーん。 コピーしてるんだね 駄目とは言わないけど コピーコンストラクタはどうするの?
10696:2000/08/18(金) 17:05
ええとチョット詳しくね
  catch(ExceptionBase e)の所でコピーされるのは判るよね?
 この時、デフォルトのコンストラクタが呼ばれる。
 >>104は問題なさそうだけど、そのままにしとくと問題出そうでしょ?
 だから参照で渡しとく方が安全だよ
10797>95:2000/08/18(金) 17:49
手元にEffectiveC++はありますか?
あれば、直接自分で探してみるといいと思いますが。
10895>96@`97:2000/08/18(金) 23:19
中途半端なところで出来た気になってましたね。
参照渡しにしてもう一度試してみたところ、ちゃんと動いてくれました。
コピーコンストラクタが無い時の動作ってのがよく分かってなかったので、
家に帰ってきてEffectiveC++で調べてみたら……。危ないところをでしたね。
メモリリークがどうのって言ってたのに、これじゃアホみたいですね。
ありがとうございます。本当に助かりました。

ついでに今回気づいたことなんですが、throwする時、参照渡しでもBCCとg++では
コピーコンストラクタが呼ばれました(VC++では呼ばれませんでした)
これは、どちらの動作が正しいのでしょうか?

何度も質問してすいません。
109C言語初心者:2000/08/18(金) 23:38
ウインのアプリをつくりたいのですが、開発環境は何が良いですか?
110Kll pop:2000/08/19(土) 00:00
109
>C言語初心者
VB がラクダと思う
111新米ギコ@逝っちゃてます:2000/08/19(土) 00:09
    ⊂⊃
    ∧ ∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (@` ゚д゚)  <>>109 とりあえず、財布の中身と、頭の中身を見せてみ!
  ヽ/ つ旦)~~  \_____________
  (_ __)
     ^ 
112しー:2000/08/19(土) 02:19

          箱ノ中身?
       ∧_∧
     _(゚д゚*)__ 
    /|  ∪∪ /\
  /| ̄ ̄ ̄ ̄|\/
    |  しぃ  |/     
     ̄ ̄ ̄ ̄ 
113109:2000/08/19(土) 12:17
財布の中身は10万くらい。
プログラム初心者。
114新米ギコ@野生:2000/08/19(土) 13:37
    ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (@` ゚д゚) < >>112 うわ〜、すごいもん入ってるな
  ヽ/   |   \_____________
  (__∪∪)

   ∧ ∧   /
   ( ゚Д゚)< >>113 壱萬円(学割)でBCBを買って残り九萬円でc@`c++@`BCBの本を買えるだけ買え!
    |つ つ  \BCB 参考URL http://www.inprise.co.jp/cppbuilder/index.html
  〜   |
   ∪ ∪
115>109:2000/08/19(土) 17:13
116ヒヨっこ:2000/08/19(土) 18:48
C言語の開発環境の質問しようと思ったけど・・。
115さんのリンク先の見てみます。
117>108:2000/08/19(土) 22:19
(More)Effective C++に載ってると思うけど、
throwするときは確かコピーコンストラクタが呼ばれるほうが正しいはず。
値渡しだと2回呼ばれてしまう(だったと思う)。
118名無しさん@お腹いっぱい。:2000/08/20(日) 01:00
ゲームボーイのソフト(エミュじゃない)を作ろうと思うんですが、
過去に任天堂とかになんか言われたりしたことあるんですかね?
売ったりしたらまずいと思うんですが、オンラインで公開程度だったらどうなるのでしょうか?

ギコ猫、教えろ。
119名無しさん@お腹いっぱい。:2000/08/20(日) 01:03
>118
やってみろ。問題が起きたとしても最初に来る
警告に従ってれば告訴はまずされないからさ。
120108:2000/08/20(日) 05:03
>117
ありがとうございました。これでスッキリしました。
Moreの方は今度買ってこようと思います。
121名無しさん@お腹いっぱい。:2000/08/20(日) 05:04
教えて君で心ぐるしんんですが

Cで2次元配列を関数に受け渡しするにはどうすればいんでしょうか?
ポインタわたすのは解るんですが・・・
いつも解らず結局1次元配列になおしてコーディングしてるんですが
めんどくさいです

void foo(int *)

main(){

foo(&(array[0][0])); //だめな例
foo(array); //だめな例

}

void foo(int array[10][10]){
}

じゃだめなんですよね・・・
122名無しさん@お腹いっぱい。:2000/08/20(日) 05:25
void foo(int (*array)[10])
123名無しさん@1周年:2000/08/20(日) 05:38
void *でもらってキャストして使うってのは…
124名無しさん@お腹いっぱい。:2000/08/20(日) 06:25
void foo(int [][10]);
int array[10][10];
main()
{
 foo(array);
}
125109:2000/08/20(日) 10:58
BCBのプロフェッショナル買ったらまずいですか?
126121:2000/08/20(日) 11:45
たくさんのレスありがとうございました
124の方法で解決しました
他の方法を提案してくださった方にも感謝します
127121:2000/08/20(日) 12:06
あれ?
もしかして124の
int array[10][10];
は大域変数ですか?
128121:2000/08/20(日) 13:05
大域変数ってわけでもないですね
でも、関数に受け渡たした変数を参照すると
途中まであってるのに途中から
セグメンテーションエラーがでる・・・
129>118:2000/08/20(日) 14:17
>ゲームボーイのソフト(エミュじゃない)を作ろうと思うんですが、

エミュレーターではないとのことなので、ROMを作るということですよね?
おそらく任天堂とライセンス契約を結ぶ必要があるのではないでしょうか。
ROMは任天堂を経由して作られ、作られたROMは買取り制となります。(売れ残ったら自分の責任)
あと任天堂によるゲームの審査もありますので気をつけてください。
費用はいくらかかるのかは知りません。安く見ても数千万は必要でしょうね・・・
130>129:2000/08/20(日) 14:34
多分、こういうことでしょ
members.tripod.com/~TeamKNOx/gameboy/gb_cartj.html
131名無しさん@お腹いっぱい。:2000/08/21(月) 14:57
SQLの質問はどこでしたらいいんですか?
グラマ板では叩かれているけど
ギコ教えて♪キャハ♪

132>131:2000/08/21(月) 15:02
タイトルにSQL関係QAとか書いて、自分でスレたてよ
質問内容は2レス目に書いてね
133名無しさん@お腹いっぱい。:2000/08/21(月) 16:18
VC6.0Sp4のCDialogベースのMFCアプリで、ダイアログエディタで張り付けた
ボタンとかダブルクリックすると、「新規メンバを追加できません。」って
でるんだけど、どーすりゃえーのよ?
134名無しさん@お腹いっぱい。:2000/08/21(月) 17:57
クォータニオンについて書かれている、良い「文献」、御存知でしたら
ぜひ教えて下さい。今日中規模書店(しかない)でみてきたのですが
見つからなくて・・数学関係じゃないのかなぁ、そんなわけないよなぁ。
135>133:2000/08/21(月) 18:08
へんだな。普通ならうまくいくけど。
136名無しさん@お腹いっぱい。:2000/08/21(月) 18:13
XMIについて説明してある日本語のサイトってありませんか?
OMGにある仕様書だけじゃわけわからん。
137悪魔くん:2000/08/21(月) 18:58
Cで引数不定長の関数って作れます?

foo(hoge@`1@`2@`3);
foo(hoge2@`10@`11@`12@`13@`14);

みたいな。
教科書には書いてないんだけど、 argv@`argc 使うのカナ?
(コマンドライン引数じゃないってか(笑))
138悪魔くん:2000/08/21(月) 19:16
>137 自己レス

foo(int hoge@` unsigned char *n@` ... )
{
x = n[i]
}

ですな。
すんまそん。 stdio.h 読んだら分かることだった・・・。
139>135:2000/08/21(月) 19:54
普通はうまくいきますが、なんかの拍子でこうなります。
引き続き情報きぼんぬ
140>138:2000/08/21(月) 19:55
うまくいくかもしれないが、ちがうぞ
141悪魔くん:2000/08/21(月) 19:56
>140
うまくいきませんです(藁
考えが甘かった・・・。
142名無しさん@お腹いっぱい。:2000/08/21(月) 21:09
つーか、本物の悪魔くんなのかなぁ
まあ、大抵のシステムで、
foo(int hoge@` ...)
{
  data = *(&hoge + i);
}
で動くと思うけど、普通に考えたら
va_list ap;
va_start(ap@` hoge)
va_arg(ap@` int)

va_end(ap)
だよね。
あ、厳密な使い方はうろ覚えだから。
stdarg.hでも読んでちょ。
143悪魔くん:2000/08/21(月) 21:10
varargs.h で va_dcl やらやってもあきまへん。
型は固定なんだけどなー。
参考資料が見つからないやう。
144可変個引数の実装には:2000/08/21(月) 21:13
va_list@`va_start@`va_arg@`va_end を使うのが正解っス。
具体的にはこんな感じっス。(K&R日本語訳第2版7章3節参照)

func(int hoge@` ...)
{
 va_list ap; /*引数へのポインタ*/

 va_start(ap@`hoge); /* 注参照 */
 printf("%d"@`va_arg(ap@`int)); /*引数取得&apを進める */
 va_end(ap); /*apを開放*/
}

注:
va_stratは、apが最初の「名無し」引数を指すように初期化。
最後の名前付き引数を利用する。
145名無しさん@お腹いっぱい。:2000/08/21(月) 21:27
VisualC++でユーザー定義キーワードとやらを定義するにはどうすれば
良いのでしょうか?要するにHINSTANCEとかもintとかと同様、青色表示
したいのです。御存知の方、教えて下さいませ。
146名無しさん@お腹いっぱい。:2000/08/21(月) 21:31
VCのキーボード配置を変えるのはどうすればいいの?TurboCみたいに
Ctrl+ ***でカーソルになるような配置にしたいんだけど。
147名無しさん@お腹いっぱい。:2000/08/21(月) 21:41
VC++でva_startの実装見てショック受けたの僕だけ?
148>145:2000/08/21(月) 21:54
自分でシコシコ書くより、これ使った方がえーでー
http://www.iseran.com/Win32/FAQ/keywords.html

ダウンロードしてmsdev.exeと同じディレクトリへコピー
色の変え方は、ツール→オプション→書式→色→ユーザ定義キーワード
149悪魔くん:2000/08/21(月) 22:56
値は読んでいました。ええ、読んでいましたとも。
読んだ後にDMAがメモリをクリアしていましたとさ。

あぼーん>自分
150名無しさん@お腹いっぱい。:2000/08/22(火) 02:28
Blt関数の転送範囲指定のRECTって、右下の座標に
なんで+1しなきゃいけないの?
Windows以外もそうなの?
151名無しさん@お腹いっぱい。:2000/08/22(火) 03:15
Apple が Mac Toolbox を作ったときに決めた規則。
MS-Windows と X-Window がまねたことで支配的になった。
152名無しさん@お腹いっぱい。:2000/08/22(火) 08:16
>148さん
おお、これは凄いです。いやぁ、手間が省けました。
ネットでこんなに嬉しいのは久しぶりです。どうもありがとうございました。
153すまっぺ:2000/08/22(火) 19:36
どこに書けばいいのかわからなかったのだけど
The Windows CE eMbedded Visual Tools 3.0
の日本語版ていつ発売されるのでしょーか?
というかポケットPc用のって
Windows CE Toolkit for Visual C++ 7.0?の形で
リリースされるんでしょーか?
154名無しさん@お腹いっぱい。:2000/08/22(火) 22:15
Javaでテキストフィールドが30個あるクラスのテキストフィールドへのアクセスはどうしたら良いでしょうか?
なお、このテキストフィールドはそれぞれ独立しています。
(つまり、後で仕様変更されたときにも大丈夫なように単純に配列に入れると・・・死)

set&getメソッドを30個も作るのめんどいんで、publicアクセスにしちゃっていいでしょうか?
155154:2000/08/22(火) 22:17
(つまり、後で仕様変更されたときにも大丈夫なように。単純に配列に入れると・・・死)
156名無しさん@お腹いっぱい。:2000/08/22(火) 22:19
Pixelって「点」じゃないから、ややこしいよね。
(0@`0)-(1@`1)のRectangleの幅(高さ)って 1? 2?
157名無しさん@お腹いっぱい。:2000/08/22(火) 22:30
QuickDrawの座標は、ピクセルとピクセルのあいだにあるんですね。(へんな日本語だ)
だから(0@`0)-(1@`1)は1x1ピクセル。
158名無しさん@お腹いっぱい。:2000/08/22(火) 22:35
C++の参照って何が便利なんでしょうか?
Cからはじめたので、
「普通にポインタでアドレス渡せばいいじゃん、ていうかそのほうが楽」
って思ってるんですけど・・・
159>158:2000/08/22(火) 22:39
演算子のオーバーロード
160>158:2000/08/22(火) 22:40
参照渡しのメリット

・ポインタ演算を抑制する
・あたかも実体の変数にアクセスしているようにコーディングできる

こんなもんかな。
まぁ、危険なポインタ演算なんか普通しないだろうし、
実体の変数にアクセスしているようにコーディングなんてできようができまいが
どうでもいいって言えばどうでもいいしな。
161>158:2000/08/22(火) 22:41
operator[]の戻り値
162名無しさん@お腹いっぱい。:2000/08/22(火) 23:26
>158
一般にNULLを使う場合はポインタ、そうでなければ参照。
  int& r = *((int*)NULL));
なんてコード書くやつはとどめをさしてよし。
163名無しさん@お腹いっぱい。:2000/08/22(火) 23:31
ポインタを変更しないときは参照で渡せ。笑い。
164名無しさん@お腹いっぱい。:2000/08/23(水) 01:01
COMとか.NETって一体なんなんですか?(藁
165名無しさん@お腹いっぱい。:2000/08/23(水) 01:10
グローバルなアクセス拠点を設けるためにはどんな方法がありますか?

・・・鬱だ、デザインパターンにあるかなぁ・・・
166名無しさん@お腹いっぱい。:2000/08/23(水) 06:26
ブラウザのファイルアップロード機能について勉強したいのですが、
(具体的には、CGIやServletのPOSTメソッド)
MIMEとか、よくわかりません。
サーバに送られた画像ファイルとかは、復元(?)しなければ
いけないのですか?
167名無しさん@お腹いっぱい。:2000/08/23(水) 09:51
質問があります。
動的にクラスの配列を宣言する為に

<Class Name> *pClass = new <Class Name>[<Array Size>];

とやったのですが、これをDeleteする時、

Delete [] pClass;

とやると、コンパイル時には全く問題ないのですが、
デバッグの時にAccess Violationエラーが出ます。
何故かについて手元の資料で調べてみたのですが分かりません。

確保した配列を越えたデータアクセスかもしれないという指摘もあったので、
Deleteする前にポインタのアドレスを1個分戻しても駄目でした。
(デバッグの時に、戻したポインタ先のデータが最後に放りこんだデータと
一致するのは確認しました)
このようなエラーが起こるのに、他にどのようなケースが考えられるでしょうか?
ちなみに使っているのはVC++6です。
168新米ギコ@sage荒氏:2000/08/23(水) 10:01
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>125 高いの買って挫折すると痛いから止めとけ!
 UU ̄ ̄ U U  \_____________
#使いたい機能が入ってるなら買ってもいいかも知れないけどね
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>154 getメソッドで引数渡して何とかしろ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>164 http://piza.2ch.net/test/read.cgi?bbs=tech&key=966837121&ls=50 でこっそり聞け!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>165 rootを乗っ取れ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>166 httpのプログラム本があるからそれ買って勉強だ! 本のタイトルは忘れた(スマン
 UU ̄ ̄ U U  \_____________
169>167:2000/08/23(水) 10:25
どの時点でAccess Violationエラーが発生するのかわからないけど
そのクラスのポインタメンバ変数の扱いがおかしかったりしても出るからねえ。
まずはブレークポイントなどを使って、エラーの発生するところを絞り込む
ところからはじめてみては?
170>169:2000/08/23(水) 10:39
>Deleteする前にポインタのアドレスを1個分戻しても駄目でした。
まさかとおもうけど、そのpClassはnewで得た値のままdeleteしてますか?
うごかしてそうな書き方なので。
171名無しさん@お腹いっぱい。:2000/08/23(水) 12:28
VBのFORMAT関数についての質問です。
下記のように書くと『08』が取得できるのですが
『20』を取得するにはどうしたらよいのでしょうか?
Format("2000/08/23 14:20"@` "MM")
172あでひのつ:2000/08/23(水) 12:40
>171
たぶん"mm"
173名無しさん@お腹いっぱい。:2000/08/23(水) 12:45
>171
"MI"かも。
174新米ギコ@荒氏:2000/08/23(水) 12:50
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>167 デストラクタはどう?
 UU ̄ ̄ U U  \_____________
175171:2000/08/23(水) 12:57
>172
"mm"も"MM"も結果は同じでした。
>173
"MI"では『8I』が返ってきてしまいました。
176新米ギコ@荒氏:2000/08/23(水) 13:26
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>171 へるぷに書いてないのか?
 UU ̄ ̄ U U  \_____________
177名無しさん@お腹いっぱい。:2000/08/23(水) 14:04
AccessのVBAで質問です。
さまざまなツールバー(出来ればメニューバーも)全て使用不可&表示不可
にしたいのですが、どうすればよいかわかりません。多分、どこかのプロパティ
をfalseにすればいいんでしょうけど、どこだかさっぱりで。ナツメ社のVBA
ハンドブックもあたっているのですが今のところみつけられてません。

ギコ猫先生教えて下さいませ。
178きょきょ:2000/08/23(水) 15:00
VBのデータレポートで印刷の用紙サイズがA4で設定されてるんですけど
B4にしたいんです
だれかおしえてください。(涙)
179171:2000/08/23(水) 15:33
>176
ヘルプに書いてありません。
大変困っていますので、わかるかた宜しくお願いします。
180> 171:2000/08/23(水) 15:47
"nn" です。
181名無しさん@お腹いっぱい。:2000/08/23(水) 16:42
実はVBのFORMAT関数ってニューロ&ファジーが内蔵されている

right(Format("2000/08/23 14:20"@` "HH:MM")@`2)
182名無しさん@お腹いっぱい。:2000/08/23(水) 17:31
さらに1/fでゆらいだり・・・
183171:2000/08/23(水) 17:34
>>181
ありがとうございました。助かりました。
184名無しさん@お腹いっぱい。:2000/08/23(水) 19:37
どうやら、2004年には、10GHzのCPUが登場しそうです。
あたしはどうすればいいのですか?
185>184:2000/08/23(水) 20:04
どうもしなくていいです。
または、100GHzのCPUでも作って下さい。
186名無しさん@お腹いっぱい。:2000/08/23(水) 21:30
>184
もっと早いだろな。

早いの、好き?
187167:2000/08/23(水) 22:26
速いレスありがとうございます。

>169

Deleteする時に発生してます。 デストラクタにとんで、その後エラーが出ます。


>170 & 174

恥ずかしながら勉強不足なのでよく分からないのですが、
Deleteする時に何か特にしなければならない処理などがあるのでしょうか?お手数おかけします。
188新米ギコ:2000/08/24(木) 00:09
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>187 デストラクタのソースきぼー!
Π ̄ ̄ ̄| \
|つ ヲイヲイ.()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
189名無しさん@お腹いっぱい。:2000/08/24(木) 00:26
~2ch() {
  delete this;
}
190>187:2000/08/24(木) 00:38
つーかなんでVC++6.0つかってるのに
デバッガで変数の中身チェックしないの?
191>187:2000/08/24(木) 01:41
たとえば
ClassA pClass = new ClassA[2] ;
pClass++ ;
delete[] pClass ;
なんてやっちゃいけないよ、ってこと。
192名無しさん@お腹いっぱい。:2000/08/24(木) 02:26
プログラムに興味を持ったんですが何していいのかわかりません。
C言語やってろ
と言われたのですがそれもよくわかりません。
アドバイスください。お願いします。
193名無しさん@お腹いっぱい。:2000/08/24(木) 02:30
>192
「C言語」「入門」
この二つのキーワードを持つ本を買って勉強しなさい。
194名無しさん@お腹いっぱい。:2000/08/24(木) 02:32
簡素ですね
わかりました
195名無しさん@お胸いっぱい。:2000/08/24(木) 02:32
>192
B木のISAMライブラリーなんかをCでスクラッチするのが
手ごろで面白いと思うぞ。
196>192:2000/08/24(木) 02:33
まずコンパイラを買ってね
197187:2000/08/24(木) 03:29
>187
デストラクタのところには何も書いていないです。


>191
ああ、僕それやってます。
となると、配列へのポインタを動かした後は、
Deleteするまえに何をするべきなんでしょうか?
198>187(191は*忘れた):2000/08/24(木) 03:45
ClassA* pClass = new ClassA[2] ;
ClassA* pTmp ;
pTmp = pClass ;
pTmp++ ; //とかいろいろ
delete[] pClass ;
要するにnewの時と同じ値をdeleteするんです。
199あでひのつ:2000/08/24(木) 08:13
>198
そりゃダメだって。
200199:2000/08/24(木) 08:13
>198 じゃなくて >197 でした。ゴメソ。
201質問君:2000/08/24(木) 14:56
最近msのVisualC++を使い始めた初心者なんですが
他のDCにCBitmapからビットマップをCDCで描画する時、
透明色を指定して転送先に描画したいんですけど、
CDCにそういうメンバが無いみたいなんですが
なにかいい方法がありますか?
CDCのGetPixelとSetPixelVを使って1ドットずつ
描いてみたりもしたんですけど処理が遅くてダメでした

擬古擬古
202名無しさん@お腹いっぱい。:2000/08/24(木) 15:04
VBでリストボックスに最大どのくらいのデーターが格納できますか?
203名無しさん@お腹いっぱい。:2000/08/24(木) 15:55
VCのヘルプをハードディスクに入れてないとき
ハードディスクに入ってない部分を見ようとすると
CDをドライブに入れてくださいって出て来てCD入れると
ドライブにCD入ってるのに入れてください入れてください
入れてくださいってダイアログが出てヘルプが見れないのは
なんでですか
204名無しさん@お腹いっぱい。:2000/08/24(木) 16:25
>>203
このスレッドでも言ったが、
http://piza.2ch.net/test/read.cgi?bbs=tech&key=967099921

理解できる日本語を書け
205名無しさん@お腹いっぱい。:2000/08/24(木) 16:33
>203
それはプチモニのCDです。もう流行ってないのでハネのCDにしましょう。
206名無しさん@お腹いっぱい。:2000/08/24(木) 23:56
厨房です。stringstreamの使い方を勉強中なのですが、どうやっても
メモリの漏れを防げません。deleteするだけではだめなのですね。
どうやったらきれいにdeleteできますか?
while(true)
{
char buf[1000000];
ostringstream *ostr = new ostringstream;
*ostr << buf;
ostr->str().assign("");
delete ostr;
}
207>201:2000/08/25(金) 00:27
マスクをかけましょう。
208187:2000/08/25(金) 01:16
>197
ああ、やっとまともに動くようになりました。
ありがとうございました。
後学の為に、なぜnewで宣言したのと同じ値をDeleteしないと
Access Violationになるのかを教えていただくというのは甘え過ぎでしょうか?
209>208:2000/08/25(金) 03:14
そんなことをわざわざ教えなきゃならないと言うことに驚いてみたり。
取りあえず、君プログラマに向いてないかもしれません。転職することをお勧めしてみます。

で、AccessViolationになる理由ですが、少し自分で考えてみましょう。
ちょっと考えれば分かるはずだと思うんだがな。
210>208:2000/08/25(金) 03:20
違うものをdeleteしたらちゃんとdeleteできないんですよ。
そういうことが知りたいわけじゃないのかな‥?
newがどうやってメモリ確保を実現しているか解かりますか?
それがわかっていないようならそれ以上説明されてもわからないと思うな。
>209
いくらなんでも、職業プログラマではないだろう。

>208
少なくとも、君がポインタを全く理解していないのは間違いない。
それどころか、変数の概念も理解しているか怪しいものだ。
君はおそらく
 delete pClass;
の後に、
 pClass = …;
とする事は出来ないと思っているのだろう。
「変数」と「変数の持つ値」がわかっていない。

もし、例外が起こる理由を本当に知りたいのならば、
「K&R」、もしくは「C言語によるアルゴリズムとデータ構造」の、
mallocの実装を読んでみるといい。
operator new/operator deleteの実装は、
malloc/freeの実装と大きな差はない。
上記の実装が理解出来れば、例外の理由も察しがつくだろう。

確かに、この程度の事を「自分で考える事をしない」人には、
プログラミングは向いてないかもしれないな。
ここにいる殆どの人は、好奇心の塊だ。
自分が納得できない時は、徹底的に動作を調べ原因を究明する。
他人に聞くのではない。自分で調べるのだ。

まあ、ポインタが理解できないだけなら、
Java等から入るのも良いかもしれない。
C/C++を学ぶ限りポインタの理解は必須だが、
プログラミングはC/C++が全てではない。
お前偉そうだな。
213197>208 :2000/08/25(金) 05:56
「new@`delete はそういう仕様になってるから」でしょう。
newで得たポインタ以外を使ってdeleteしようとした時の動作は「未定義」だったと思います。
Access Violationは、かならず出るわけでは有りませんが多くの場合、プログラムの
動作がおかしくなるでしょう。
今のところ、そういうもんだと思っておけばいいんではないでしょうか。
214がくせいさん :2000/08/25(金) 09:12
operator new が operator delete に割り当てたメモリの量を知らせるには、
new が返すメモリの直前の位置に、割り当てたブロックのサイズを示すデータ
を付加するのが、一般的な方法だ。つまり、

Airplane *pa = new Airplane;

のように書いたとき、以下のようなメモリブロックが得られるとは限らず、

pa -> ---------------------------------------
      Airplane オブジェクトのためのメモリ

下記のようなメモリブロックが割り当てられることが多いのである。

      メモリブロックのサイズに関する情報
pa -> ---------------------------------------
      Airplane オブジェクトのためのメモリ


『Effective C++』改訂2版より。
215新米ギコ@鬼畜 :2000/08/25(金) 09:16
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>206 静的な配列で1000000は飛ぶぞ普通。 1000未満がキホソだ!
 UU ̄ ̄ U U  \_____________
216名無しさん@お腹いっぱい。 :2000/08/25(金) 09:58
ClassA* pA = new ClassA[10] ;
ClassB* pB = (ClassB *)pA ;
delete[] pB ;
なんつーこともやっちゃいけません。
217名無しさん@お腹いっぱい。 :2000/08/25(金) 15:05
誰か Video for Windows の cap〜系APIのリファレンスが
載ってる(できれば日本語の)書籍またはHPを知りませんか?
現在サンプルコードを見ながら、ビデオキャプチャプログラムを
作っているんですが、これらのAPIの働きがさっぱりわかりません。
誰かこの厨房に救いの手を…(ToT)/
218名無しさん@お腹いっぱい。 :2000/08/25(金) 17:04
UNICODEを扱えるアプリを作りたいんですが(環境はNT@` VC6)、
HelpにそってwWinMainCRTStartup、_UNICODEなどを設定していて
コンパイルまでは問題ないんですが、なぜか、Runしてもメイン
ルーチンにさえ入らずにアプリが終了していまいます。ライブラリは
全部インストしてますし、MFCも使用になっているのですが・・・。
219>218 :2000/08/25(金) 17:29
デバッガでステップ実行して、どこをどう通ってるか調べてみた?
220名無しさん@お腹いっぱい。 :2000/08/25(金) 17:36
218です。さっそく答えてくださってありがとうございます。・・・と、調べてみますと
どこも通らずに即死状態でした。Testのためのアプリは、win32 cosoleアプリプロ
ジェクトMFC使用で、メイン文の入り際にwhile(true){}無限ループを入れている
だけのものです。何がまずいんでしょう・・・。デバッガはdllをロードしたあと
no matching symbolとか言ってますが・・・・
221219 :2000/08/25(金) 20:11
即死?? wWinMainCRTStartup ってのがよくわからないんだけど、
それも実行されてないわけ? ていうか、AppWizardの吐くコードって、
あと単に _UNICODE を define するだけでUnicode用になるのでは…(自信なし)
ユニコードでビルドしてる?
223208 :2000/08/26(土) 13:17
ういす。 ありがとうございました。
性根入れ換えて、勉強し直すとします。
224名無しさん@お腹いっぱい。 :2000/08/26(土) 15:21
別のディレクトリにあるファイルはどうやって読むのですか?
C言語、windows95or2000です。bcc使ってます。
例えばCドライブにあるhoge1ってフォルダにあるhoge2ってファイルを
開けるときは
fp = fopen("C:hoge1\hoge2"@` "r")
じゃ駄目なの?
225名無しさん@お腹いっぱい。 :2000/08/26(土) 15:24
自己解決出来ました。
fp = fopen("d:\\hoge1\\hoge2"@` "r")
指定の仕方も違ったし、\は制御文字なんで2ついるんだね。
もう少し考えてから書き込めばよかった。。。
226名無しさん@お腹いっぱい。 :2000/08/26(土) 15:34
\ じゃなくて / でもイケるよ。
たいていのライブラリは / もサポートしているよ。
/ で書いておいたほうが移植性がイイよ。
>226
ありがとうございます、勉強になります。
そういうのを勉強したいんですけど、本とかサイトで参考に
なるところってありますか?
標準ライブラリ以外の関数とかって何で調べるんですか?
228>277 :2000/08/26(土) 16:42
使ってる開発環境にヘルプは……ついてないか、bccじゃ。

Windows API とか SDK とか、そういうのをキーに
本なりサイトなり探すのがいいんじゃない?
229間違えた >277 じゃなくて >227 :2000/08/26(土) 16:42
 
230ヒヨっこ :2000/08/26(土) 21:07
Cソースをコンパイルしようとしたら、

Error: 外部シンボル '_prinft' が未解決(C:\BCC\SANP.OBJ が参照)

って言われました。どうすりゃいいですか?
231名無し様 :2000/08/26(土) 21:17
>230

Error: 外部シンボル '_prinft' が未解決なんだ。それは。
int mian(int argc@` char* argv[])を思い出す…
titleと押そうとしてtilteをよくやる。
titleって名前を付けたつもりの変数が全てtilteで統一されてた
事がある。10箇所以上あったのに。。
234ヒヨっこ :2000/08/26(土) 22:39
>>231

どう解決すればよいですか?
#define prinft printf
236>234 :2000/08/26(土) 23:06
printf("hoge\n");
prinft("hoge\n");
何か違いませんかよーく見てみましょう。232@`233はマジレスだよ
>>234
とりあえず、C:\BCC\BIN\BCC32.CFGに
-w
の1行を加えておく事をお勧めします。
コンパイル時に警告が出るので、だいたいわかるようになります。
230はコンパイル時の警告がわからない話でないのか?
239何でsageるの? :2000/08/27(日) 00:43
どうも話がつかめませんのでゴミレスを。
あれはどう見てもリンクエラーですよね(確認するまでもないけど)
したがってコンパイルは通ってるからprintfってちゃんと書いてると
思うんですが?
>239
ならリンクエラーでないだろ、普通。
241239 :2000/08/27(日) 00:54
>240
そうなんですよね、それが私も不思議なんですよ。
フツーにインストールしてフツーに環境設定してれば
こんなエラー出るはずないと思うんですが・・・。
242名無しさん@お腹いっぱい。 :2000/08/27(日) 01:05
とりあえず239はC言語をろくに知らない&勝手にC++だと思ってる、に1票。
243239 :2000/08/27(日) 01:37
>242
なるほどそういうことでしたか。
私もヒヨッコなものでスンマセン。
Cだとプロトタイプ宣言なくてもコンパイル通るんですね。
今まで.cppばかり使ってたのでエラーになるとばかり思ってました。
239の書いてる事を普通の人は理解出来るの?
239@`242@`243の流れが全く分からん。
一応Cは出来て今C++勉強中なんだけど。。。
245>244 :2000/08/27(日) 02:40
いつかわかる時がくるかもしれん。(来ないかも試練)
246名無しさん@お腹いっぱい。 :2000/08/27(日) 04:30
C++で質問です。
よく
class hoge{
int i;
}
class hoge::hoge(void);i(10){};
っていうのを見かけるんですけど、
class hoge::hoge(void){ i=10; };
と、どう違うんですか?
247>246 :2000/08/27(日) 04:43
(1) class hoge::hoge(void);i(10){};
(2) class hoge::hoge(void){ i=10; };

(1)は「初期化」
(2)は「代入」

メンバ変数に const な変数があったら「代入」が使えない。
そういった場合は「初期化」を用いて値をセットすべし。
詳しくは『Effective C++』第2版の12項を参照。
248246 :2000/08/27(日) 04:50
>>147
ありがとうございます。
あと、その本、探してみます。
>>244 どこがわからないのかわからない…
まさかプロトタイプじゃだろうから、リンクがわからないのかなぁ
244は、なんで242が239の勘違いが解るのかが解らないんでしょう。
>>243の勘違いしてても、>>239の発想は普通しないと思う。
Error: 外部シンボル '_prinft' が未解決って出るってことは
自作のprinft関数がトラブってるんでしょ? なんでそこで
>コンパイルは通ってるからprintfってちゃんと書いてると
って発想がでるのかが不思議。
252不安厨房 :2000/08/27(日) 13:53
Cを勉強してある程度できるようになったので、WinSDKを勉強しはじめました。
これでWindowsのゲームやツールを作ろうと思って期待で胸を膨らませていたのです。
分厚いマニュアル本を買ってきてシコシコと勉強を重ねてきたのですが、
Javaを信仰するネットの人に
「今更、SDKばっかやっても意味無いよ。Windowsばっか詳しくなってもしょうがないでしょ?
 オブジェクト指向に移らなきゃこれからはやっていけないよ。」
てなことを言われました。僕のやっていることは空回りなんでしょうか?
253名無しさん@お腹いっぱい。 :2000/08/27(日) 14:48
>252
きにするな、誰も正確な予想なんて出来ない。
今必要な事を勉強しとけ。
254ヒヨっこ :2000/08/27(日) 15:53
>>230

の拡張子は、hoge.cって感じです。

>>237

エディタで開いて・・でしょうか?すいませそ。よくわかりません。。。

>>236

prinftが正しいんでしょうか?
もしかしたらそこかも知れません。ありがとうございます。
単純なミスですね。僕は氏んだほうがいいのでしょうか?
255>251 :2000/08/27(日) 16:29
あんたの発想も>>239と同じくらい不思議だとおもうがな。
prinftって関数を用意してるのか、printfの間違いなのかは、>>230
では、断定できないけど、どんなバグでも、フツーはケアレスミスから
疑うのがスジでしょ。
256名無しさん@お腹いっぱい。 :2000/08/27(日) 17:14
スレッドをつかうとメンバ変数がどんどん増えて逝き、
メンバ関数も大きくなってしまいます。
僕はプログラムの才能がないのでしょうか?
257名無しさん@お腹いっぱい。 :2000/08/27(日) 17:42
UNIXプログラミングの話はこの板でしてもいいのですか?
258新米ギコ@散財人生 :2000/08/27(日) 17:49
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>256 才能あるやつは一握りだ! 気にするな
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>257 特に問題なし。 イヂメるやつがいるかも知れないがな!
 UU ̄ ̄ U U  \_____________
259ヒヨっこ :2000/08/27(日) 19:40
ソースです。本を読んで打ちました。間違いはどこ?

#include <stdio.h>

main()
{
int a@` b@` c@` i;

prinft("整数を2つ入力してください\n例 1@`100\n");
scanf("%d@`%d"@` &a@` &b);
prinft("%d から %d までの和を計算します\n"@` a@` b);
c = 0;
if(a<=b)
for(i=a;i<=b;i++)
c=c+i;

else
for(i=b;i <=a;i++)
c=c+i;
prinft("答え : %d\n"@` c);
}
答えです、どこが直ってるかは自分で探してください。

#include <stdio.h>

main()
{
int a@` b@` c@` i;

printf("整数を2つ入力してください\n例 1@`100\n");
scanf("%d@`%d"@` &a@` &b);
printf("%d から %d までの和を計算します\n"@` a@` b);
c = 0;
if(a<=b)
for(i=a;i<=b;i++)
c=c+i;

else
for(i=b;i <=a;i++)
c=c+i;
printf("答え : %d\n"@` c);
}
ああああもう、イライラするなあ(笑)
いい加減ヒヨっこも

○printf  プリントエフ
×prinft  プリンエフティー

に気付っつうううううううううの。うざい。
262217 :2000/08/27(日) 20:59
オイラの質問(Video for Windows APIに関する情報求む)が
遥か彼方まで流され、忘れ去られてしまった。
クスン。(T_T

Q&Aはもっと簡潔に書きましょうよ。
263名無しさん@お腹いっぱい。 :2000/08/27(日) 22:08
いや (^^;)
VFWって言葉が既に過去のモノと受け取られたからではないだろうか?
マルチメディア系の API なら、「Win32APIバイブル」の第3巻が詳しいですぞ。
264名無しさん@なまけもの98号 :2000/08/27(日) 22:50
C++のクラスライブラリーが大量においてあるとこ
しりません?
フリーで
できれはネットワーク系
265名無しさん@お腹いっぱい。 :2000/08/27(日) 22:51
コードグルーの日本語訳のページってどこに逝っちゃったんすか?
至急情報きぼんぬ。
速くしないと、オレも逝っちまう
266新米ギコ@散財人生 :2000/08/27(日) 23:20
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>262 すまん! 管轄外だ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>264 http://www.infoseek.co.jp/ だ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>265 逝ってよし!
 UU ̄ ̄ U U  \_____________
267ヒヨっこ :2000/08/27(日) 23:48
>>261

合ってませんか?printfで。
268ヒヨっこ :2000/08/27(日) 23:49
あ、260読んでました。
鬱だ氏のう・・。
>>265
ここ?違ったらごめん。
http://ewnn.jcontent.com/
270>264 :2000/08/28(月) 00:01
海外のサイトをさまよってみて。
net系に限らずたくさんある。
日本語のサイトには多分ないと思う。
271名無しさん@お腹いっぱい。 :2000/08/28(月) 00:21
JAVAのIDEでのお勧めキボーン
出来れば軽いのがいいです。
>271
Jbuilder3.5Foundしかつかったことないけど。
メモリ128以下だときついと思うよ。
環境貧弱なんで重すぎて評価できん。

今はJDKとEmacsでUIまで全部かいてる。軽いよ。
273262 :2000/08/28(月) 02:16
レスわざわざありがとうございやす。>263
Win32APIバイブル3巻は調べましたが、(再生系しか)載ってなかったっス。
やっぱDirectX使うか、海外行くしかないか…

GNU系サイトで見かけたような…>271
274名無しさん@お腹いっぱい。 :2000/08/28(月) 05:36
V-IDEもしくはVIDEってやつかな?
URL忘れたから自分で調べてきてネ。
見つけたらここに貼ってね、僕のために >271
275しったかぶらー :2000/08/28(月) 10:36
V-IDE
 http://objectcentral.com/

注:V-GUI(ツールキット)と混同しないように!!
276名無しさん@お腹いっぱい。 :2000/08/28(月) 12:03
>272
Jbuilder3.5Found…
これ自身、JAVAで作られてませんか?
えらい遅い&使いづらいんですが
>>276
そうでーす。
まあ、逆に言えばJavaでもここまでできるということですね。
確かにjavaでここまで出きるのかぁと最初は感心したけど
実際に使い出すときついねぇ
重いしメモリ食うし
279名無しさん@お腹いっぱい。 :2000/08/28(月) 13:53
新規質問です。
シェルスクリプトで、ftpを実行し、ユーザ認証して適当な
ファイルを取ってくるっていうことは可能ですか?
もしできるのなら、具体的にはどう書けばいいでしょう。
rcpならできるんですが。
280名無しさん@お腹いっぱい。 :2000/08/28(月) 14:06
DelphiライクなJavaIDEはここにあった。

http://www.saninc.co.jp/
なんて読むのこれ?「ぶるーて」?
281名無しさん@お腹いっぱい。 :2000/08/28(月) 14:08
.netrcのマクロを使えば
282>279 :2000/08/28(月) 14:31
ヒアドキュメント使え

283280 :2000/08/28(月) 14:40
「ぶるーえっと」か。もっと良く読めば良かった。
スマソ。
284名無しさん@お腹いっぱい。 :2000/08/28(月) 14:55
>282
ヒアドキュメントってなんですか?
perlとかのやつですか?
285名無しさん@お腹いっぱい。 :2000/08/28(月) 15:25
>>284
ヒアドキュメントはシェルスクリプトにもあるよ
っていうかこっちが元祖
286>284 :2000/08/28(月) 15:48
↓こんなカンジかな(手元に使える環境無いんで、うろ覚え…)
ftp << EOS
open ftp.2ch.net
user hoge
pass xxxxxxxx
put a.c
get a.bin
quit
EOS
287名無しさん@お腹いっぱい。 :2000/08/28(月) 16:25
288名無しさん@お腹いっぱい。 :2000/08/28(月) 17:10
>286さん
#! /bin/cshで
"user"と"pass"の部分だけは大文字
でやりましたけど、
パスワード聞いてくるところで止まってしまうのですが。

ま、今はrcpもできない環境なのでちょっと何とも言えません。
289JAVA消防 :2000/08/28(月) 22:37
JAVA2MEって、具体的にどんなことが出来るんですか?
SEに比べての機能制限は?
詳しく書いてある本や、HPありましたらキボンヌ
290新米ギコ@DQ中 :2000/08/28(月) 23:17
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>289 http://java.sun.com/ だ!
 UU ̄ ̄ U U  \_____________
291JAVA消防 :2000/08/28(月) 23:23
>280
ははは、どきどきするくらいDelphiライクですね。
いいのか?
292280 :2000/08/28(月) 23:38
インプライズのNewsGroupにでもかきこんどいてあげよっか?
293JAVA消防 :2000/08/28(月) 23:55
>292
はは、そりゃ非道い。
しかし、このIDEの設計者は楽ですね。
「この部分の操作系はDelphiに準ずる」と書けばいいんだから

評価版の制限が気になりますが、とりあえずこれ使ってみようかなと思います。
294名無しさん@お腹いっぱい。 :2000/08/29(火) 00:06
SUNかと思ったらSANなんだよね、
295名無しさん@お腹いっぱい。 :2000/08/29(火) 01:00
会社名までパクリかおい!
296名無しさん@お腹いっぱい。 :2000/08/29(火) 01:30
>295
ないす
297名無しさん@お腹いっぱい。 :2000/08/29(火) 02:05
>1.0J(評価版)、サンのサイトで無償ダウンロード開始
トップページがこれだもん。

しらん人が見たらドットコムのサンからダウンロードできるんだと
思うだろうけど。
298>292 :2000/08/29(火) 02:07
けど、外国産なんだね。日本語化しているだけか。

newsgroups.inprise.co.jp にでも書いておいたら?
299名無しさん@お腹いっぱい。 :2000/08/29(火) 02:11
http://www.unix.co.jp

このウェブサイトはいいんですか?全く別の業界業種なら、問題ないの
かなぁ...彼らにとってみれば自分達こそ正当なUNIXであり、コンピュ
ータ?なにそれ真似すんなよでしょうから。
300280 :2000/08/29(火) 02:22
>298
あはは、入れないよ。何時の間に出来たの?
301名無しさん@お腹いっぱい。 :2000/08/29(火) 02:24
http://www.saninc.co.jp/

は、今月のCマガで4ページにわたって紹介されているよ。
あと付録のCD-ROMには評価版が収録されてた。
302名無しさん@お腹いっぱい。 :2000/08/29(火) 02:30
>299
昭和63年の9月に現在の社名に変更って書いてあるから
それはなさそうだね。
303名無しさん@お腹いっぱい。 :2000/08/29(火) 02:51
3ヶ月でマイナバージョンが4も上がってるなおい!
10月にはもう2.0??
304名無しさん@お腹いっぱい。 :2000/08/29(火) 02:56
「コットン」か、なつかしーな。
305名無しさん@お腹いっぱい。 :2000/08/29(火) 06:17
VC++で質問さしてください。
VC++6.0のインストールをしたあと、MSDNライブラリのインストールを
しようとしましたが、ちゃんとインストールできません。
(インストールの途中でCloseCollection g_ccolCollection.Open(collectionname) dwError=8とかでて終わっちゃう)
手作業でMSDNの設定(VC++のヘルプが見られるようにする)方法がありましたら
おしえてください、おねがいします。
306名無しさん@お腹いっぱい。 :2000/08/29(火) 14:00
CRect::PtInRect みたいな動きをする、多角点はない?
用途は、台形とか、平行四辺形で、ポイントしたいんだよね。
307名無しさん@お腹いっぱい。 :2000/08/29(火) 14:03
http://cgi.members.interq.or.jp/gold/marken/vc/
ここに いってみなされ!
役に立つはず!
308名無しさん@お腹いっぱい。 :2000/08/29(火) 14:29
ACCESSでフォームのサイズを固定するにはどうすればいいんでしょうか。
heightもwidthもそれぞれのinsideも設定してるのに勝手に最大化して
無駄な部分がでまくりです。docmd.maximizeなんか入れてないのに…。

あと、twip単位ってなんでしょうか? グロッサリーヘルプとかあたった
んですけど載ってませんでした…。
309名無しさん@お腹いっぱい。 :2000/08/29(火) 16:23
NT上VC6でUNICODE使用のプログラミングを試みているものです。
UNICODEをdefineしてコンパイルできました。そして動きました。
しかし、Fileに対する日本語の入出力が全くできてません。画面出力
は問題ないのですが・・・。ちなみにCStdioFileとCStringを使って
stringリソースから文字列をloadしてファイルに入れようとしてます。
ファイルに日本語を入れようとすると、つねにファイルは0kb状態です
ギコさま、おたすけを。
310名無しさん@お腹いっぱい。 :2000/08/29(火) 17:04
最近MFCを勉強始めました。
MDIで、doc/view アーキテクチャにしてます。
「ファイルを開く」を選択した時、
1つメッセージボックスをかませたいと思ってます。
OnFileOpen() を オーバーライド?のし方ってありますか?

ステップで、実行すると、CWinApp::OnFileOpen() → CDocManager::OnFileOpen() ;
な感じで動いているみたいです。

OnFileOpen() を 置きたい場所は、CMainFrame です。
311310>307 :2000/08/29(火) 17:06
ってゆーか、僕の名前が例えばビルゲイツだったら、
匿名板じゃないと聞けない・・・
>>310
単にID_FILE_OPENに対するメッセージハンドラを追加
するんじゃ駄目なん?
313新米ギコ@かくれんぼ中 :2000/08/30(水) 00:09
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>308 ACCESS使ったこと無いからわからん! スマン
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>309 ちゃんとファイル開いてる?
 UU ̄ ̄ U U  \_____________
314310 :2000/08/30(水) 11:11
とりあえず、できた。。。

1. 自分で関数を作って、CWinApp::OnFileOpen()を呼べばいいと解った
2. でも、protected な奴なので、MainFrameからは呼べない(?)
3. C???AppにOnFileOpen()をインプリメントして、その中で呼ぶ
4. そいつは public なんで AfxGetApp() なんかを使えばOK

どぉ?
正しい?

>312
はじめ、MainFrameにそのハンドラを追加してやった
で、ダメだった
そーゆー意味?
315>308 :2000/08/30(水) 16:07
フォームをアイコン化又はダイアログで開いてみたらどうですか?
316名無しさん@お腹いっぱい。 :2000/08/30(水) 16:35
C++のCStringクラスのような機能があり
JisCodeで使えるクラスはなにがありますか?
317グラマっち :2000/08/30(水) 19:06
C++の構造体とクラスって実質的になにが違うんですか?
318>317 :2000/08/30(水) 19:12
箱形ロボットとダンボールの違い
319名無しさん@お腹いっぱい。 :2000/08/30(水) 19:24
>>317
C++のstructとclassの違いだったら、
structはpublic:で始まる、classはprivate:で始まる。
それ以外は全部一緒。
320UNIX板が死んでるので :2000/08/30(水) 23:09
lost+foundって言うディレクトリって何に使うんでしょうか?
321新米ギコ@今はお笑い小噺板の状態が気になる :2000/08/30(水) 23:20
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>316 CStringはVC++独自だ! C++とは違う!!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>317 Cの下位互換を保つためだけに残っただけだ! 気にするな!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>320 勝手に殺すなバカモノ!
 UU ̄ ̄ U U  \_____________
UNIXいた http://cocoa.2ch.net/unix/index2.html
322>319 :2000/08/30(水) 23:20
いっしょだけど、同じように使って欲しくないと思うのは僕だけ?
structにメンバ関数いれるのは勘弁して欲しい・・・。
323新米ギコって・・・ :2000/08/30(水) 23:24
悪いけど、ろくなこと言わないよね・・・。
324名無しさん@お腹いっぱい。 :2000/08/30(水) 23:35
おれはどちらかというと、structはもう使うなよって感じ。
メンバ関数入れて欲しくない→コンストラクタやメンバアクセス関数
が無いのは気持悪い、ってのが理由かな。
325>323 :2000/08/30(水) 23:56
新米だからいいんじゃない?
新米だからっちゅうか人間性に問題ありだよね(藁
327新米ギコ@ろくでもないやつ :2000/08/31(木) 00:10
――――――――――――――
>>323 ってツマラナイ煽りだよね
__  __ .r――――――――
    ∨   | 煽るくらいなら質問に答えればいいのに
日 凸 U | ______
≡≡≡≡≡| /〃∧_∧  / ̄ ̄ ̄ ̄ ̄
 U ∩ [] ∨%(´∀` ) < オマエモナー
__ ∧ ∧__∧_∧___)_ \_____
  (   @`@`)日(    .)□     
― /   | ― (     )―――
\(__.ノ    ━┳━)
 ━┳━   └ ┃―・゛
 ̄ ┻  ̄ ̄ ̄ ┻ ̄ ̄ ̄ ̄
328cafe :2000/08/31(木) 01:17
オレ的には、まじれすよりトゲのあるかわしがいいな。
329308 :2000/08/31(木) 03:41
>315
それ、どうやるんでしたっけ?(汗) 明日会社でリファレンスみながら
戦ってみます。docmd.open XXX@`ac〜はどれをやってもダメでした(涙)
330>316 :2000/08/31(木) 09:56
STL(?)のstringでいいじゃん何か問題でもあるの?
331308 :2000/08/31(木) 10:52
解決しました! docmd.movesize x@`y@`幅@`高さでいけました!
わかってみればアホなとこでハマってたんやな…

 続いて質問なんですが、フォームを開いた時全画面表示(タスクバー
の上にも覆い被さるように)するにはどんなコマンドを記述してやれば
よいのでしょうか?
332>>330 :2000/08/31(木) 11:28
std::stringはSTLじゃないよ。
333330>332 :2000/08/31(木) 11:47
そう来ると思って(?)をつけたんだけどな。
「標準C++のstringクラス」といえばよかったのかな?
334名無さしん@1周年 :2000/08/31(木) 13:07
>>316
「JisCode」ってのが意味不明だが、あれか?
あの 1B 28 42 とかで切り替えるヤツのことをいいたいのか?
335>316 :2000/08/31(木) 14:05
LPTSTR=UniCode
LPSTR =JisCode
ということか?
336>335 :2000/08/31(木) 14:48
それ、絶対違う。
337名無しさん@お腹いっぱい。 :2000/08/31(木) 16:54
LPSTR (char *) にJISもShiftJISもUnicodeもASCIIもEUCもEBCDICもねえよ。
windowsのSDKでCHAR@`WCHAR@`TCHARの項目を調べてみるべし。LPTSTR
などは、その関連で説明されている(と思う)
338グラマっち :2000/08/31(木) 17:49
C++の構造体とクラスはあんまり違いがないってことで納得しました。
でも、やっぱり構造体はCの構造体の様に使いたいと思います。
どうもありがとうございました。
339グラマっち :2000/08/31(木) 18:05
>217 = 262
"岩本一樹"で検索してみるといいんじゃなーいの?
263さんのおっしゃる通り、第3巻とかMSDN片手に読まないと苦しい。
でも片手によめばうんとわかるよ!
340>332 :2000/08/31(木) 20:06
>std::stringはSTLじゃないよ。
そうっすか?
 typedef basic_string<char> string;
ですよね?MSでもSGIでもドキュメントではSTL
として扱ってますけど。
341>340 :2000/08/31(木) 20:17
また同じこと言ってる人がいるよ……
解決したスレッドはどこだったかな
342名無しさん@お腹いっぱい。 :2000/08/31(木) 20:19
MSDNで「STLの規約」を引きたまえ。
343>341 :2000/08/31(木) 20:29
確か「complexはSTLだよ」って言ってた奴が…
344343 :2000/08/31(木) 20:33
345名無しさん@お腹いっぱい。 :2000/08/31(木) 20:40
アクセスでDBシステムを築く事になったんだけど、
成功事例ってあるの?
(たぶん)もし無かったら、アクセスでDBシステムは
無理だと言うことを上司に納得させる上手い良いわけを教えて〜
因みにこのシステムは
nリードクライアント、nライトクライアントです。
>>344
そのスレは無かったことにして〜〜
347>346 :2000/08/31(木) 21:23
そのスレの9?
348346 :2000/08/31(木) 23:13
そうだよぉ〜〜。しかもageられてるし……。
さらしあげ
350>345 :2000/09/01(金) 09:25
DBエンジンは何を使うの?
Jetならマルチユーザーはやめておいたほいが良いぞ。
銀行のbackendなどで用いられいる実動システムは
Unix上のSybaseやOracleをDBエンジンにして、
Accessをフロントエンドの端末記述に使っているよ。
351名無しさん@お腹いっぱい。 :2000/09/01(金) 10:25
>345
失敗事例なら山ほどあるぞ。(苦笑
352名無しさん@お腹いっぱい。 :2000/09/01(金) 12:38
>345
http://www.iib.co.jp/
ってどうよ?
353340 :2000/09/01(金) 13:42
お恥ずかしながら皆さんの言う通り全面的に僕の勘違いでした。
【正解】STL=vector@`list@`dequeset@`multiset@`map@`multimap@`hash_set@`
hash_multiset@`hash_map@`hash_multimap
354340 :2000/09/01(金) 14:03

コンテナクラスのみね
「いちいちstring(basic_string)はSTLじゃねえとわめきだす奴は厨房」ということに決定したようです
356名無しさん@お腹いっぱい。 :2000/09/01(金) 20:32
話は変わるけど、VCでSTL使っている人は↓をちぇっくしてね。
 http://www.dinkumware.com/libcppvc.html
ここがVCに付属しているSTLの製造元ですから。

あと↓にSGIのSTLをVC等で使いやすいようにポーティング
したものがある。俺はVCではこれを使っているよ。
 http://www.stlport.org/
357345 :2000/09/02(土) 04:24
レスくれた方
どうやら上司を納得させるだけの資料が出来そうです。
ありがとねぇ〜
358VBVC++ :2000/09/02(土) 16:42
初めまして。初歩的なことですがお願いします。
VC++で三角形の面積を求めるMenseki.dllを作りVBから利用するという所で@`

Menseki.hに
MENSEKI_API int __stdcall Sankaku(double Teihen@` double Takasa@` double *Menseki);

Menseki.cppに
MENSEKI_API int __stdcall Sankaku(double Teihen@` double Takasa@` double *Menseki);

{ int iRet;
if ((Teihen > 0) && (Takasa > 0)) {
*Menseki = Teihen * Takasa / (double)2;
iRet = 0;
} else {
iRet = -1;
}

return iRet;
}

と書籍の通りに書いたのですが@`ビルドの段階で@`Menseki.def : warning LNK4017: LIBTATY 文はターゲット プラットフォームでサポートされていません。と警告が出てしまいます。何処が悪いのでしょうか?
359VBVC++ :2000/09/02(土) 16:43
Menseki.defには

LIBTATY Menseki.dll

EXPORTS
Sankaku

と書きました
360ぉぃぉぃ :2000/09/02(土) 17:13
>>358-359
それはたぶん、LIBTATY 文がターゲット プラットフォームでサポートされていないからでしょう。
LIBRARY 文なら必ずサポートされてると思いますのでそちらを使ったらどうでしょう?(ワラ
361あ、いきなり核心を(藁 :2000/09/02(土) 17:41
 
しかしMensekiは寒いな(藁
363ついでに :2000/09/03(日) 16:12
Sankakuって意味不明だな。そんな寒い「書籍」は捨ててしまえ。
364名無しさん@お腹いっぱい。 :2000/09/03(日) 18:42
age
365名無しさん@お腹いっぱい。 :2000/09/04(月) 20:07
こういうコンストラクタの書き方はありなんですか?
シンボルが重複してるからちょっと心配なんですけど。

Object::Object(int data)
&nbsp;&nbsp;&nbsp;: data(data)
{
}

一応、VC++6でコンパイルは通ったけど、期待通りに動くのかどうか少し心配です。
366>365 :2000/09/04(月) 20:35
ちょっと気持ち悪いねぇ (^^;)
シンボリックデバッガとか使う時に data が仮引数の data なのか
メンバの data なのか、人間のほうが迷っちゃいそう。
同名のローカル変数を(ブロック違いで)複数使用すると
気が狂っちゃうデバッガも有るぐらいだから、お勧めできません。
367新米ギコ :2000/09/04(月) 23:44
    ∧ ∧   /
    ( ゚Д゚)< >>365 スコープ演算子で解決だ!
     |つ つ  \
   〜   |
    ∪ ∪
    ∧ ∧   /
    ( ゚Д゚)< >>366 デバッガが狂う前にお前が狂うなよ!
     |つ つ  \
   〜   |
    ∪ ∪
    ∧ ∧   />>昔の人
    ( ゚Д゚)< BNFなんて最近じゃ大学に逝くか、コンパイラの勉強でも
     |つ つ  \しない限り知ってる奴は少ないだろ。せいぜい正規表現くらいだ!
   〜   |    \ フローチャート知らないのはちょっと、、、
    ∪ ∪
368名無しさん@お腹いっぱい。 :2000/09/05(火) 12:25
>BNFなんて最近じゃ大学に逝くか、コンパイラの勉強でも

RFC 等で、規格を定義しているところでも使われているから
手抜きしちゃだめだよ。
369365 :2000/09/05(火) 12:45
ん〜、解決方法は別に訊いてないんだけどな。
>>365の書き方が是か非かどうかだけ訊きたいわけで。
370>369 :2000/09/05(火) 14:12
()の前が初期化対象で、()の中が初期値だから文法的にはOK。
最近は_を付けるのがお気に入り
:_data(data) とか :data_(data) とか。
371365 :2000/09/05(火) 14:23
文法的にOKならまあいいかな。
コンパイラがきっちり解釈してさえくれれば問題ないんだけど、一応文法上の曖昧さはないしな。(多分)

ところで、こういう書き方ってどう思うものなんだろう?
>>366は、「ちょっと気持ち悪い」と言ってたが、それが普通の反応なのかな?
372名無しさん@お腹いっぱい。 :2000/09/05(火) 16:32
Javaのvalidate()とinvalidate()の違いがわからんぞ (゚д゚)ゴルァ
373しー@(*゚Д゚)さん :2000/09/05(火) 23:21

  | ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  | さびしんぼー!|
  |_______|
    ∧_∧ ||
   (*゚ー゚)||  
    /つ つ        
374新米ギコ :2000/09/06(水) 00:24
  ∧∧!!
Σ (;゚д゚)  < >>368 rfc1855もBNFなのか!
 ヽ/つ且~~  #http://www.cgh.ed.jp/netiquette/rfc1855j.html
  (__ _)    #使ってるとこあっても知ってる人の比率は少ないと思うぞ
    ^
  ∧∧!!
Σ (;゚д゚)  < >>369 非!
 ヽ/つ且~~
  (__ _)  
    ^
  ∧∧!!
Σ (;゚д゚)  < >>371-372 コンパイラより人間の方が厄介だぞ!
 ヽ/つ且~~
  (__ _)  
    ^
375名無しさん@お腹いっぱい。 :2000/09/06(水) 00:29
>>371-372じゃなくて、>>370-371だ!
  ∧∧
  (@`゚д゚)  < >>372 validate()とinvalidate()が違う!
 ヽ/つ且~~             ~~
  (__ _)   #http://java-house.etl.go.jp/ml/で探してくれ
    ^
  ∧∧
  (@`゚д゚)  < >>373 さび辛抱だ!
 ヽ/つ且~~
  (__ _)  
    ^
376名無しさん@お腹いっぱい。 :2000/09/06(水) 19:36
VCつかってますが、list<string>と宣言するだけでWarningでまくり
です。なにがわるいんでしょうか。
377>376 :2000/09/06(水) 19:48
#pragma warning(disable:3786)
>>377
惜しい、#pragma warning(disable:4786) だ。
379ギリギリです。 :2000/09/07(木) 12:14
SQLで質問です。

HEAD と SPEC という2つのテーブルが有り、それぞれ主キーには
ID という 列があります。
ID は順序を使い取得しています。
システム上 HEAD と SPEC に同じ ID番号が無い事があります。
HEAD に ID番号が有り、その ID番号が SPEC に無いデータのみ知りたい場合、
SQLでどう書けば良いか教えて下さい。
380名無しさん@お腹いっぱい。 :2000/09/07(木) 12:32
OuterJoin 掛けた結果を WHERE SPEC.ID is NULL で絞り込む。
Distinctするのを忘れずに。
381陰陽 :2000/09/07(木) 15:03
SELECT
 *
FROM
 SPEC
WHERE
 ID NOT IN (SELECT ID FROM HEAD)
382ギリギリです。 :2000/09/07(木) 17:20
>>380
>>381
ありがとうございました。
おかげで無事解決いたしました。
383ヤス :2000/09/07(木) 18:53
押忍!
プログラマの先輩の方々初めまして。
自分はシューティングゲーム作ろうと思います。
WinSDKでC言語にて作るつもりです。
なにからやったらいいのやらわからないのですが、
参考になるHPなどありますか?

では、失礼します。押忍!
384ハッシュ関数もどき :2000/09/07(木) 19:01
14桁の文字列があって
実際には8192以下の組み合わせしかない場合、
それぞれに0-8191の番号を与えるにはどしたらよござんしょ?
385名無しさん :2000/09/07(木) 19:43
>>384
たとえばA-99999-X
(AはAからZまでの文字、XはAからZまたは0から9)
というようなルールが文字列にあった場合、すべての
組み合わせに番号を与えられるのは自明。
ルールが存在しない不定長の文字列なら、辞書の作成が必要。
386名無しさん@お腹いっぱい。 :2000/09/07(木) 22:17
便乗です。可変長文字列(0文字を含む)を[0..HASH_SIZE)にマップする性能のいい
ハッシュ関数ってどんなのがありますか?

わたしは、
for(key = 0@` c=str ; *c!='\0' ; c++) {
 key ^= *c;
 key *= 1566083941UL;
 key += 1;
}
key >> = 16;
key %= HASH_SIZE;

ちゅう関数を使ってます。線形合同法で散らしているだけです。
でもこれ、遅いんですよね。
387新米ギコ :2000/09/08(金) 00:02
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>383 押忍!ギコシュー希望
 UU ̄ ̄ U U  \_____________
ゲームプログラムスレ
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=957341074&ls=50
ゲーム系ページリンク
http://piza.2ch.net/test/read.cgi?bbs=tech&key=967778156&st=14&to=14&nofirst=true
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>384 数学頑張れ!
 UU ̄ ̄ U U  \_____________
388名無しさん@お腹いっぱい。 :2000/09/08(金) 00:50
>384
その最大8192種だかの文字列は
プログラムを作る段階で既知なものなの?
389三流プログラマー :2000/09/08(金) 17:07
オフコンのデータをコード上でPCのオラクルに移す方法を教えてください。
VB6.0で可能ですか?
できるなら、必要な機材(ツールも)も教えてください。
390名無しさん@お腹いっぱい。 :2000/09/08(金) 17:12
>389
まずPCとの接続をどうやっているかあたりから説明せよ!
フロッピー渡しだったりすると・・・。わら
391三流プログラマー :2000/09/08(金) 17:26
>390
LANみたいなケーブル接続でローカルです。

PC―オフコン ←構成図
392390>391 :2000/09/08(金) 17:33
つまりFtpか何かを使ってPCまでオフコンで作った固定長レコードのファイルを
持ってきて、そのファイルをオラクルに入れるって考えでいいのか?
それならsqlldrコマンド単体でできるぞ
393三流プログラマー :2000/09/08(金) 17:34
sqlldrってなに?
394390 :2000/09/08(金) 17:39
鬱なんで落ちます
さようなら
>394
まじで気持ち分かるよ・・・。
396Oracleちょっとかじラー :2000/09/08(金) 18:36
sqlloadのこと?
なんか違うの?
397名無しさん@お腹いっぱい。 :2000/09/08(金) 18:39
>388
0000-8191を勝手につけてよいです。
但し、同じつけ方をすればいつでも一意に同じ番号がついてほしいです。
398名無しさん@お腹いっぱい。 :2000/09/08(金) 18:41
>386
これってダブりませんか?
399名無しさん@お腹いっぱい。 :2000/09/08(金) 18:44
各桁の文字が0-9までしかないとして...
それぞれの桁に互いに異なる10以上の素数を掛けて桁減らすのはだめ?
45355とかあったら
11*4+13*5+17*3+19*5+23*5=44+65+51+95+115=370
400Oracleちょっとかじラー :2000/09/08(金) 19:16
>396 自レス
diffとったら同じだった。エヘ。
401>399 :2000/09/08(金) 23:49
11*8 + 17*7 = 23*9
402>397 :2000/09/09(土) 03:48
それは解かった。
しかし、388では文字列の内容が、プログラムを作る時点で
既に決まっているのかを尋ねたのだが‥
他と同じ文字列でなければ、あとから追加登録(上限は8192種)ができたり
文字列を変更できたりする必要があるのか?ということ
403名無しさん@お腹いっぱい。 :2000/09/09(土) 04:56
VC++でtracerouteもどきを作ろうと思ってるのですが
winsockのsetsockoptがIPPROTO_IPやIP_TTLを
サポートしていないようで
IPパケットのTTLを変えられません。
どうしたらいいんでしょうか?
404名無しさん@お腹いっぱい。 :2000/09/09(土) 07:00
>397
PHF(perfect hash function)を高速に作るのは難しいのは常識なので、
重複する可能性はあるものの、あるていど均一に散らせる関数をつかって(>>386 もその一種だね)
テーブルのインデックスを定めた上で、同一のハッシュキーを持つエントリ同士は
ニ分木で管理すれば、ほとんどO(1)で検索できるんじゃないかな。
405>403 :2000/09/09(土) 10:08
ちゃんとRAWソケット作ったの?
406VBVC++ :2000/09/09(土) 11:19
VBではプロシージャを抜ける時に@`自動的にクラスのインスタンスを破棄してくれるのでSet Hoge = Nothing は書かなくても良いとかいてあるんですけど@`形式として書くべきなんでしょうか?又@`確実に破棄してくれるのでしょうか?
407名無しさん@おっぱい。 :2000/09/09(土) 14:35
初期化しようと思って
int table[64];

memset(table@` 16@` sizeof(int) * 64);
としたらtable[0] = 0x10101010になっちゃいました。
memsetはintとかだと思ったように初期化してくれませんね。
というわけで、char以外の型でmemsetのような役目をしてくれる
標準関数はないでしょうか?もちろん、Cで。
408403 :2000/09/09(土) 15:32
>405
ちゃんと作りましたです。unix系では問題なく動いています。
IPパケットのTTL変えるには、setsockoptで
 IPPROTO_IPでIP_TTLを明示的に変更する
 IPPROTO_IPでIP_HDRINCLとし、IPヘッダごと自作する
くらいしか思いつかないんですが、IPPROTO_IPが定義されて
いないようなのでした。
VC++は初めて触るので何か勘違いしてるのかな。
>>407
無い
>>407
つーか、自分で作れば?
2分もあれば作れるっしょ。
そういえば、2chライブラリスレがなかったっけ、プログラマ板の方に
412名無しさん :2000/09/09(土) 16:39
memcpyするです、と思ったけど
srcとdstが重なっている場合のmemcpyの動作は未定義でした
413名無しさん@お腹いっぱい。 :2000/09/10(日) 03:03
ギコさま、わたくしはVC6を使ってるのですが、CPUのIDを調べるための関数を
探しているところなんですが、どうしても見つかりません。一体、CPUのIDって
調べられるものなのでしょうか?
>413 自作自演あげウザイ!
415名無しさん@お腹いっぱい。 :2000/09/10(日) 03:21
>>407

charでmemsetすれば?
416了承(1 :2000/09/10(日) 05:52
template <class T>
T* memsets( T* dst@` T val@` size_t cou)
{
 T* p = dst;
 while( cou-- ) *p++ = val;
 return dst;
}
417名無しさん@名無し :2000/09/10(日) 11:39
memsetは型考えずにやってなかったっけ?
「int型」として初期化したいのなら416のようにループで代入するのが正しいと思う。
ゼロクリアとかならまとめてやってもいいと思うが。
418名無しさん@お腹いっぱい。 :2000/09/10(日) 19:47
>401
0-9を素数に置き換えてかけたら?
0->2@` 1->3@` 2->5@` 3->7@` 5->11@` 6->13@` 7->17@` 8->19@` 9->23
各桁には23より大きいあいことなる素数をかけて、足す...

419403 :2000/09/10(日) 20:22
>418@`401

何をやろうとしてるのかわからん

420401 :2000/09/10(日) 20:33
399のやりかただと、ダブりが多くて、しかも規則性が高いから
つかえん、というつもりだったんだが…
421C言語を勉強中 :2000/09/11(月) 00:15
コンパイルは通るんだけど、プログラムがこける。
こけてる場所は分かるんだけど、原因がわからない。
で、なんか弄ってたら動くようになった。
でも原因がわからないし、再現も出来なくなった。
気になってしょうがない。こーゆー時ってどうするの?
なかったことにする? 再現できるようにして原因探した方がいい?
422名無しさん@お腹いっぱい。 :2000/09/11(月) 09:24
見えないので、書いてみたりして
423四流プログラマー :2000/09/11(月) 09:44
392の「Sqlldr」は、どうやって実行するんでしょうか?
424>421 :2000/09/11(月) 15:04
VC++ならdebugモードでスタックにつまれる変数にゴミを入れてくれる
機能を利用して動かしてみる。
mallocした奴にゴミを入れてテストしてみる。
で、どお?
425名無しさん@お腹いっぱい。 :2000/09/11(月) 18:21
>421
お金持ちなら Purify かけてみるのがよさげ
426名無しさん@お腹いっぱい。 :2000/09/12(火) 01:40
はじめまして。
最近、Delphiをはじめたものです。
自作のアプリにおいて、"常に手前に表示"機能を実装しようと思い、いろいろやってみたのですが、どうにもスマートに実装ができません。

MainFormはAPIを利用して実装できたのですが・・・
子フォームの方がどうも・・・
現在、CreatePramsのoverrideでParantWindowsにMainFormを指定+FormStyleをfsStayOnTopに設定ってな姑息的な方法を使っています。
ですが、これだと、MainFormの"常に手前に表示"の状態の変化に対応できてないみたいなんです・・・

やはり、APIを利用し、OnActivate、OnDeActivateで何らかの処理を施すのが常套なのでしょうか?
どなたか、ご教授ください。よろしくお願いします。
427名無しさん@お腹いっぱい。 :2000/09/12(火) 03:42
VC++であるファイルを読み出し
そのバイナリデータを表示するというプログラムを
作りたいのですがでアドバイスお願いします。
428>426 :2000/09/12(火) 09:56
NormalizeTopMosts は使ってみた?
429403 :2000/09/12(火) 13:06
>403@`405@`408
なんとかTTL変えることができました
setsockoptがIPPROTO_IPやIP_TTLをサポートしていないのではなくて、
単にヘッダファイルに記載されていなかっただけでした。

MSDNってあい矛盾する記述が山のようにあって混乱しますです。
バージョンによって仕様もどんどん変わるみたいだし
こんなんでみんなようやっていけるなと感心しましたです。


430名無しさん@お腹いっぱい。 :2000/09/12(火) 16:52
426です。

>428
すいません、、ないですという以前に、わかりません、、
APIの引数か何かでしょうか??
431>430 :2000/09/12(火) 16:55
ヘルプ検索してごらん
432>427 :2000/09/12(火) 16:58
Vectorからバイナリエディタをダウンロードしてくる。
433>427 :2000/09/12(火) 18:32
バイナリ⇒16進文字列の変換はsprintf(buf@`"%x02"@`dat);を使え。
あとはテキスト表示と何ら変わらんはずだが、他になにか問題があるのか?
>バイナリ⇒16進文字列の変換はsprintf(buf@`"%x02"@`dat);を使え。

sprintf(buf@`"%02x"@`dat);

だよね ;-)
だな…
436427 :2000/09/12(火) 23:03
>432
自分で作りたいんです
>433,434,435
まさにバイナリエディタの表示できるだけ機能をもったもの
というものを作りたいのですが
かなり初心者なもんで,もう少し詳しく教えてほしいです
ここで聞くのが間違っているようでしたら
どこで聞けば良いか教えてほしいです
>427

なにが難しいの?
fopenしてeofまでループして1バイトづつfreadして
printfしてfcloseするだけっしょ。

組んでやってもいいけど、新人の勉強にはもってこい
なんで、やってみろよ。

ここに下手なソース貼り付けるとイヂメられるかもしれん。
煽ラーのネタ振りじゃないかと警戒しちまうぜ。
>427
なにが難しいん?
openしてループしながらreadしてprintfしてeofんなったらclose
するだけだよ。
組んでやってもいいけど、人のコーディングスタイルにケチつける
奴が多いからなぁ。
それと、この手の問題は新人が真っ先に勉強する類のもんだろ。
(勉強なんだから、ガンバロウね)
C言語の入門書には、たいがい載ってるからまねして作れよ。
ああ、ウインドウに表示してスクロールとかしたいのか。
440名無しさん@お腹いっぱい。 :2000/09/12(火) 23:58
しつもん

メンバ変数にそのクラスと同じクラスのポインタ2つを保持するb-treeの
クラス作ったんだけど、上手く継承できない
どーすりゃいいの?
441新米ギコ@DQ中 :2000/09/13(水) 00:06
>>427 大サービス、
  ∧∧    cout.setf(ios::hex);
 (@`@`゚Д゚)    while(!fin.eof()){
Π ̄ ̄ ̄|   fin.read(buf@`256);
|つ C++ ()   for(int i=0;i<fin.gcount();i++)
| |___.|    cout << buf[i];
  ∪∪   } だ!
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (@`@`゚Д゚) < >>440 コードが無いとアドバイスできん!
Π ̄ ̄ ̄| \
|つ pure ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
class A{A* right;A* left;};
class B :public A{public:int sum();}

int B::sum(){
if(leaf) return 1;
return right.sum() + left.sum(); <-ができない
}

要はclass Bをつくっても子にBのメソッドを使えないってこってす
443新米ギコ@DQ中 :2000/09/13(水) 00:55
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>442 Aはメンバ関数もってないだろ!
 UU ̄ ̄ U U  \_____________
444427 :2000/09/13(水) 01:22
皆さんレスありがとうございます
私,Cでならばできそうな気がするのですが
VC++はほとんど初心者なんです
このようなエディタを作る時に参考となる書籍、サンプル、ホームページ
等、などあれば、アドバイスよろしくお願いします。
445名無しさん@お腹いっぱい。 :2000/09/13(水) 02:26
Schemeのlaらむだ式がよくわかりません。
JavaとかCとかC++とかPerlでいうと何をイメージすれば良いでしょうか?
Pythonならlambdaです。
Perl なら sub です。
448名無しさん@お腹いっぱい。 :2000/09/13(水) 15:59
ども、教えて君です。
プログラムの質問じゃないけど関連あると思うのでよろしく。

Windows98用アプリのプログラムアイコン・ツールアイコン作成の仕事するんだけど、
色数って規制あるの?
俺マッカーなんでマック版フォトショにWinのシステムパレット使って
作成しようと思ってるんだけど
他になんか注意することある?
教えて君のくせに、言葉使いがなっとらん!!
残念だな「Winのシステムパレット使う」には何の意味もないぞ。
作成の「仕事」するんなら、仕事先にきけや。(藁
451448 :2000/09/13(水) 17:37
>449
それはどうもすみませんでした。
プログラム版は初めてきたもので、以後気を付けます。

>450
ごもっとも。
でも仕事先との間にいろいろ介在していて細かい確認が全然できないので、
一般的?にどうしてるのかな、と。
どうでもいいが、Macで作られた画像は暗い。Winでつくられた画像は
コントラストが強い。
なぜ?やっぱりデフォルトのγ値の違い?
453名無しさん@お腹いっぱい。 :2000/09/13(水) 17:59
Z80の開発用ホームページを教えて。
>>452
どっちも金をかけて調節しないと使い物にならない
現状で印刷にまわすならMacの方がイメージ通りにでる
つかCG板で聞いたら?
455名無しさん@お腹いっぱい。 :2000/09/14(木) 00:39
白黒2色とシステムカラー16色のを2つ用意します。
それ以上の色が出るかどうかはそれを使うアプリや
ユーザーの環境に依存します。
では↑の2つを用意すれば問題ないかというと
仕事先は多色表示用の(256色やそれ以上)モノを
描いて欲しいのかもしれないわけで‥
やはり仕事先にきちんと確認を取っておかないと
最悪の場合描きなおしなんてことにもなりかねません。
自分の身は自分で守りましょう。
456>452 :2000/09/14(木) 00:41
アドビガンマ入れろ。
457名無しさん@お腹いっぱい。 :2000/09/14(木) 01:11
お気に入りの内容を編集するプログラムを書きたいんですけど@`
例えばMSへのショートカットの内容で

[DEFAULT]
BASEURL=http://www.microsoft.com/japan/ms.htm
[InternetShortcut]
URL=http://www.microsoft.com/japan/ms.htm
Modified=304A86CBBD23BF016B

の中のModifiedキーは何を意味しているのですか?
458名無しさん@お腹いっぱい。 :2000/09/14(木) 01:16
VC++6.0にSP4あてたら、生成ファイルのサイズでかくなって困ってます。
これってSP4あきらめてSP3とかにするしかないんでしょうか。
459名無しさん@お腹いっぱい。 :2000/09/14(木) 04:38
ウィンドウの無いアプリを強制終了させるapiってないですか?
タスクバーに常駐してるマウス拡張のやつを
強制終了→再起動 といきたいんです。
460名無しさん@お腹いっぱい。 :2000/09/14(木) 07:01
自分の作ったプログラム、VCの、デバッグモードでは
ちゃんと動くのにリリースモードで動かないことばっか
理由一杯あると思うけど、コレっての教えて下さい。
もう、さみしくて、さみしくて。
461名無しさん@お腹いっぱい。 :2000/09/14(木) 07:42
>>460
バグがある。
462>460 :2000/09/14(木) 09:01
最適化で動かなくなるってことがあるらしい。
詳しくは知らないけど、どっかのページに書いてあったような
気がするよ
463448 :2000/09/14(木) 10:45
>455
ありがとうございます。
まずはいくつか作って、相手の反応を待ってみます。
464陰陽 :2000/09/14(木) 11:37
>460
一番多いのはポインタの初期化ミスかな。
探すの大変だけど頑張って。リリースモードでもたまに動いたりすると
さらにやっかい。
あとはソースを切り分けてって再現可能な最小構成にしないと。
465>459 :2000/09/14(木) 13:13
TerminateProcess()とかじゃムリかな?
ちなみにタスクバーに常駐してるアプリはほぼ97%ウィンドウを持ってるぞ
見えてないだけ、もういちどさがしてみよう。
466名無しさん@お腹いっぱい。 :2000/09/14(木) 20:47
初歩的な質問ですいませんが。
mallocやnewで獲得したメモリってのはプログラムが終了すると
自動的に開放されるって本で見たような気がするんですが
どうなんでしょう?
だとすれば、よほど大量にメモリを確保しない限りは
free()やdeleteは使わなくても良いんでしょうか?
いわゆる、「メモリリーク」ってやつはどんなときになるんでしょ?
467名無しさん@お腹いっぱい。 :2000/09/14(木) 21:32
floatで加算減算繰り返すだけで(0.0 - 0.1を100回とか)
ゴミみたいの(-10.000001とか)が付いちゃうんですけど
こういうもんなんですか?
468460 :2000/09/14(木) 23:13
>461
ううっ。
>462
そういえばリリース=最適化みたいな図式が頭の中でできあがっ
てました。これからはデフォルトでいったんビルドしてみます。
>陰陽さん
リリースだと初期化のフォローが無くなるんですかぁ。
うー、心当たりあります。そういえばnewの戻り値とか
ほとんどチェックしてないし。ソースも小さくしてみます。
追いやすいってことですよね?

みなさんありがとうございました。
469新米ギコ@一枚目クリアできず :2000/09/14(木) 23:28
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>466 一瞬で終わるプログラムなら気にする必要なし!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>467 二進数で0.1はどうあらわすか知ってるか?
 UU ̄ ̄ U U  \_____________
470名無しさん@1回転 :2000/09/15(金) 01:33
>469
>二進数で0.1はどうあらわすか知ってるか?
これって結局2進数じゃあ表現できないんじゃなかった?
471名無しさん@お腹いっぱい。 :2000/09/15(金) 09:46
>>467
10進数で1/3をどんどん足すことを考えてみよう。
>>470
1*10^-1という表現なら誤差無し。
472>467 :2000/09/15(金) 11:01
最初の0.1が既に正確に0.1ではないからです。
試しに、a=0.1; if(a*10==1) はどうなるでしょうか?
まあ最適化されて==になるかもしれませんけど
473名無しさん@おっぱい。 :2000/09/15(金) 12:38
コンソールアプリをC言語で作っているのですが、
プログラム中で別のコンソールアプリを実行させることは可能でしょうか?
特にデータの受け渡しとかはしません。ただ、実行すればいいのです。
よろしくお願いします。
474名無しさん@お腹いっぱい。 :2000/09/15(金) 13:15
Cの質問です。

int buf[2];
int *ptr=buf;

buf[1]=(int)buf;
ptr=(int*)*(ptr++);

としたときに、ptrはbufの先頭を指すと思っていたのですが、指しません。
Win98+cygwin32のgccです。俺、なにか重大な覚え違いをしてますか?
結局、一回別のポインタはさんでなんとかしたんですが。

>>473
system("コマンドライン");
でどうですか?
同期をとるならfork/execが良いかも。Winで使えるかどうかは知りませんが。
475名無しさん@おっぱい。 :2000/09/15(金) 13:35
>>474
どもです。system使ってみます。

ptr=(int*)*(++ptr);
でうまくいくんじゃないですか?
476474 :2000/09/15(金) 13:56
あー、スンマソン。
もっと別の勘違いをしてました。ソースを見直したら上手くいきました。お騒がせしました。
474の例だと、多分475さんのパターンでもどっちでも上手くいく気がします。
あー、ハズカチ。
477名無しさん@お腹いっぱい。 :2000/09/15(金) 14:05
>474の例だと、多分475さんのパターンでもどっちでも上手くいく気がします。
474と475だと結果は違うよ。まぁ、解決したからいいか。
478467 :2000/09/15(金) 21:18
469-472さんありがとうございます
なるほどー、二進数の0.1は10進数の1/3みたいなものなのか。
デバッガで追うと、ちゃんと0.10000なので安心しちゃってたです。
a=0.1; if(a*10==1)、確かにVCで通りませんでした。こういう
時はBCD型使えって手元の教本にはあるのに、そんな型どこにも
無いし。1*10^-1、どうにか試させて頂きます。本当に感謝です。

ここでまともなレス頂けるとは思ってなかっただけに嬉しいなぁ。
479新米ギコ :2000/09/17(日) 23:22
  ∧∧
  (@`゚д゚)  < http://64.71.133.118/test/read.cgi?bbs=accuse&key=969112160&st=18&to=18&nofirst=true
 ヽ/つ且~~  公式対応らしい
  (__ _)
    ^
480名無しさん@お腹いっぱい。 :2000/09/17(日) 23:34
481名無しさん@お腹いっぱい。 :2000/09/18(月) 00:29
他のアプリケーションの窓の大きさをデスクトップ領域より
大きくするにはどうすれば良いのでしょうか?
目的のウィンドウハンドルを取得し
SetWindowPos(hWnd@` HWND_TOP@` 0@` 0@` 2000@` 1000@` SWP_NOMOVE);
って感じでしてみても デスクトップ領域 (私の環境ですと
1024 x 768) より大きくする事はできないんです…
どなたか、具体的な方法をご存知でしょうか?
482名無しさん@お腹いっぱい。 :2000/09/18(月) 03:18
純粋なプログラムの質問ではないので恐縮なのですが、
ゲームを作るときに使う同じ種類の画像(爆発パターンとか)
を並べて1ファイルにした画像ファイルがありますよね。
あれをどうやって作るのかが分からないのです。
ペイントソフトでもできることはできるのですが、
画像を並べて結合するという作業にはあまり向いていないようです。
どこかにその機能のみに特化したようなソフトはありませんか。
またみなさんはどうしているのでしょうか。教えてください。
483>482 :2000/09/18(月) 06:18
元々並べて描いてるばやいが多いね。
つーか、連結ソフトくらい半日で作れ。
484名無しさん@お腹いっぱい。 :2000/09/18(月) 19:07
>474@` 475
鼻の穴から何か出てこなかった?
485名無しさん@お腹いっぱい。 :2000/09/18(月) 19:24
JAVAの用語で「サンプル数」と「バンド」の意味、教えてください
486482 :2000/09/18(月) 19:35
>>483
なるほど。
なるべく楽をしたかったのですがそうもいきませんか。
ありがとうございました。
487名無しさん@お腹いっぱい。 :2000/09/18(月) 21:53
Java始めたいなって思ってるのですが、フリーで
揃えられるベストな環境ってどんなのですか?
詳しいかた、「これはっ」てのあったら教えてください。

いまさらVC6のエディタ機能から離れられるか
不安だったりするのですが。メンバ自動表示とか。
でもVJは買いたく無いなぁ。金無くって・・・・
488名無しさん@お腹いっぱい。 :2000/09/19(火) 06:59
Autoexec.batのパスやクラスパスを変更後、再起動しなければ
反映されないみたいなのですが、すぐにできる方法はありませんか?
Win98SEです。どうぞよろしくお願い申し上げます。
489名無しさん :2000/09/19(火) 08:08
SET
>489
それで通じるとは思えないんですが・・・
491名無しさん@お腹いっぱい。 :2000/09/19(火) 11:00
Cのステップ数を求めるアルゴリズムを教えてください。
492名無しさんi486 :2000/09/19(火) 11:08
cat|wc
493名無しさん@お腹いっぱい。 :2000/09/19(火) 12:35
>491
.cのサイズを求めて1行の平均バイト数で割るってのはどう?
494名無しさん@お腹いっぱい。 :2000/09/19(火) 13:07
>491
なにをもって1ステップと言うのかね?
>>488
set PATH=%PATH%;c:\APPROPRI\ATE_PATH\NAME
496名無しさん@お腹いっぱい。 :2000/09/19(火) 17:26
>491
こんなのどう?
1.空白以外の文字を黒にして2値イメージを作成する
2.3×3バイキューブリック補完をしながら多値イメージに変換する
3.しきい値より黒い領域の面積を求める
4.(3の面積/全体の面積×全ソースの平均行数)に補正係数をかけて
 ステップ数を求める
497名無しさん@お腹いっぱい。 :2000/09/19(火) 23:22
>491
セミコロンを数えてみたらどうだろう?
498>487 :2000/09/19(火) 23:23
JBuilderじゃダメなの?
あとhttp://www.vector.co.jp/ とか。
499おとぼけ君 :2000/09/20(水) 03:51
>496
全体の面積はどのように求めたらよいのでしょうか。
よそのスレ読んでたら、どうやら掛け算で求めるらしいゾ>面積
501おおっ! :2000/09/20(水) 05:34
>>500
勉強になりました。

って、ぉぃ
502おとぼけ君 :2000/09/20(水) 05:42
>500
>501
早速の回答ありがとうございました。
私の質問が適確でなかったようです。
面積を求めるのには、縦×横、を計算しなければならないと思います。
ここで縦はソースの行数と思うのですが、横に何を入れたらよいか、が
どうしても分かりません。ソースのファイルの数でしょうか。
初心者なので勘違いをしているのであれば遠慮なくご指摘ください。
よろしくお願いいたします。
<491
全ソースの平均行数はどうやって求めるんだろう・・・
504503 :2000/09/20(水) 05:48
<496 でした。
505503 :2000/09/20(水) 05:49
などといっているうちに502といきちがいに… ああ、マヌケなワタシ。
506名無しさん@お腹いっぱい。 :2000/09/20(水) 05:58
いやmensekiはkakezanの具象化だから…
ってすれが違うだろ
507なんだ、結構みんな :2000/09/20(水) 06:02
読んでるんだね、って、スレが違う(その3)
508名無しさん@お腹いっぱい。 :2000/09/20(水) 06:32
>498
ありがとー、でもJBuilderはちょっと自分には高いんです。
DOS窓開いてJDK使ってるとなんか切なくなるのでウィンドウズからできる
使いやすいのはどれかなのかなぁ、って思い質問したのですが・・・
横着せずベクター行って試します。すいませんでした。
509496 :2000/09/20(水) 11:11
>502
横:ソースに含まれる最長行のバイト数以上なら何でもいいです
縦:ソース行数
としてください
無駄に白くなりますが、その部分は換算に影響しないので問題ありません
>503
継続行は無視して、全ソースの改行文字を数えてください
>496
ありがとうございました。おかげで計算できました。
ただ、1つ困ったことがあります。多値->2値の閾値はCRTの輝度により
決まると思うのですが、この簡単な計算式がどこかにありましたら
教えていただけないでしょうか。それが載っているURLだけでもよいです。
いろいろ申し訳ありません。
511496 :2000/09/20(水) 12:52
>510
閾値はCRT輝度には関係しませんよ。って話は横に置いといて

ソースの印刷物を3mくらい離して見たときと似たイメージになるように、
閾値を適当に調整してください
厳密なコーディング規約のないプロジェクトでしたら、コーディングスタイルを
考慮し、個人毎に閾値を調整してください
>閾値はCRT輝度には関係しませんよ。って話は横に置いといて
見当はずれな質問してしまって申し訳ありません。
自分でももうすこし考えてみます。また分からないことがあれば
質問させていただくかもしれません。丁寧な説明ありがとうございました。
513>508 :2000/09/20(水) 17:44
JBuilder3.5 Fundationはフリーだって・・・
もっと自分で情報収集しないと・・・
514名無しさん@お腹いっぱい。 :2000/09/20(水) 18:44
>>513
登録は必要だけどね。
で、入れたはいいけど遅すぎ/メモリ喰いすぎで即アンインストール。
大部分がJavaで書かれていて、Javaにしては頑張ってるそうだけど、
頑張ってもあんなに重いんじゃねぇ。
伝統の「エディタ表示が崩れる」バグもあるし。

統合開発環境なんていらんから、もっとこう画面作成ツールに特化
したような奴はないもんかのう。
515cool java :2000/09/21(木) 00:56
JAVA@i-modeで何か面白い遊び方とかないですかね?
http://www.zdnet.co.jp/news/0009/20/imode_java.html
ない
517>513 :2000/09/21(木) 06:30
ぎゃー、お察しの通りインフォシーク検索で一項目だけ見て
普通の3.5、68000円なりで即断念てぇなもんでした。すいません。
> 516
うーん、でも・・・。
518さきっぽだけ :2000/09/21(木) 10:57
最近、VBを使ってオラクルに接続していろいろやってみようと思い本を
片手にやっているところです。
オラクルには下記のようにやったら繋がりました。

Public OraSession As Object
Public OraDatabase As Object

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase(oraDB@` oraUSER & "/" & oraPASS@` 0&)

この後オラクルを切断したいのですがいったいどうすれば良いのでし
ょうか?また、この手のことが書いてある良いページがあったら教え
ていただきたいです。よろしくお願いします。
519>518 :2000/09/21(木) 13:25
きしゅつかもしらんが
http://www.int21.co.jp/pcdn/
520名無しさん@お腹いっぱい。 :2000/09/21(木) 13:28
Set OraSession = Nothing

オブジェクトの開放。
521さきっぽだけ :2000/09/21(木) 17:08
>519
ここは知りませんでした。為になります。どうもありがとう

>520
ぼくも一回それをやってみたのですが、はたしてそれでいいのか?と
思っていました。多分ぼくの考え方や知識が間違っているとはおもっ
ていたのでこの答えは自信が無かったです。どうもありがとうです。
522さきっぽだけ :2000/09/21(木) 17:11
>519
ここは知りませんでした。為になります。どうもありがとう

>520
ぼくも一回それをやってみたのですが、はたしてそれでいいのか?と
思っていました。どうもありがとうでした。
523>518 :2000/09/21(木) 17:13
がいしゅつですが、そこは劣悪環境です。
524520 :2000/09/21(木) 17:32
>522
COMのデストラクタにセッション切断があるんじゃないの?
と思う。

確かにセッションはオブジェクトが開放されるときに切断されるみたい。
Oracle Instance Manager (で確認)
printfで2進数表示したいときはどうすればいいんでしょうか?
526名無しさん@お腹いっぱい。 :2000/09/21(木) 21:46
>525
1ビットずつ反復して、
  ビットが立っていたら、printf("1");
  そうぢゃなかったら、printf("0");
528525 :2000/09/21(木) 22:12
>>527
やっぱその方法しかないんですか・・・。
ありがとうございました。
2進表示の関数でもこしらえます。
529名無しさん@お腹いっぱい。 :2000/09/21(木) 22:41
パスについての質問です。
JDKのbinにパスを通し、ちゃんとjavac.exeはできました。
クラスファイルを作成し、実行しようとしましたが、
java.exeコマンドが上手く動きません。

試しに
C:\>java
とすると、
Usage: JAVA.EXE [-options] class [args...]
(to execute a class)
or JAVA.EXE -jar [-options] jarfile [args...]
(to execute a jar file)

where options include:
-cp -classpath <directories and zip/jar files separated by ;>
(以下略)

のように表示されるので、パスは合っていると思います。
しかしクラスファイルを指定すると、
C:\>java test
Exception in thread "main" java.lang.NoClassDefFoundError: test

となってしまいます。
どなたか解決法を教えてください。
(JDKとJビルダーを両方インストールしているので、java.exeも
2つあるので、そのへんがおかしいのでしょうか?)
530名無しさん@お腹いっぱい。 :2000/09/21(木) 23:10
>>529
それはCLASSPATHの問題だよ。
君は恐らくPATHとCLASSPATHを混同している。
531D使い :2000/09/21(木) 23:51
>529
C:\java Test
の間違いでは?
Javaは大文字と小文字を区別します。
532>525 :2000/09/22(金) 00:01
テーブルを作成するのも良いかと
533529 :2000/09/22(金) 00:10
>>530-531
JavaHouseでクラスパスの勉強をしてきました。
カレントディレクトリをクラスパスに含めることで、
無事解決できました。どうもありがとうございました。
534名無しさん@お腹いっぱい。 :2000/09/22(金) 05:27
Javaで気になることがあります。
修飾子publicが付くclassが一つのソースファイルに複数存在できない
のはなぜなんでしょうか?

今「独習Java」で勉強中なのですが、上記についての記述は見当たり
ません。
535名無しさん@お腹いっぱい。 :2000/09/22(金) 07:37
>>534

そーゆー「決まり」だから。
と思っておけば良いんじゃない?
パッケージとディレクトリの対応とかも。
536名無しさん@お腹いっぱい。 :2000/09/22(金) 11:03
もとは1ファイル1クラスという決まりだったからね。
ディレクトリ = パッケージ
ファイル = クラス
ということになっていた気がする。
537横レス :2000/09/22(金) 11:21
Javaのアーキテクチャが
ファイル名=ファイル内の唯一のPublicクラス名
の対応を利用して何かをやってるからじゃない?
538名無しさん@お腹いっぱい。 :2000/09/22(金) 13:01
Javaドキュンなのですが教えてください。

publicでないclassのメソッドをpublicにしている
サンプルソースをよく見かけるのですが、
これはどう言う必要性があるからでしょう?

そのclassを継承したpublicなclassが該当メソッドを
オーバーライドした場合にpublicであることを強要する
ためかなー?

教えてえらい人!
539横レス :2000/09/22(金) 13:41
メソッドのpublic属性は、C++のそれとおなし意味。

クラスのpublic属性は、全然違う意味。
クラスにpublicついてないと、同一ソースファイル以外の
クラスからはNEWしたり出来ないでしゅ。
540538でしゅ :2000/09/22(金) 15:09
>>539
誤:同一ソースファイル以外の
正:同一パッケージ以外の

ですよね?
541名無しさん@お腹いっぱい。 :2000/09/22(金) 19:56
コモンダイアログの拡張をしているソフトを見かけるんですが
あれはどうやって実現しているでしょうか?
特定のアプリだけでというのでなく、すべてのアプリで
たとえばオープンダイアログが拡張されるようなものです。
542534 :2000/09/23(土) 02:46
>535@`536@`537
ありがとうございます。
あまり拘らずに次の学習に進みます。
543名無しさん@お腹いっぱい。 :2000/09/23(土) 21:53
ちょっとしたファイル識別用のマジックナンバーを決めたいんですが、
ABCDEFを組み合わせた8文字の気の効いた単語ないですか?
今のところの第一候補はfeeb cafe(低脳喫茶)です。
面白いの希望。
544名無しさん@お腹いっぱい。 :2000/09/24(日) 01:17
ギコベーどうなったん?
545名無しさん@お腹いっぱい。 :2000/09/24(日) 03:09
>487

JBuilder動かすのにわ、マシンパワー必要デス
カーソルキーを押しっぱなしにすると、滑らかに動かん
JDK1.3だと、結構動き良くなったらしいけど

Buleteeどぉ?私の環境ではうまく動いてくれなかったけど

546487 :2000/09/24(日) 05:43
>545
あ、どうもー。ネット繋ぐ度にちまちま落として、今ようやく半分ってとこ
なのですが(^^;マシンパワーですかぁ。なんかくじけそうです。セレロンの
無理して450ってとこなんですけど、どうでしょうかねー。
情報ありがとうです。
547名無しさん@お腹いっぱい。 :2000/09/24(日) 06:10
>>546
それくらいだったらCPUパワー的には大丈夫。
でもメモリは128MBじゃきついよん。
あぁ、右見ても左見てもバカばかり..
549名無しさん@お腹いっぱい。 :2000/09/24(日) 12:11
class Vector3 {
  float x@` y@` z;
 
  Vector3(float x@` float y@` float z) : x(x)@` y(y)@` z(z) {}
  ...
}
このコンストラクタって合法なんですか?
なんかちゃんと初期化できてはいるみたいなんですけど。
550>549 :2000/09/24(日) 12:40
>>365-371
バカ同士、がんばろう!
552549 :2000/09/24(日) 20:12
ああ、がいしゅつだったか。
ありがとう550さん、がんばろう551さん。
553バカ殿 :2000/09/24(日) 22:35
(´Д`;))))ハァハァ・・・ドコノページヘイッテモ、Javaアプレットガ キドウシナイノデスガ、ドウシタライイノデショウカ・・・?
(´Д`;))))ハァハァ・・・チナミニ、IE5デJavaハチャントonニシテイマス・・・
(´Д`;))))ハァハァ・・・ホントニワカリマセン・・・ドウシタラデキルカオシエテイタダケナイデショウカ・・・?
554>553 :2000/09/24(日) 23:57
よくわかんないけど最近のIEはSUN苛めのためかデフォルトだとJavaが入ってないこともあるらしい、、、
(OSのバージョンとかIEのバージョンとかの組み合わせによってはJava入らないらしい)
WindowsUpdate逝って最新のJavaVMを追加インストールしてみたら?
はずしていたらごめん。

あと、セキュリティレベルの設定の「Javaアプレットのスクリプト」ってのは
「JavaScript」のことだからまちがえないようにね。
C/C++@`Java用IDE & 画面作成ツール(フリー)
 http://objectcentral.com/
>あと、セキュリティレベルの設定の「Javaアプレットのスクリプト」ってのは
>「JavaScript」のことだからまちがえないようにね。

Winは詐欺師根性いつになったら抜けるんだろ。
・・・永久に無理?Me駄目駄目らしいしなあ。
557名無しさん@お腹いっぱい。 :2000/09/26(火) 03:50
「VC++ができる」って言ったら、MFCもできるって意味が含まれるの
ですか?求人雑誌とかみてると気になるのですが。含まれるんなら嫌だなぁ。
558名無しさん@お腹いっぱい。 :2000/09/26(火) 06:26
おれだったらMFCかAPI直か、どっちかだろな、って思うな。
559名無しさん@お腹いっぱい。 :2000/09/26(火) 07:55
コンパイラのバグとしか思えない状況に遭遇したら、どうしますか?
ちなみに物はVC++6.0 SP4。
560名無しさん@お腹いっぱい。 :2000/09/26(火) 09:06
とりあえず俺なら、「思ったようにうごきませ〜ん。きっとシステムのバグで〜す」という
アホとは差別化を図るために、具体的にコンパイラのどこにバグがあるかを述べるな。
561>559 :2000/09/26(火) 10:16
コンパイラのバグだと騒ぎまくった挙げ句、
自分の勘違いだと気付き大恥をかく。に一票。
562名無しさん@お腹いっぱい。 :2000/09/26(火) 10:27
コンパイラのバグかもしれない、つーんだから、アセンブルコード
見てみるんだろうな。
あと、バグの再現する一番短いコードを作ってみる、とか。
いずれにしても、結局は自分のケアレスミスに1票。
563田中 :2000/09/26(火) 11:03
表形式のデータベースのように使える、
クラスってあるのでしょうか?(SQLによる操作と同等のことができたり)

そんな便利な物はやっぱりないかな・・・
564>563 :2000/09/26(火) 11:22
VCLにあるけど?
.XLSをデータソースに指定してODBC。
566U-名無しさん :2000/09/26(火) 12:30
【現象】PowerBuilderで作ったソフトを作りました。
基本的に24時間運用が可能としているが、
現状では、プログラムを起動したままにしておくと
 2日程度で、メモリリークが原因と思われるエラーが発生し
 終了してしまう。

 WEB上で「PowerBuilder メモリリーク」で検索を行ったところ
 以下のような記述はありましたが、
  −−−−−−−−−−−−−−−−−−−−−−−−−−
  PowerBuilderのアプリケーションをサーバアプリケーションとして
  動かす時の注意として、メモリーリークを起こすということに
  注意する必要があります。
  これはユーザオブジェクト関数が呼び出され、終了時に使用した
  メモリが完全に開放されないため起こるもので、アプリケーションの
  使われ方にもよりますが、24時間連続で長期間運転する時に問題となります。
  この場合UPS等の自動制御でサーバ・マシンを定期的にシャットダウンするか、
  手動でサービスを停止・起動することにより回避できます。
  −−−−−−−−−−−−−−−−−−−−−−−−−−
 この方法は、単純に定期的にプログラムを再起動しろ、といっているようです。

 プログラムの再起動ではなく、もっと根本的な原因から対処するような
 情報がありましたら、教えて下さい。
567名無しさん@お腹いっぱい。 :2000/09/26(火) 13:40
>559
メッセージフックして自作関数内で前後処理って感じかなぁ。
よくやるよ。CTimeとかCDatabase周りでクラッシュすること
多いし。

>566
メモリリークが嫌ならツールなんぞに頼らずに自分でゼロビルド
からやらないと。根本的な対処っていうけど、外販されてる
BLACKBOXみたいなもの使ってて根本的対処はできんよ。
ツール選択は会社の方針でうだうだ、ということなら、
何か会ったら運用で逃げる、というのも会社の方針にセット
しとかないとな。
568>566 :2000/09/26(火) 13:43
良く分からんけど、ライブラリにメモリリークする部分があるの?
だったら、開放しない仕掛けにするしかないんじゃない?

一旦作ったオブジェクトは開放せずに、空きマークだけ付けて
後でnewの時に、空きマーク付きの同一オブジェクトを探して再利用させるとかね

569名無しさん@お腹いっぱい。 :2000/09/26(火) 16:13
SQLのSelect句で、
「A列の"0"という値だけ抽出し、結果からB列の値を集計し、C列とする。
 また、A列の"1"という値だけ抽出し、結果からB列の値を集計し、D列とする。」
という事はできますでしょうか?またヒントを頂けると幸いです。よろしくお願いします。
570名無しの笛の踊り :2000/09/26(火) 16:30
>569
いってることが良くわかりません。
まず、「分かりやすい日本語」を覚えてください。必須技術。
571569 :2000/09/26(火) 16:37
すいません。突っ込まれるかな、と思っていました。え〜っと・・・
まず、A列の値が"0"のレコードを抽出します。そして、B列の値を集計します。その結果をC列にします。
同時に値が"1"のレコードを抽出し、B列の値を集計して、D列とします。
どうでしょうか?やっぱり拙い文章ですね、すいません。
572SQLうろおぼえ :2000/09/26(火) 16:53
UPDATE テーブル名
SET C VALUES
(SELECT SUM B FROM テーブル名 WHERE A=0)
WHERE A=0
とか?じえんじえん自信無いのでsage
573569 :2000/09/26(火) 17:52
>572さん
Update句を調べてみましたが、う〜んすいません、違うみたいです。
select sum(A * B) as C from Table
といった事をして列を作成したいのですが、
select sum(A=0のレコードのB列) as C@`sum(A=1のレコードのB列) as D from Table
といったイメージだと思うのですが・・・
なんだか無理な事をしようとしているような気がしてきました。
できないのかなぁ?
574田中 :2000/09/26(火) 17:55
>>563
すいません、VCLって何でしょうか?

>>565
マジですか?煽りですか?
575しゃーぷっ :2000/09/26(火) 18:22
いわゆるMapとか連想配列で使われているデータ構造を教えてください。
木構造であることはだいたい分かるんですが、どんな構造にすると、
挿入と削除と探索のバランスがとれた構造になるんでしょうか?
576名無しさん@お腹いっぱい。 :2000/09/26(火) 18:23
AVL木かB木、場合によってはSA(自己組織)木
577>576 :2000/09/26(火) 18:27
即レスありがとうございます。
その辺のキーワードから吟味してみます。
578お腹さん@無名しいっぱい。 :2000/09/26(火) 19:22
>>554
あ、、、有り難う御座いました。。
それ聞いてWindowsUpdate逝ってうろうろとしてたら、IE5.5が出てたので、
ついでに、、と思いインストールしました。
そしたらちゃんと動いてくれました。。
579名無しさん@お腹いっぱい。 :2000/09/26(火) 19:26
Win98/95でMS-DOSで、
>doskey
とすると、ドスキーを組み込み、
↑キーで、以前のコマンドを覚えてくれますが、
Windowsを終了すると、無効になります。
どうすれば、ずっと有効になりますか?
580>579 :2000/09/26(火) 19:43
autoexec.bat
詳しくはこっちで聞け
http://mentai.2ch.net/pcqa/index2.html

ところで、
>Windowsを終了する
「MS-DOSモードで再起動」か?
581名無しさん@℃素人 :2000/09/26(火) 20:40
ソースファイルとヘッダファイルってどう違うの?
582名無しさん@お腹いっぱい。 :2000/09/26(火) 20:52
適当に書くと後でものすごく大変なのがヘッダファイル。
581が考えた処理を書くのがソースファイル。
583581 :2000/09/26(火) 20:58
ソースとヘッダのファイル名バラバラでもいいのですか?
ソースとかヘッダとかひとつのプロジェクトに複数作る事の意味って何ですか?
584みぢかくゐうと :2000/09/26(火) 21:29
ヘッダは宣言、ソースは定義。
585名無しさん@お腹いっぱい。 :2000/09/26(火) 23:13
     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
(-_-)<  ライブラリとかで必須になるね     |
(∩∩)  \_____________________/
586名無しさん@お腹いっぱい。 :2000/09/27(水) 02:48
http://www.vaw.ne.jp/apt/koji-y/java/jvrrc.htm

        ↑ これってどぉよ?
587名無しさん@お腹いっぱい。 :2000/09/27(水) 09:39
webプログラムというか、httpのお決まりの問題かもしれないのですが…

php3で掲示板を作ってみたのですが、IE と NC で動作が違う理由が
わかりません。イメージは

投稿→ファイル処理→自己をリロード→通常閲覧

なんですけど IE はちゃんと最新の情報を表示しているのですが、
NC は書き込む前の情報になってしまっており、手動でリロード
しないと書き込んだ内容が表示されていません。2chはちゃんと
出ているので自分のせいですが理由がよくわからないです。

<?
function 書き込み処理($name@`$email@`etc....) {
# 書き込み処理
$URL = "Location: http://giko.com/hanya-n.php3?";
header($URL);
exit;
}
if ($mode == "post" && $text!="") 書き込み処理($name@`$email@`etc...);
?>
<html><body>ふつーの処理
<?
#ファイル内容表示処理〜
?>
588名無しさん@お願いっぱい。 :2000/09/27(水) 09:45
自分でツールバーを追加したんだけど、
それの状態とか、位置を保持したいんだけど、どーすりゃいいんざんしょ?

MSVC++です
>588
ストレージにその情報保存しろ。他に方法あるのかよ?
590名無しさん@お腹いっぱい。 :2000/09/27(水) 11:30
C++/Win で開発をしています。
DBアクセス、ソケット通信等を行うサーバアプリなのですが、
品質と効率の面から市販クラスライブラリを検討しています。
何かお勧めのものはあるでしょうか。
591名無しさん@お腹いっぱい。 :2000/09/27(水) 13:59
あのー、エクスプローラなんかのファイル画面を詳細表示に
した時に、“名前”、“サイズ”、“ファイルの種類”、“更新時刻”
なんて出ていて、表を制御している部分がありますよね。
あの機能ってなんて名前なんですか?

あれを自分のプログラムにいれたいんだけど、
機能名が分からないから、とっかかりがわかんないんですです
592名無しさん@お腹いっぱい。 :2000/09/27(水) 14:22
>>591
リストビュー
593>587 :2000/09/27(水) 14:23
キャッシュに残ってるだけじゃない?
594名無しさん@お腹いっぱい。 :2000/09/27(水) 15:11
JAVAアプレットでブラウザに表示されてる画像を取得して表示する方法ってないですか?
595591 :2000/09/27(水) 18:20
>>592
ありがとです
596名無しさん@お腹いっぱい。 :2000/09/27(水) 22:34
キーボードの状態を得る、っていうAPIの使い方教えてください。
>594
PrintScreenしてメモ帳にペースト(藁
598597 :2000/09/27(水) 23:43
ぐはっ、笑ってくれ、メモ帳じゃなくてペイントのつもりだったんだ・・・。
599>>598 :2000/09/28(木) 00:07
ははは、マジボケか!
600MS-DOS :2000/09/28(木) 01:08
DoS攻撃っていうのはなんて読むんですか?
ディーオーエス?
ドス?
教えてください。
601>>600 :2000/09/28(木) 03:20
ドンタコス
602名無しさん@お腹いっぱい。 :2000/09/28(木) 07:36
なんだ!ここにもぞぬはいないのか!
そんなスレに用はない。
逝こう。
603名無しさん@お腹いっぱい。 :2000/09/28(木) 09:25
ログイン前に起動するようにするにはどーすればいい?
(WIN2K)
604>603 :2000/09/28(木) 09:36
サービスプログラムにする。
605名無しさん@お腹いっぱい。 :2000/09/28(木) 11:09
>>603
invokerとかServAnyとか使ってサービスとしてロードさせる。
606VisualBasicのDataReportについて :2000/09/28(木) 12:04
VisualBasicのDataReportについて

DataEnviromentをつかってDataReportで印刷しようとしているときに
DataReport内の比率を印刷したいんですけどどうしたらいいのでしょうか?
一週間くらい悩んだんですけどよくわかりません。

すいませんがだれかおしえてもらえませんか?
DataReport

----------------------------------------------------------------------
グループフッター
----------------------------------------------------------------------
集計区分←「この区分でグループ分け」
----------------------------------------------------------------------
詳細
----------------------------------------------------------------------
担当者   売上   消費税    計
----------------------------------------------------------------------
グループフッター
----------------------------------------------------------------------
担当者(合計)  売上(合計)  消費税(合計)  計(合計)

原価 原価率←??ここに 原価/売上(合計)の率を表示したい??
----------------------------------------------------------------------
レポートフッター
----------------------------------------------------------------------
.
.
.
607名無しさん@お腹いっぱい。 :2000/09/29(金) 02:11
ねこ様Windowsプログラムについて教えてください。

メインウインドウやダイアログボックスのような物を作成する場合に
プロシージャを作成します。
こいつをC++でクラスのメンバ関数にしたいのですが、うまく出来ません。

つまり、ClsDialogとかってダイアログクラスを作成した場合に、そのクラス自体を
一つのダイアログオブジェクトとして扱いたいのです。
608あなたのうしろに名無しさんが・・・ :2000/09/29(金) 03:16
何すか? これ?

#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <errno.h>
#include <netdb.h>
#include <signal.h>

int main(int argc@` char **argv)
{
int probeport = 0;
struct hostent *host;
int err@` i@` net;
struct sockaddr_in sa;

if (argc != 2) {
printf("Usage: %s hostname\n"@` argv[0]);
exit(1);
}

for (i = 1; i < 1024; i++) {
strncpy((char *)&sa@` ""@` sizeof sa);
sa.sin_family = AF_INET;
if (isdigit(*argv[1]))
sa.sin_addr.s_addr = inet_addr(argv[1]);
else if ((host = gethostbyname(argv[1])) != 0)
strncpy((char *)&sa.sin_addr@` (char *)host->h_addr@` sizeof sa.sin_addr);
else {
herror(argv[1]);
exit(2);
}
sa.sin_port = htons(i);
net = socket(AF_INET@` SOCK_STREAM@` 0);
if (net < 0) {
perror("\nsocket");
exit(2);
}
err = connect(net@` (struct sockaddr *) &sa@` sizeof sa);
if (err < 0) {
printf("%s %-5d %s\r"@` argv[1]@` i@` strerror(errno));
fflush(stdout);
} else {
printf("%s %-5d accepted. \n"@` argv[1]@` i);
if (shutdown(net@` 2) < 0) {
perror("\nshutdown");
exit(2);
}
}
close(net);
}
printf(" \r");
fflush(stdout);
return (0);
}
609名無しさん@お腹いっぱい。 :2000/09/29(金) 04:36
VBで作成したアプリケーションのメインの計算処理部分だけをVC++で作成したDLLへ差し替えた場合、処理速度はどの位向上するでしょうか?
610名無しさん@お腹いっぱい。 :2000/09/29(金) 06:27
>>608
DoS attack狙いのつもりなんだろか...
しかしconnectしてるのにacceptedとは如何に
>>609
アレ位。

つか、計算内容にもよるんだから一概に言えないだろが。
>>609
その位。
遅くなる事はなさそうだけど。つーか、無理やりネタさがして書いてない?
「DLLって言葉を覚えたんでちゅか?よかったでちゅね?」などと煽りたくなるなぁ…
613きのこベンダー :2000/09/29(金) 14:12
>>609
DLLはデバイスドライバ
OSそのもの。
614609 :2000/09/29(金) 14:27
>611
そうですね、質問の例が悪かったです。

>613
なんとなくわかりました。

>612
手元にある書籍には「C@`C++はVBより処理速度が速いので確実に効果がある」
と書いてあって、
学校の先輩は「DLLにアクセスするって事は確実にオーバーヘッドが発生するわけだから@`よほどの負荷がかかる状態か再利用目的には全くする価値無し」
って言われたので@`どっちの意見が一般的か知りたかったんです。

お騒がせしました。
615名無しさん@お腹いっぱい。 :2000/09/29(金) 14:50
>>613
>DLLはデバイスドライバ
>OSそのもの。
これは、有名なネタデスカ?
ネタにしては頭悪杉
616名無しさん@お腹いっぱい。 :2000/09/29(金) 14:56
>学校の先輩は「DLLにアクセスするって事は確実にオーバーヘッド
>が発生するわけだから@`よほどの負荷がかかる状態か再利用目的に
>は全くする価値無し」
この先輩の頭にもオーバーヘッドが発生してるよ。
617きのこベンダー :2000/09/29(金) 15:39
>>615
じゃあ、DLLってなんなんだよ!
デバイスドライバって説明できんのか?
DLL=デバイスドライバに決まってる。
DLL=デバイスドライバです
きのこベンダー最高!!
きのこベンダーの頭にもオーバーヘッドが発生してるよ。
620名無しさん@お腹いっぱい。 :2000/09/29(金) 15:46
>619
きのこベンダーの頭にはウィルスも(以下略)
621きのこベンダー :2000/09/29(金) 15:53
学校の先生が教えてくれたんだから、間違いない!
その先生はSQLとかすらすら組めるすごいSEだった、
それと、おまえらおれの事をバカにするな!
622名無しさん@お腹いっぱい。 :2000/09/29(金) 15:56
学校の先生の頭にもオーバーヘッドが発生してるよ。
デバイスドライバ=OSそのもの
のーみそオーバーヘッドステキデスネ
624こんなの2秒 :2000/09/29(金) 17:11
DLLってばダイナミックリンクライブラリだろうがよ。
きのこってば人のこと信じすぎ。
625つーか :2000/09/29(金) 17:47
いくらなんでもネタだろうがよ。
>>625
いやいや、きのこベンダーはフルカラーにパレットが必要とか言ってるからね。
よって、きのこベンダーを真性電波と認定します。(藁
http://piza.2ch.net/test/read.cgi?bbs=tech&key=970122477
627きのこベンダー :2000/09/29(金) 18:12
きょうはきのこ食い過ぎて逝ってました。
みんなもキノコ喰え!喰え!

んーと、オーバーヘッドと罵った方々、オーバーヘッドって意味わかってる?
わかってねーだろーから、きのこ喰え!
CEではデバイスドライバはDLLなんだぞ!
理解できねーだろーから、きのこ喰っとけ!
628Be名無しさん :2000/09/29(金) 18:22
「SQLとかすらすら組める」って日本語へんだけど きのこ萌え〜〜〜〜〜〜
629きのこベンダー :2000/09/29(金) 18:26
>>628
わかってるじゃねーか!
国語は1か2しか取ったことがない!
いや、それ以前におれは言語障害者だ!
とにかくきのこ喰え!
DLLはDynamic Link Library。
動的に読み込めるライブラリのこと。
呼び出し元プログラムのバイナリにはリンクされず、
プログラム実行時にローダーによりリンクされる。
また、同一メモリ上にアロケートされたライブラリを
各プログラムから共有することもできる。
(→リンクカウント)

……「ライブラリ」くらいは理解できるよね?
仮にもプログラム板なんだし。

きのこ食いすぎるとキチガイのフリして自分の間違いをチャラにできるようになるのか。
おでもきのこ食おう。
632>630 :2000/09/29(金) 18:35
WIN32あたりからは、各プログラム毎にリニアでフルな仮想メモリ空間を
与えられますから、DLLで同一メモリを共用される事はなくなりました。
>>609
数値演算の中身にもよるけど、ある程度ループになるような演算だったら
DLLに追い出したほうが早くなる可能性は高いよ。
なぜならVBの数値演算は1回1回型チェックをするのでつもりつもって結構な時間を食う。
634きのこベンダー :2000/09/29(金) 18:45
>>630
バカにするな!
毎日行ってる!
昼過ぎに起きて、公園でご飯食べて図書館行くのがオレの日課だ!
図書館はみんなで共有なんて、当たり前だろ!
おまえ、きのこ喰ってるか?
>きのこベンダー
あなた・・・・・脳が極端に弱いようです。
すでにオーバーフローしてますよ。。。
636名無しさん@お腹いっぱい。 :2000/09/29(金) 19:42
ビル・ジョブスの別の人格?
637609 :2000/09/29(金) 20:01
>633
ありがとうございました。
手元にVC++もあるので色々試して速度測って見ます。

あともう一つ気になるんですけど、
Dim h As clsHoge
set h = New clsHoge
・・・
で、VBはプロシージャを抜ける時に自動的にクラスのインスタンスを破棄してくれるので
Set h = Nothing
を書かなくていいって覚えていたんですけど、
本当にメモリ上から破棄されているのか、メモリの内容を覗き見るにはどうしたらいいんでしょうか?
638きのこベンダー :2000/09/29(金) 20:08
>>635
気にしてる事言うな!

>>636
だれだそれ?

そろそろおれは仕事する。
皆もきのこ買ってくれ!
じゃーな。
639>609 :2000/09/29(金) 20:17
確実に破棄されているから大丈夫だよ。
あとクラスクラスって今騒いでるみたいけど,一時の流行みたいなものだからVBでは重要ではないよ。
俺もVB専門だけど,必要性感じたことないし。
640名無しさん@お腹いっぱい。 :2000/09/29(金) 20:35
>>632
共有セクション作る事はできるけど。
>あとクラスクラスって今騒いでるみたいけど,一時の流行みたいなものだからVBでは重要ではないよ。
>俺もVB専門だけど,必要性感じたことないし。
「VB専門だから、必要性を理解できない」が正解。
>639
日本って平和だね・・・
643Java4日目のぺーぺー@お腹いっぱい。 :2000/09/30(土) 02:13
Java知ってる方に質問です。
3日前からJavaを始めて、
今日はListクラスを使おうかな〜って思いプログラムを組んでみました。

public static void main(String[] args) {
//リストの定義
LinkedList list = new LinkedList();
//格納する文字列の定義
String buffer;

//リストに要素を挿入
list.add("1 名前:名無しさん");
list.add("逝ってよし");
list.add("2 名前:名無しさん");
list.add("おまえモナー");

//反復子の定義
Iterator ite=list.iterator();
//リストから要素を取り出す
while(ite.hasNext()!=false){
buffer=ite.next(); //ここをbuffer=(String)ite.next(); にしました。
System.out.println(buffer);
}
}

それでです。Iteratorクラスのnext()の返り値がObject型で、
型に互換性が無いって、エラーが出ました。

そこで、わたしの少ない頭では、
next()の返り値にキャストするしか対処法が思い付かなかったのです。
果たして、こんなやり方でよろしいのでしょうか?
凄く不安です。ご指導のほどをお願いします。
P.S.
多分、インデントがついてない・・・というか、知らないので・・・
2chでのインデントの付け方も教えていただければ幸いです。
644名無しさん@お腹いっぱい。 :2000/09/30(土) 08:53
>そこで、わたしの少ない頭では、
>next()の返り値にキャストするしか対処法が思い付かなかったのです。

おれも同じだよ。
それ以外の、すっきりスマートな方法ってお目にかかったことないよ。

#だーら、Javaにもtemplate欲しいんだよ〜
>641
VBでもクラスの概念はあります。
OOではないですが。
646名無しさん@お腹いっぱい。 :2000/09/30(土) 09:36
逝けるはずだけど...つーか今試してふつーに実行できたけどな。
あんまし関係ないような気もするけどJDKのバージョンは?

インデントは全角スペース
647646 :2000/09/30(土) 09:39
あ、これじゃ意味不明か。castできるはずだけど。

import java.util.*;

class list {
 public static void main(String[] args) {
  LinkedList l = new LinkedList();
  l.add("aaa");
  l.add("bbb");

  for (Iterator it = l.iterator(); it.hasNext(); ) {
   String s = (String)it.next();
   System.out.println("s = [" + s + "]");
  }
 }
}
648643 :2000/09/30(土) 13:27
>646
いま、JBuilder3を使っています。
(確か、JDK1.2だったと思います。)
649633 :2000/09/30(土) 14:18
>>637
heapwalkerで見てごらん。

>>639
なかなかユニークなご意見をお持ちのようで。 :-)
650名無しさん@お腹いっぱい。 :2000/09/30(土) 14:27
僕のVC++peは、設定でプロファイルを行うのボタンをおすとインクリメンタルリンクを行うがonになります。
しかしctrl+eを押すとできました。
どうしてか教えてください。
651名無しさん@お腹いっぱい。 :2000/09/30(土) 15:10
>644
LinkedListとIteratorをコンポジションしたString専用
イテレータ付きリンクリストクラス作っといたら?

そうすれば、とりあえずキャストするのはそのクラスの
メンバメソッドだけになるよ。

Templateとあんまし手間変わんないと思うけど。
652646 :2000/09/30(土) 16:53
あ、すんげー読み間違いしてた。
castしてエラーが出るよーて話じゃなかったのね。。。鬱だ氏のう。。
653名無しさん@お腹いっぱい。 :2000/09/30(土) 23:35
僕の中で最も重要な質問をしたいんですが
プログラムするのに機材やソフトっているのですか?
それともパソコン一台と知識さえあれば何とかなるものなんですか。
そういえば、Windowsの隠しAPIってどうなったんですか?
655cafe>653 :2000/09/30(土) 23:58
むかし、Z80のハンドアセンブルやってた。書籍くらいは必要だね。
でも、いまじゃ無理でしょう。コンパイラくらい無いと。
656名無しさん@お腹いっぱい。 :2000/10/01(日) 02:23
>655
ありがとうございました。
さっきコンパイラをダウンロードしたんだけど、
どうやらソースファイルの拡張子がcでないと受け付けないらしいんです。
僕のメモ帳とワードはtxtだから、せっかく作ったプログラムもどきが受け付けられず、ほとほと困り果ててます。
なんとかなりませんか。
657>656 :2000/10/01(日) 02:38
えー、プログラミングには最低限のコンピュータに関する知識が必要です。
こちらへどうぞ。
http://mentai.2ch.net/pcqa/index2.html
>>650
Developer Studioのバグ。同じ位置に2つのcheckboxが重なってる。

>>654
sysinternel.comとかでntdll.dllのAPI勝手に解析したコード載せ
てたりするけど。
659658 :2000/10/01(日) 03:55
なんか意味不明だった。
ntdll.dllのAPI勝手に解析したコード

ntdll.dll解析して、そのUndocumented API呼び出すコード

\winnt\system32\*.dll見てると結構他にも面白そうなのあるんだよね。
フォーマット & chkdskのAPIとか。
660名無しさん@お腹いっぱい。 :2000/10/01(日) 06:08
VBです。
指定したディレクトリに目的のファイルが存在するかを調べるWin32APIはどれでしょうか?
661名無しさん@お腹いっぱい。 :2000/10/01(日) 06:47
>660
ないよ
CreateFile
663名無しさん@お腹いっぱい。 :2000/10/01(日) 16:59
質問です。
サーバLinux/Java←RMI→クライアントLinux/Java

ちゃんと動くようになればコストパフォーマンスは
究極だとおもいますが、普及するでしょうか?
664663 :2000/10/01(日) 17:01
Sol8のライセンス無料になったから、サーバSolarisでも
オッケイかな。
665間違い探し :2000/10/01(日) 17:18
import java.io.*;

public class rei1901
{
   public static void main(String args[])
   {
      String strg;
      InputStreamReader rei=new InputStreamReader(System.in);
      BufferedReader data=new BufferedReader(rei);
      System.out.print("データ入力");
      System.out.flush();
      try {
         strg=data.readLine();
         System.out.println("キー入力は"+strg+"です。");
         } catch (IOException e) {
         System.out.println(e.getMessage());
    }
  }
}
全角スペースとか?だったら頭悪ぅ。。。
667名無しさん@お腹いっぱい。 :2000/10/01(日) 18:21
>>665 気にするな。それはただ勘違いしてた。
鬱だし悩。
668名無しさん@お腹いっぱい。 :2000/10/01(日) 18:24
>>666 レス番違い。鬱だ氏悩×2。
669名無しさん@お腹いっぱい。 :2000/10/01(日) 19:20
PostgreSQLの\l のようにtableの一覧を表示する
コマンドはオラ狂うにもあるんでしょうか?
SELECT * FROM user_table
671名無しさん@お腹いっぱい。 :2000/10/02(月) 10:24
>>661
_FIND_FIRST@`_FIND_NEXTじゃないの?
672名無しさん@お腹いっぱい。 :2000/10/02(月) 12:07
pDC->MoveTo(100@`100); pDC->LineTo(100@`200);
pDC->MoveTo(100@`100); pDC->LineTo(200@`100);
pDC->MoveTo(200@`100); pDC->LineTo(200@`200);
pDC->MoveTo(100@`200); pDC->LineTo(200@`200);
4本の線を書いて、四角を書きました。
でも、win98の場合、四角の 200@`200 の位置が繋がってません。
w2kの場合、ちゃんと繋がってました。
もちろん pDC->Rectangle(100@`100@`200@`200); では、繋がってます。
どうしてですか?
673名無しさん@お腹いっぱい。 :2000/10/02(月) 13:33
#include<stdio.h>

int main(void)
{
char c;
c = 'A' ;
 /*なんで数が違ってもいいんですか*/
printf("%d %x %c\n"@` c@` c );

return 0;
}

674>673 :2000/10/02(月) 13:45
#include<stdio.h>
int main(void)
{
char c = 'A' ;
 /*単にスタックのごみが表示されるだけだからです*/
printf("%d %x %c\n"@` c@` c @`c@`c); /* 多いのはもっと大丈夫*/
return 0;
}
675名無しさん@お腹いっぱい。 :2000/10/02(月) 14:05
#include<stdio.h>

int main(void)
{
   int i;

   scanf("%d"@`&i");
   printf("何だと!?ふざけるな!");
   return 0;
}
676675さん@お腹いっぱい。 :2000/10/02(月) 14:07
scanf("%d"@`&i"); ⇒ scanf("%d"@`&i);
677名無しさん@お腹いっぱい。 :2000/10/02(月) 17:55
/*少ないのはなんでだめなんですか*/
printf("%d %x %c\n"@` c);
678名無しさん@お腹いっぱい。 :2000/10/02(月) 18:11
>>677
printf("%s\n");
とかやって実行してみろ。
ちなみに、多い分には無視されるだけで実害なし。
679>672 :2000/10/02(月) 21:42
(100@`100)-(200@`200)とかじゃなくて(1@`1)-(3@`3)とかやって
zoominとかで拡大してみてみましょう。
680>672 :2000/10/02(月) 21:44
あ、線は1本づつ引いてそのつど拡大して見てね。
681>672 :2000/10/02(月) 22:14
> w2kの場合、ちゃんと繋がってました。
これホントなの? ホントだったらなんかヤダナ‥
682名無しさん@お腹いっぱい。 :2000/10/02(月) 23:33
すいません。お聞きしてよろしいでしょうか?
リストコントロールで仮想リストを使いたいと思って、
LVS_NOITEMDATAフラグを使おうと思ったのですが、CListCtrl::Createの
ヘルプに載っているのに「定義されていない識別子です」と言われます。
これはVCのバージョンの問題でしょうか?
他のバージョンではLVS_OWNERDATAみたいですが、それも駄目でした。
VC4.0です。
以下が参照したURLです

>http://www.geocities.co.jp/SiliconValley/8656/VC/LV_003.htm

Createのソースを見てみたら、引数をそのままウインドウスタイルとして
渡しているだけのようなので、とりあえずLVS_NOITEMDATAの定義値が分かれば使えるはず。
683名無しさん@お腹いっぱい。 :2000/10/03(火) 02:05
>682
LVS_NOITEMDATAはもうなくなったみたい。

LVS_OWNERDATAは _WIN32_IE が0x300以上じゃないと
見えないみたい。
最新のSDKダウソしてみるとか。
ちなみに
#define LVS_OWNERDATA 0x1000
でした。
684名無しさん@お腹いっぱい。 :2000/10/03(火) 06:29
ゲームコントローラを読むAPIについて教えてください
685672 :2000/10/03(火) 10:47
実際やりたかったことは任意のマス目を書きたかったんです。
for(kk = 1;kk < 6; kk ++){
  pDC->MoveTo(10@`kk*10); pDC->LineTo(50@`kk*10);
  pDC->MoveTo(kk*10@`10); pDC->LineTo(kk*10@`50);
}
てな 感じにね。

>>679-681
レス、サンクス。(1@`1)-(3@`3)やってみたよ。
LineTo()は、その直前のピクセルまでしか引かないんだね。
・・・win2000に同じプログラムを走らせたら、
指定ピクセルまで、線を引いていました。
win98とwin2000では1ピクセル違うんだね。これって周知の事実?

もう1つ質問。N88BASIC(ふる〜)とかの描画で、psetって1ピクセルを書く
命令があったけど、そういうのってありますか?
686名無しさん@お腹いっぱい。 :2000/10/03(火) 10:59
COLORREF CDC::SetPixel( int x@` int y@` COLORREF crColor );
COLORREF CDC::SetPixel( POINT point@` COLORREF crColor );
ね。
687672 :2000/10/03(火) 12:00
ありがと。 >>686
688名無しさん@お腹いっぱい。 :2000/10/03(火) 22:47
>683
うまくいきました。どうもありがとうございます。
項目数が2万位なので体感的に255倍くらい速くなりました。
689C++初心者 :2000/10/04(水) 06:26
今まで1ファイル1クラスでやってた者なのですが、最近デザインパターンの本
買って読んでたら、なんか再利用可能なクラス設計の場合、かなり多くのクラスを
作らなきゃみたいで、とても1ファイル1クラスではやってけない感じです。

こんなのは人によって違うと思うのですが、まぁ雑談ついでにでも熟練者の皆様は
どんな感じなのかちょっとお訊かせ願えませんか。
690C :2000/10/04(水) 06:43
int
char
の読み方を教えてけれ。
691名無しさん@お腹いっぱい。 :2000/10/04(水) 06:44
Win板で質問したんですが、放置されてしまいました。
ここなら誰かお答えもらえると思ってコピペします。

Kommix(IEの右クリック拡張ツール)の「サーチエンジンで検索」
をGoogleに当てるのに、 WINDOWS\WEB\MENUEXT.HTMの
s[8]="FAST Search|http://www.ussc.alltheweb.com/cgi...の下に
s[9]="Google|http://www.google.com/search?q=_search"を付け加えました。
で一応動くんですけど、変更点はここだけで良いですか?
勝手にs[9]とか付けたんで、だんだんメモリリークしてそうなんですけど。
javaスクリプトに詳しい方、お教え下さい。
692名無しさん@お腹いっぱい。 :2000/10/04(水) 08:03
当方Kommix持ってないので分からんが・・
javaスクリプトならメモリリークなんて
気にしなくてもOKじゃない?
693名無しさん@お腹いっぱい。 :2000/10/04(水) 08:12
intはいくらなんでもイントだと思うぞ。
charはチャラ、僕の場合。チャーとかキャーとか言う人は
逝って下さい。
694693 :2000/10/04(水) 08:15
チャラじゃないですぅ、チャラじゃないでぅ。
キャラでゥ

ウトゥだし能
695名無しさん@お腹いっぱい。 :2000/10/04(水) 09:22
intはインテジャ、charはキャラクタと呼んでるけど…。
でもLPBYTEはエルピーバイトだな。
うむむむむ。
696>690 :2000/10/04(水) 09:27
この板初心者の人は ここ見る事
http://piza.2ch.net/test/read.cgi?bbs=tech&key=970400968&to=2

人に聞けない用語QA で 読み方も担当してるようですよ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=966837121
697名無しさん@お腹いっぱい。 :2000/10/04(水) 11:03
charを「キャラ」とか「チャラ」などと言う人は(以下同文)
698名無しさん@お腹いっぱい。 :2000/10/04(水) 11:24
archive を アチーブ とゆっているのには ぶっとんだ
699>all :2000/10/04(水) 11:32
そのネタ用のスレはこっちです

なんて発音したらいいのか教えて!
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=969154762
700名無しさん || die :2000/10/04(水) 12:09
>>691
JavaScriptの配列は全てハッシュなので気にしなくて良し。
a[1] は a["1"] と同等。
701名無しさん@お腹いっぱい。 :2000/10/04(水) 12:27
C++での関数ポインタについてなんですが、
「doubleを返す関数へのポインタ」の配列をnewで動的に作るにはどうしたらいいのでしょうか?

double (**pf)(void) = new double (*)(void)[n]; // nは配列のサイズ

と書いたら、

initialization to `double (**)()' from `double *'

といわれてしまいました。
702名無しさん@お腹いっぱい。 :2000/10/04(水) 12:37
>>701
typedefしろ。

typedef double(*DblFunc)();
DblFunc *pf = new DblFunc[n];
703701 :2000/10/04(水) 12:58
701さん、どうもありがとうございました。
704701 :2000/10/04(水) 13:00
自分にお礼いってどうするんだ…
702さんでした、ごめんなさい
705>701 :2000/10/04(水) 13:14
double (**fp)(void) = new (double(**)(void))[n];
キミがやりたいのはこういうことかな?
newは結合順位が高いから気をつけな。
そのへん自身が無いならtypedefしろ。
706691>名無しさん || die :2000/10/04(水) 13:57
どうもありがとうございます。
つっても、よくわかんないですが(^^;
大丈夫そうですね。
707691 :2000/10/04(水) 14:04
あう、敬称付け忘れた。すいません。
名無しさん || dieさん でした。
708名無しさん@お腹いっぱい。 :2000/10/04(水) 15:49
C++における質問です。
newでヒープを割り当てる代わりに、
どうしてもmallocを使いたいのですが、許されますか?
サイズはsizeof(class)で取得できるのでしょうか?
よろしくお願いしまつ。
709名無しさん@お腹いっぱい。 :2000/10/04(水) 17:21
>>708
許されます。取得できます。
でも、C++で書く意味が無いです。
710名無しさん@お腹いっぱい。 :2000/10/04(水) 17:28
>709
そうですね。というか特殊な場合を除いてやめた方が良いですね。
711漢太郎>708 :2000/10/04(水) 17:29
仮想関数とか使ってないならいいけどね。 使ってる?
712名無しさん@お腹いっぱい。 :2000/10/04(水) 18:02
>708
コンストラクタが呼ばれないんじゃなかったっけ?
713708 :2000/10/04(水) 18:34
>>709-712
レスありがとうございます。
やりたいことは、
1.ユーザーに欲しいメモリーのサイズを答え
2.ユーザーにメモリーを確保してもらう。
3.ユーザーに確保したアドレスを公開しているCの関数に渡してもらう。
4.Cの関数中でclassを定義して、もらったメモリーを使用する。
って感じです。自分ではmallocもnewもしちゃいけないのです。
 ・・・自分で動的にメモリーを取得できず、また、
Cの関数と構造体を使ったインターフェースでは限界がありますか。。?
714漢太郎>713 :2000/10/04(水) 18:39
だったら new をそういう動作に書換えたらいい
classだったらコンストラクタを呼ばないとVMTもセットされないから
715名無しさん@お腹いっぱい。 :2000/10/04(水) 18:48
>>713
placement new?だかで実現可能。

あるいは、適当なインスタンスを作ってそれをmemcpy。
‥‥‥ってのは冗談なので、本気にしないように。
ところで、これは単なる好奇心だけど、この場合RTTIは機能するのかな?
716漢太郎 :2000/10/04(水) 19:05
class なんとか {

・・・省略・・・
public:
 void* operator new(size_t size) { return 渡されたメモリポインタ;}
 void operator delete(void* p) { 使いおわった事を知らせる; }
・・・省略・・・
717708 :2000/10/04(水) 19:10
>>716
おお。newをオーバーロードするにしてもそんな簡単なことでいいんですか。
ありがとうございます。。C++は初心者なもので。
 ところで、>>711-715の人が言っているように
C++の機能がしっかり働くのでしょうか?
 まぁ、コンストラクタに関しては無理そうですが、
仮想関数もRTTIも別に問題はなさそうに感じるのですが。。。
あと、VMTってなんですか?仮想関数のV-table(<-だっけ?)のことですか?
718>717 :2000/10/04(水) 19:11
716の方法はその他の方法と違って問題ない
719名無しさん@お腹いっぱい。 :2000/10/04(水) 19:53
VMTのVは仮想、Mはメソッド、Tはテーブル
720名無しさん@お腹いっぱい。 :2000/10/04(水) 22:53
msn.co.jp の宣伝なに?
化膿姉妹?
趣味わりー
721ぼやき :2000/10/05(木) 00:55
C言語で
int f(int x@` int y){...}
のように定義された関数を、
int f();とプロトタイプ宣言されていたばっかりに、
長らくバグが潜伏していたらしい。

C言語での引数梨のプロトタイプ宣言は int f(void);
だっちゅーの。ムカツク。
722名無しさん@お腹いっぱい。 :2000/10/05(木) 01:15
質問です。開発環境はNT4でVC++6.0。

実行するコードを書き換えながら走るようなことが、ど〜しても必要になりました。
で、実行時に領域確保して、そこに実行コードを書き込んで、関数としてジャンプしたいな〜
って思ったんですが、メモリマネージャの野郎がそこは実行領域じゃないみたいなフラグもってたりとか、
あと実行コードの入ってるところは書き換えられないとかガチガチっス!
あと、それ以前にx86のセグメントがどうとか。

つまり、なんとかなりませんか? できればCPUに依存しない方法が良かろう。
723名無しさん@お腹いっぱい。 :2000/10/05(木) 01:38
スタックぶっ壊すのでは無理かなぁ
724名無しさん@お腹いっぱい。 :2000/10/05(木) 02:23
>722
自分でVMみたいなのを作って、その上で走らせる
というのはどうでしょう
725名無しさん@お腹いっぱい。 :2000/10/05(木) 02:32
>722
うーん。自己書き換えが必要なケースって思いつかない...
それやると何ができるの?

大昔に高速化テクニックとして解説されてたことがあったけど

726名無しさん@お腹いっぱい。 :2000/10/05(木) 02:55
>>722

LISPで書け(藁
727722 :2000/10/05(木) 02:58
ども、みなさまレスありがとうございます。

>>725
ホントのところを大まかに言うと、ターゲット環境では実行モジュールは
ROMの上にあって、普通はそこで実行されるんです。
(ROMのそのモジュールがある場所ごと仮想アドレスにマッピングされる)

ところがある処理中に、そのROMが一時的に読めなくなるんです。
そのときに、どうしても実行しないといけないコードをRAMに持ってきて
実行したいわけです。(割り込みの保留とかその他いろいろデス)

>>724
上のような事情なので、その例でもVM(つかインタプリタ?)自体を
動的に作ってそこで実行したいわけです。

まぁ事情は別にして、テクとしてもできるのかどうか興味があるんで、
ご存じの方はよろしくお願いします。アセンブラが混じってもOKっス。
>727
そのターゲット環境では VC++ から ROM 上のルーチンをコールするんですか?

729722>728 :2000/10/05(木) 03:25
ちゃいます。ホントはPlatformBuilderです。開発はNT@` 実行はWinCEです。
でもコンパイラやリンカやOSは、問題部分に関してVC+NTと変わらないんで。

あくまで、Windows上で実行コードを動的に作る技
っていうふうに一般的に考えて頂けるとうれしいです。
730ネコ麦茶 :2000/10/05(木) 03:39
>事故書き換えの件
ちょっとCEだと、ターゲットプロセッサの問題が出てきますが、
大筋の話を。

win32では ReadProcessMemory()とWriteProcessMemory()が用意され
ており、恐らくこれによって、プロセス内のコードも書き返れるものと
思われます。

ただし、CEでこのAPIがあるかはわかりません。
x86だと、スレッドの使用するLDTを取得する関数もあります。
(GetThreadSelectorEntry())
731>722 :2000/10/05(木) 11:19
やったことないから分からないけど
VirtualAllocでflProtect引数にPAGE_EXECUTE_READWRITEを
指定してメモリを確保してから、そこにコードを書き込んで実行
してやればいい気がするんだけど。
VirtualAllocならCEも1.0以降で対応しているらしい。

だめ?
732731 :2000/10/05(木) 11:21
追加 VirtualProtectでページのフラグを変えてもいいとおもうが。
733722 :2000/10/05(木) 11:48
>>731 それだっ! とっかかりにしてみます。

>>730 Read/WriteProcessMemoryだとページの属性の問題が残るんですが、
なんかプロセス間通信では面白そうっスね。
734V7mnt :2000/10/05(木) 11:53
> 自己書き換え
書き換えじゃないですが、メモリ中にネイティブコードを書いて
実行するという話は昔、
http://www.sun-inet.or.jp/~yaneurao/
ここで読んだ気がします。
CEでできるかは分かりませんが…。
735こういうのを書くツールを考えたんだけど既にある? :2000/10/05(木) 13:15
  掛癈掛りゞゞィ−ィゞゞゞりぐづホ公叉叉談骸癈鑼蠅鑼料
 ィ鰯徽公りぐィ−ヽヽィ−ゞぐぐづ公叉叉炎談骸癈臟鑼蠅瓣−
 ぶ骸談冬りゞィ−、、−−ゞィゞづホ冬炎炎談掛鰯飆鑼蠅飆ぶ
 叉徽談冬りぐ−−ヽヽ−−ゞゞゞりぶ冬叉炎料骸識飆臟臟飆ホ
 愆掛談叉りゞ−−ヽ−ィィィィ−ゞづ冬炎愆談掛鰯飆臟臟識ぶ
 談掛談冬りぐゞヽ 、−−ィ、ィ公皴識瓣瓣鰯皴骸癈瓣瓣識づ
 づ料愆づり冬炎冬公ぶりゞゞ−炎皴癈癈飆鑼鑼癈骸徽飆鰯皴ぐ
 ヽ彩叉り公鰯識瓣瓣鰯料公ぐり炎料料料骸識臟瓣鰯皴飆皴談
  叉彩掛皴鰯徽皴鰯鰯癈料ホ冬掛徽鰯徽徽鰯識飆飆癈瓣徽料−
  ホ料冬ホ叉炎炎骸鰯徽談ぶ料愆彩徽飆鑼識鰯徽徽掛徽鰯皴ホ
  ぐ彩冬づ炎徽鰯臟鰯鰯愆冬愆談愆愆愆掛掛癈徽談料識識掛ホ
  り談づり炎公ぐ公愆愆冬ホ叉掛炎叉叉彩彩談愆炎談癈識骸づ
  ホ料ゞぐづぐぐ公彩り彩づホ徽愆冬炎彩炎ホ公叉談鰯瓣徽ぐ
  り愆ぶィ−−ぐぐゞぐ公ヽり料談ホぶづぐづ公炎料皴瓣徽
  ヽ料りぶゞ−ィぐぐホィヽり冬炎愆ホホホ叉炎彩愆鰯識料
   掛ゞゞぶ冬冬叉ホづ−ヽづ炎談彩公炎彩炎彩愆愆徽皴ぐ
   ホぐぐゞゞぐぶ冬ぐ−ヽづ叉叉掛公ぶぶ冬愆料料骸談ヽ
   ヽりぐゞゞり公りぶ愆ホ彩徽癈徽彩冬叉愆談談掛骸料
    −ぐぐりづぐヽぐぶ炎鰯識徽料叉冬彩掛掛談掛掛彩
    、りづづぐゞ−ヽ、りづ叉炎炎叉冬炎談料掛骸掛ぶ
     ぐりりりぐゞ−ヽィりホ叉愆談愆彩彩料掛骸骸り
     ィづりぶ公炎愆愆談皴癈鰯癈癈骸愆彩談骸骸談
     、づづぶ掛掛談彩ホ炎愆掛鰯癈鰯愆料皴徽皴愆
      ホ叉叉叉りぶ彩炎料皴鰯徽掛叉掛鰯識鰯鰯鰯ゞ
      −彩彩づゞぐホ愆皴癈鰯掛彩料骸識識癈鰯骸鰯
       ホ彩ホりゞゞゞづ公叉炎愆掛徽癈識識彩骸鑼徽ゞ
       冬掛料ホづりぶ冬炎彩愆骸鰯識瓣瓣掛ヽ識蠅蠅飆愆
736名無しさん@お腹いっぱい。 :2000/10/05(木) 13:17
つか既に有るツールで作ったAAだろ!
回線切って首つって氏ね!
737735 :2000/10/05(木) 13:20
アルゴリズムだけだけどね・・
738735>736 :2000/10/05(木) 13:21
いや、コピペ。
739>735 :2000/10/05(木) 14:28
興味あるからアルゴリズムを説明して。
色の濃淡に応じて文字を割り当ててるだけの気がするけど
そんな安直ではないか。。。
いきなり話題がうんこレベルになったな。
元の絵をフォントサイズの区画に分けて、
一個一個照合して、一番あう字を探すだけだろ。
741740 :2000/10/05(木) 14:59
ちなみに、その絵つくったツールも、
固定ピッチが前提で作られてるはず。
ふーむ。
1ドットづつYCrCbにわけて、Yの値がある閾値より上なら
白、下なら黒とみなして白黒2値化。
これでフォントテーブル上の各文字のドットと比較する。
同じ点にドットがあれば1@`なければ0として一番得点の高い文字を表示。
……というところかな。

白黒2値画像にするときに誤差拡散でも使ったほうがいいかな?
743739>740 :2000/10/05(木) 15:42
なるほど。。
枠を切って、1pixelづつみて「当たり」・「外れ」の数を数えて
当たりがもっとも多い奴を採用するの?
 で、フォントは総当たり?すっげー時間かかりそうだな。。
744うんこってゆーなーーー(ワラ :2000/10/05(木) 16:09
ふーん既にあったか・・(で、どこ?)

やろうと思ったことは、まぁそんな感じ
フォントはTTね、あと使用フォントテーブルをユーザに選ばせよう
って思ったんだ。

例えば、木編の漢字だけとか、魚編だけとか、
“馬鹿ばかバカあほ阿保アホ・・・”なんて文字列から
生成するなんてね。

じゃ。
745さきっぽだけ :2000/10/05(木) 16:16
友達がVB5を使ってなんか作ったようなのですが、「プロジェクトを
開こうとすると"アプリケーションエラー"がでてVB5が終了しちゃう
んだよぉ、どうしたらいいんだぁ。」って聞かれてコマっています。
確か、どこかのファイル名が長くなるかどうかして起こる現象だった
と思うのですが…忘れてしまいました。どなたか原因と対処法を教え
てくれませんか?よろしくお願いします。
746名無しさん@お腹いっぱい。 :2000/10/05(木) 16:21
VCで変なtypedefした型や変数名が多くて困ってます。
TCHARのTって何?
LPCTSTR lpszのszって何?
747名無しさん@お腹いっぱい。 :2000/10/05(木) 16:24
szはa String terminated with Zeroでしょ。
tcharは知らないけど。
748746 :2000/10/05(木) 16:33
>>747
なるほどNULL文字で終わった文字列のことですね。
749名無しさん@お腹いっぱい。 :2000/10/05(木) 16:38
あNULL
750通りすがろ :2000/10/05(木) 16:42
T=TEXT?
751名無しさん@お腹いっぱい。 :2000/10/05(木) 17:40
TはUNICODEを使うかどうかで型が変わります
ちなみにTの意味も分からず
LPCTSTR string = "アホ";
みたいに書いている人がいますが、この記述は誤りです
752名無しさん@お腹いっぱい。 :2000/10/05(木) 17:51
JAVAのint型って何バイトですか?
753名無しさん@お腹いっぱい。 :2000/10/05(木) 17:52
32
754>753 :2000/10/05(木) 17:59
4
755753>754 :2000/10/05(木) 18:03
あう。そうだ。(w
756名無しさん@お腹いっぱい。 :2000/10/05(木) 19:43
プログラムの勉強はじめたばっかのものです。えーっとC++なのですが、
後々便利な様、クラスに目一杯メンバ関数を色々詰め込んで、さらに継承で
再利用したりしていたらどんどんソースが長くなって心配になってきました。

質問なのですが、あとでそのクラスを利用する場合、そのプロジェクト中では
一度も呼び出さないメンバ関数なんかも、実行型ファイルに組み込まれてファイル
サイズ増やしてしまうのでしょうか?あまりに初歩的な質問ですいません。
757漢太郎>756 :2000/10/05(木) 20:00
仮想ならあやしいけど、でなければまず組み込まれない筈
758名無しさん@お腹いっぱい。 :2000/10/05(木) 20:01
普通は削除されるけど、、

ところでこういうところであらかじめ誤ってしまうのって
意味ないと思う。

実際変な質問をしてしまっているなら
かえって煽りを誘発すると思うのは俺だけ?
759756 :2000/10/05(木) 21:39
>756
よかったぁ、大丈夫なんですね。基底クラスであんまり長い仮想関数書くこと
なさそうだし、これからは思う存分、汎用なコード考えて書きまくれそうです。
レス、ありがとうございました。
>758
やや、これはこれは。どうも初心者の質問ってウザガラレそうで不安なんすよ。
760>759 :2000/10/05(木) 22:06
>どうも初心者の質問ってウザガラレそうで
場所さえ間違えてなければ、そんな事はない。
761名無しさん@お腹いっぱい。 :2000/10/05(木) 23:44
うむ
どういう意味で汎用といっているのか・・・
日付処理と文字列処理とネットワークの処理をまとめて1つのクラスにぶちこんでいないことを祈る。

756の彼はインタフェース設計というのを知っているのだろうか?
764逆コンパイラ探し5日目 :2000/10/06(金) 03:56
>Decompiler for programs written in Visual Basic 3.0.
これってVisual Basic 3.0しか対応してないって意味ですか?
765756再 :2000/10/06(金) 06:46
>760 ここは大丈夫ですか?さずがにスレ立てたりするのは避けてますが・・・・。
>762
オスッ、やってないのでご安心下さい。むしろどれひとつとしてまともに
できません・・って感じです。汎用ってのは「今は使わないけどあると後々便利
かもしれない」ってのを用意しとこう位の感じで使ってました。あとsetget系は
つかわないけど完備しとおくか、みたいな。
>763
うーん、今、身を削って購入したEffectiveC++(2ch情報)とか熟読中なのですが
いかんせん自分にはまだレベルが高すぎて・・・・。
766>765 :2000/10/06(金) 07:02
というか、ここが質問場所も見つけられない初心者用の質問箱だ

だが、ここもそろそろ満杯だな。 だれが面倒みてくれ
767C++初心者 :2000/10/06(金) 07:50
>>756
というか、オブジェクトは関連のある情報(データとメソッド)をひとくくりにする
ものだと思うんだけど。 つまり
>後々便利な様、クラスに目一杯メンバ関数を色々詰め込んで、さらに継承で
>再利用したりしていたら
この考え方をすること時点でC++を便利なCだと考えている節があると思うんだけど
どお?いや、僕も初心者なんで上級者の意見を聞きたいなと思ってね。
768>767 :2000/10/06(金) 08:42
意見を聞きたいというような長引きそうな話題は専門スレを作るか
既存スレで下がっているスレ(話題の終わってそうな)で適当なのを
使って下さい。 例:
http://piza.2ch.net/test/read.cgi?bbs=tech&key=969425855&ls=50
ここで盛り上がってしまうと、質問し難くなるかもしれませんからね
769グラマっち :2000/10/06(金) 09:37
VBなら、オレに聞け!みたいなスレが無いのはなぜでしょうか?
770グラマっち :2000/10/06(金) 09:42
VBの参照設定で追加されたライブラリからのイベントを受取る
関数のプロトタイプは、どうやって調べればいいのでしょうか?
VBのクラスファイルって一体いつ使うのでしょうか?
ノミとティラノサウルスは何の関係があるのでしょうか?
772人生C++ :2000/10/06(金) 12:10
MSDNで、const_castのところに載ってる__unalignedってなんですか?
なにやらconst_castではずせるみたいなんですけど、
__unaligned単独では載ってないし、気になります。
たれか、教えてお願いプリーズ。
773名無しさん@お腹いっぱい。 :2000/10/06(金) 18:44
プログラムとあんまり関係ないんですけど、、
メールに添付するウイルスが欲しいんですけどどこかで手に入りませんか?
ウイルスはあんまり凶悪じゃなくていいです・・・
774>773 :2000/10/06(金) 19:21
意中の彼女に送付して、直してあげるよつーパタン?
775773 :2000/10/06(金) 19:33
ちがう。
チェーンメールよこす阿呆をこらしめる
776名無しさん@お腹いっぱい。 :2000/10/06(金) 20:01
SPICE、Verilog-HDLとかこのスレで聞くの駄目でしょか?
やっぱシミュレート板ですか?
こんど学校で実習が始まるので、お勧め入門本でもあれば…。
777>776 :2000/10/06(金) 21:07
組込み屋さんなら両方兼ねてる場合もあるね
http://piza.2ch.net/test/read.cgi?bbs=tech&key=966346298
とかあげて無理矢理聞いてみたら? 職業人は あんまりQA見ないから
778名無しさん@お腹いっぱい。 :2000/10/06(金) 21:14
そうそう。勝手にリンクでもその手のリンク多いからね
きっと混じってる筈。
779新米ギコ@age役 :2000/10/07(土) 23:33
           age?
   (   Λ_Λ
  ⊂ ´⌒ つ゚Д゚)つ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
780( ´∀`)さん :2000/10/07(土) 23:45
基本的な質問ですいませんがいしゅつだったらすいません

関数に配列全体を渡したい時どうしたらいいんですか?
今までその配列だけをメンバに持つ構造体をいちいち作って
受け渡ししてたんですけど面倒なので
781( ´∀`)さん :2000/10/08(日) 13:16
あ、C++での話です
782名無しさん@お腹いっぱい。 :2000/10/08(日) 13:48
配列へのポインタを渡す。必要なら、受け取った関数で配列のコピーを作る。
783( ´∀`)さん :2000/10/08(日) 14:51
すいません
配列へのポインタを渡すっていうのはどうやるんですか?

char i[128];
Func( &i );

とやってみたんですが上手く逝かないので…
「'i(*)[128]'から'i *'に変換できません」みたいに言われました
784名無しさん@お腹いっぱい。 :2000/10/08(日) 15:23
Func(i)
785( ´∀`)さん>お腹いっぱい :2000/10/08(日) 16:01
ホントだ出来た!
どういう仕組みなんだ?と思いましたけど
とりあえずありがとうございますございます
786名無しさん@お腹いっぱい。 :2000/10/09(月) 01:27
VC++で指定したフォルダ以下のファイルを処理をしようと思っているのですが、

void Searc(LPCTSTR Name@` LPCTSTR Path)
{
CFileFind Seeker;
SetCurrentDirectory( Path );

Seeker.FindFile();
while( Seeker.FindNextFile() )
{
if( Seeker.IsDirectory() )
Search( Name@` (LPCTSTR)Seeker.GetFilePath() );
}
Seeker.Close();

Seeker.FindFile( Name );
while( Seeker.FindNextFile() )
{
//処理
}
Seeker.Close();

}

とすると実行時にエラーが出ます。
”ハンドルされていない例外はtest.exe(MSVCRTD.DLL)にあります”
だそうで、CHKSTK.ASM内部で止まりました。解決法求む。
787奥さん、名無しです :2000/10/09(月) 13:35
C言語で正規表現はどのように利用するのでしょうか?
788>782 :2000/10/09(月) 16:28
配列へのポインタではなくて配列の先頭要素へのポインタでしょ
789名無しさん@お腹いっぱい。 :2000/10/09(月) 18:16
pcreを探してくる>>787
それ以上知りたい場合はもっと親切な人にお願いしろ
>788
>>780は「配列全体を渡したい」とか「構造体に配列を入れてわたしてた」
とかいってるんだから、そのツッコミは意味が無いね。
791名無しさん@お腹いっぱい。 :2000/10/10(火) 11:34
char i[128];

i : 配列の0番目のアドレス
i + 1 : 配列の1番目のアドレス
*i : 配列の0番目の内容
*(i + 1) : 配列の1番目の内容
i[0] : 配列の0番目の内容
i[1] : 配列の1番目の内容
&i : 配列の0番目のアドレスのアドレス(**)
↑このひとは「配列の名前の型論争」を、繰り返したいのかな???
793名無しさん@お腹いっぱい。 :2000/10/10(火) 12:27
なにそれ、俺厨房なのでよくわからん。
ポインタを示してくれ>792
794名無しさん@お腹いっぱい。 :2000/10/10(火) 15:28
配列名の型論争は「配列の0番目の要素への定数ポインタと互換型」
ということでとりあえずの決着がついたのではなかったか?
‥まあいい、それを再論争するほどの新情報があるわけでもなさそうなので
これ以上の論議は控えよう。

しかしだ、&iはその論議とは関係なく違うぞ。も一回考えなおせ>791
ためしにchar **ppc; として ppc=&i; とやってみ。
そもそも「配列の0番目のアドレス」ってどこに格納されてるのよ?
795名無しさん@お腹いっぱい。 :2000/10/10(火) 18:01
char i[128]; とか宣言しておいて i + 1 とか *i とか
*(i + 1) なんて表現で使いたくないなあ…
796名無しさん@お腹いっぱい。 :2000/10/11(水) 06:37
Wordに付いてるような数式エディタを自作したいのですが、何か参考になる
資料はないでしょうか?
とっかかりさえつかめればと思うのですが、よろしくお願いします。

言語はJAVAで、結果はGIFかなにかで出力したいのですが。
797名無しさん@お腹いっぱい。 :2000/10/11(水) 11:39
>>796
本題以外の部分でいきなり話の腰折るようでなんだが、GIFはまずいだろ。
Unisysにライセンス料払うつもりならいいけど。
798名無しさん@お腹いっぱい。 :2000/10/11(水) 12:05
GIFでも圧縮しなければ、OK
って、GIF使う意味がないか・・・
PNGだ!PNG使え。GIFより色多いぞ。
800名無しさん@お腹いっぱい。 :2000/10/11(水) 12:46
>794
char i[128];
&iの型はchar (*)[128]だよ。当たり前だけど。
char (*p)[128] = i;
日本語で言えば「128個のcharの配列」へのポインタ。
801800 :2000/10/11(水) 12:47
char (*p)[128] = &i;
802800 :2000/10/11(水) 12:53
792と重複するかもしれないが
char i[128];のiは&i[0]と等しい。ま、char* const p = i;だ。

なお、やりたければ
char (*func(void))[128] {
static char i[128];
return &i;
}

とかできる。
803800 :2000/10/11(水) 12:55
実際の値(アドレス)はiも&iも同じ。単に型が違うだけ。
804794 :2000/10/11(水) 13:15
800〜803は791ががんばって考えた結果なのか?
そうでないのなら、それはオレではなく791に教えてやってくれ。
805800!=791 :2000/10/11(水) 13:22
>804
ふむ。たしかに>794というのは変だった。
806ああっ名無しさまっ :2000/10/11(水) 17:36
javaをDos窓から javacとかやってコンパイルしているんだけど、
エラーのログをテキストで取る方法ってどうするの?
807>806 :2000/10/11(水) 17:41
808しー :2000/10/11(水) 21:00

         チラ
     ∧ ∧__ 
    /(*゚Д゚) /\
  /| ̄ ̄ ̄ ̄|\/
    |  しぃ  |/
     ̄ ̄ ̄ ̄
809新米ギコ@国内某所 :2000/10/12(木) 00:39
  |  
  | 
  | ∧ ボチボチpart4かなぁ
  |Д゚)    
  ⊂|
  | `〜 
  |∪
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
810名無しさん@お腹いっぱい。 :2000/10/12(木) 17:47
Javaアプレットで使うJDBCドライバはどれがお勧めですか?
簡単なのがいいです。SymantecのDBAnyWhereはうまく動きませんでした。
Winなら単純にJDBC-ODBCブリッジ使ったら?

あと、JDBCの日本語送受信ってJDK古いとバグが多い
(つーか全角に対応してないのかな)
から、JDKは最新VERにしといたほうがいいよ。
812810 :2000/10/13(金) 16:00
JDBC-ODBCブリッジはJavaアプレットでは使えないんですよ・・・
Javaのセキュリティ上の制約とかで。
813名無しさん@お腹いっぱい。 :2000/10/13(金) 19:27
C++の継承やオブジェクトコンポジットが、
実行速度に与える影響について教えて下さい。

例えば継承10世代目のクラスが最基底クラスのメソッドを呼び出す速度と、
最基底クラス自身が呼び出す際のそれとは、違ってくるのでしょうか?
814名無しさん@お腹いっぱい。 :2000/10/13(金) 19:44
CDC::GetPixelの戻り値はCOLORREFという32ビットの型ですが、
これをRGB値で見たい場合はどうすればいいですか。
何かいいマクロかなんかありませんでしょうか?
>>814
GetRValue GetGValue GetBValue
ってのがマクロで一応あるけど、そんなものぐらい自分で作れよ。
COLORREFの中身を調べたら一発だぞ。
816814 :2000/10/13(金) 19:55
サンクスです。
できればナマカワしたいもんで。
817新米ギコ@いいかげん :2000/10/13(金) 23:22
  ∧∧
  (@`゚д゚)  < >>813 継承は実行速度より開発速度を気にしろ!
 ヽ/つ且~~
  (__ _)
    ^
  ∧∧
  (@`゚д゚)  < >>答えてくれた人ALL ありがと
 ヽ/つ且~~  つーことで800超えたので引越し、これからもよろしく!
  (__ _)新スレ http://piza.2ch.net/test/read.cgi?bbs=tech&key=971446820&ls=50
    ^
818813@礼だけいわせて :2000/10/14(土) 05:13
>817
おお、至極の言葉。たしかにオレ、なんでここまでこだわってたのだろう。
速さ必要になりゃ、そん時やればいいもんなぁ。

ギコさん’s、ひとまずお疲れさまでした。^-)_且~~
819学生 :2000/10/15(日) 12:03
あのう、学生のなかに
a += 1;
ってコードを書く人を見掛けたのですが、これってどうなんでしょうか?
自分は1足すなら、a++;で
n足すなら、a += n;を使ってます。
a += 1;はn = 1;と考えればいいけど、なんかしっくりきません。
業界ではどうなんでしょうか?
820819 :2000/10/15(日) 12:21
新スレに気が付かなくてすいません。
821(* :2000/10/15(日) 13:08
822名無… :2000/10/15(日) 20:57
>>819
a++ でいいんじゃないか?
こっちのがメジャーだし内部で正規化されてると思う。
それともそいつは a++ 読めないのか?
823名無… :2000/10/15(日) 20:58
悪い!あげちまった!
824名無しさん@お腹いっぱい。 :2000/10/15(日) 21:11
>>819

「1増やす」ではなく「1足したい」って意味を表してるのかもよ。
両者の(日本語としての)違いがわからんなら、常にa++を使い続けて
バカにされててください。
825名無しさん@お腹いっぱい。 :2000/10/15(日) 22:06
増やすというと
a

a a
つぎに
a a a
さらに
a a a a a a a ..
となったりするんだろうな。aがたくさん増殖してくな。うんうん
826新米ギコ :2000/10/16(月) 00:08
┌────────────┐
│      ∧∧           移 │
│ ○   (. ゚д゚)         転 │
│   ヽ/ つ日).~~      済 │
│ 6  (_ __)          │
│ 点                     │
└────────────┘
殺るなら、sageか移転先で!
移転先 http://piza.2ch.net/test/read.cgi?bbs=tech&key=971446820&ls=50
827819 :2000/10/17(火) 10:25
そういえばa += 1;の出現場所は、「◯◯の数を数える」というところでした。
if( str == "hoge" )
a += 1;

ううむ、と思ったので質問してみました。
では。
828名無しさん@お腹いっぱい。 :2000/10/23(月) 19:34
Javaのclassファイルを逆コンパイルとかできないんですか?
829>828 :2000/10/23(月) 19:58
そういうソフトはある。が、そんなことより古いスレをあげるなポケ。
830sage:2000/10/26(木) 13:39
なんていうソフトですか?教えてください。
831名無しさん@お腹いっぱい。:2000/10/26(木) 13:41
>>830
あげるボケには教えてやらん
832名無しさん@お腹いっぱい。:2000/10/26(木) 15:49
jad
しゅうりょう
833いんふぉしいく:2000/11/03(金) 22:44
 チャット荒らしに用いる自動送信のスクリプト教えて下さい
 VC VB  でお願いします
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>833 逝ってよし!
 UU ̄ ̄ U U  \_____________

引っ越してます。 つーか、このスレは終了していますので
>>833のような犯罪者以外の方のご質問などはpart4にでも
書いてください。 >>833みたいな犯罪者は2chに来ないでください。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=971446820&ls=50
( ゚Д゚)ノ ギコ猫のプログラム相談室part4
835名無しさん@お腹いっぱい。:2000/11/04(土) 00:31
スレッドって最大何番までコメントつけられるのー?
教えてぷりーず。
836名無しさん@お腹いっぱい。:2000/11/04(土) 01:52
837名無しさん@お腹いっぱい。:2000/11/04(土) 03:22
C言語の型を表示する文法を作れって宿題が出たんですが、
何のことだかわかる人いますか?
838名無しさん@お腹いっぱい。:2000/11/04(土) 03:28
なんだそれ?意味がよくわからんぞ。puts("int"); か?
まさかなあ・・・
839>837:2000/11/04(土) 04:30
意味が分からなかったらちゃんとその場で
先生に確認して問題を明確にしなさい。

つーか、ネタでしょ?
840837:2000/11/04(土) 04:54
ネタじゃないんす。いまCの本4冊開いてあれこれ考えてます。
ptr to array of char
array of ptr to char
ptr to func returning array of char
というのを作れってことらしいです。
ptr to intとかptr to longとか書けばいいんでしょうか?
841839:2000/11/04(土) 05:42
なぜそれを先に書かないの?
837だけでわかる分けないじゃん。日本語自体意味不明だし。
それにネタじゃないならpart4で聞くべきでしょ。

ptr to array of charは
typedef char array_of_char[256];
typedef array_of_char *ptr_to_array_of_char;
って事じゃないの?
つまりcharの(ここではサイズ256の)配列へのポインタ「型」を
定義しろって事。
842名無しさん@お腹いっぱい。:2000/11/04(土) 06:12
char *p[256] という文字列を読んで、array of
ptr to char という文章を表示するというありがちな
プログラムを作れ、ってことじゃない?

まぁ、宿題がわからんわ、他人にまともに質問できないわで、
837 は終ってるのは確かです。
843839@`841:2000/11/04(土) 06:32
ゴメン
837@`840から842のように解釈することはとても俺には出来ない。
>ptr to intとかptr to longとか書けばいいんでしょうか?
ってなに?
841も全く見当違いのような気がしてきた。
恐ろしく頭が混乱してきたのでもう根ます。
844名無しさん@お腹いっぱい。:2000/11/04(土) 15:20


      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>837@`838@`842 逝ってよし!
 UU ̄ ̄ U U  \_____________

引っ越してます。 つーか、このスレは終了していますので
ご質問などはpart4に書いてください。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=971446820&ls=50
( ゚Д゚)ノ ギコ猫のプログラム相談室part4
845名無しさん@お腹いっぱい。:2000/11/06(月) 23:53
>>837

それ、"cdecl"だろ。
アスキーの「エキスパートCプログラミング」という本にそのものが載っているから、
勉強やる気が無いなら、そのまんまパクれ。
じゃあな。
846正直言って
jgftj