私のおもちゃ箱-プログラミングテキスト


プログラミング何でも掲示板(過去分)
私のおもちゃ箱
 −−プログラミングテキスト−−
<> フローチャート
<> ハードウェア
<> C言語 (C language)
<> Visual Basic 2005
<> Visual Basic 6.0
<> COMETU & CASLU
<> JavaScript
<> HSP 3.0
<> Windows Xp
  Word2000, Excel2000,PowerPoint2002
<> ホームページ作成

過去ログ
メニューに戻る


文字について。C言語  SEI - 2004/05/30(Sun) 11:13 No.79

はじめまして、SEIと申します。
早速ですが、
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
char *str;
str=malloc(256);
printf("Input strings : ");
gets(str);
printf("Get strings \"%s\"\n",str);
free(str);
}
上記のようにプログラムを作ったとき、なぜ265文字以上の入力に対して不定になるか、ご教授お願いします。

Re: 文字について  Hiroshi - 2004/06/02(Wed) 01:27 No.80

ようこそ、SEIさん。
プログラムとデータ領域は同じメモリ上に用意されます。
mallocで256バイト(文字)の領域を確保したその後ろには
プログラム、別のデータ、別のプログラムなどがあるかもしれません。
この状態で、確保したバイト数以上の文字を入力するとその領域を
越えて書き込むことになり、不都合が生じることになります。
(場合によっては問題なく実行できることもあります。)
次のページ(の最後)に図入りで説明がありますので、よろしければ
ご覧下さい。
http://masudahp.web.fc2.com/cl/strpnt/c1021.html

それでは、またいつでもどうぞ。

Re: 文字について  SEI - 2004/06/13(Sun) 13:01 No.84

ご返事有難う御座います!
有難く参考にさせていただきます!!
あつかましいですが、分からない事があったら、またお聞きしますのでご教授お願いします。

目覚まし機能(VB6)  長谷川一美 - 2004/02/20(Fri) 10:43 No.69

Visual Basicによるデジタル時計、目覚まし機能のプログラム参考になり有難うございました。
質問があります。
たとえば現在午前の11時とします。目覚ましの時刻を翌日の朝7時に設定するとします。その間ずっとVisual Basicを動かしておかなければならないのでしょうか?
私のプログラムではパソコンの電源を落としたらもう設定した時刻を記憶していません。
電源を切っても明日6時に電源を入れたら朝7時にちゃんとBeepが鳴ってほしいのです。
わかる人アドバイスをお願いいたします。

Re: 目覚まし機能  hiroshi - 2004/02/21(Sat) 00:15 No.70

ようこそ、長谷川さん
さて、電源をOFFにしても記憶しておける場所は補助記憶、
すなわち、ディスクです。
そこで、入力したアラーム時間をプログラムが終了するときに
ディスクに書き込み、プログラムを起動したときに読み込んで
アラームに設定するようにする方法があります。
まず、プログラム終了のボタンを配置します。cmdEndとします。
Private Sub cmdEnd_Click()
  Open "alarm.dat" For Output As #1
  print #1, txtJikan.text
  print #1, txtFun.text
  close #1
End Sub
で、時間と分をファイルalarm.datに書き込みます。
次に、プログラム起動時に読み込むプログラムです。
Private Sub Form_Load()
  On Error Goto nonefile
  Me.Show  'フォームの表示
  open "alarm.data" for input as #1
  input #1, txtJikan.text
  input #1, txtFun.text
  close #1
  lblDate.caption=・・・・・
  TimeHyouji
  exit sub
nonefile:
End Sub
こんな感じでどうでしょうか。

ファイル処理に関しては次のページ以下を
http://masudahp.web.fc2.com/vb6/vb6first/fileinout01.html

エラー処理(On Error)については次のページを参照下さい。
http://masudahp.web.fc2.com/vb6/vb6first/vb0203.html

ほかに、レジストリに記録しておく方法などもあります。
それでは、またどうぞ。

Re: 目覚まし機能  長谷川一美 - 2004/02/23(Mon) 16:26 No.71

hiroshiさん、アドバイス有り難うございます。
おっしゃっていることは非常に役にたちました。
しかしおっしゃっている通りにしましたが下記のエラーが出てきました。もう少しアドバイスお願い致します。
Private Sub Form_Load()
-------------------
input #1, txtJikan.text
input #1, txtFun.text
-------------------
のtextで反転し
 『コンパイルエラー   変数が必要です』
になります。helpを見ますと引数として関数呼び出しまたは式が使用されていますと書いてあります。
色々試行錯誤してやってみましたがうまくいきません。
アドバイスよろしくお願い致します。




Re: 目覚まし機能  hiroshi - 2004/02/23(Mon) 23:39 No.72

すみません。実行もせずに載せてしまいました。
次のように、ファイルからのデータを変数に読み込みます。
Private Sub Form_Load()
  Dim jikan As String, fun As String
  On Error Goto nonefile
  Me.Show  'フォームの表示
  open "alarm.dat" for input as #1 '←ファイル名も間違っていました。
  input #1, jikan  '←
  input #1, fun   '←
  close #1
  lblDate.caption=・・・・・
  txtJikan.text = jikan  '←
  txtFun.text = fun    '←
  TimeHyouji
  exit sub
nonefile:
End Sub

どうもすみませんでした。それでは、またどうぞ。

Re: 目覚まし機能  hiroshi - 2004/02/23(Mon) 23:44 No.73

もうひとつ、リストの2行目です。
  Dim jikan As String, fun As String  '←
変数の宣言の部分に矢印が抜けていました。
変数の宣言については次のページを参照下さい。
http://masudahp.web.fc2.com/vb6/vb6first/vb0003.html
それでは、またどうぞ。

Re: 目覚まし機能  長谷川一美 - 2004/02/25(Wed) 13:46 No.74

hiroshiさん、アドバイス有り難うございます。
ファイルの保存のやり方わかりました。
何度も申し訳ありませんがもう少しアドバイスお願い致します。
例えば目覚まし時刻を朝7時設定すると電源を切っても確かに記録されています。もしこれを7時半に設定し直すにはどうすればよいのでしょうか?(alarm.datの内容を修正する方法がわかりません)。アドバイスお願い致します。 

あと一つ少し視点を変えて質問させて下さい。
朝7時に目覚ましのBeep音を鳴らすには目覚ましの時間が来る前にはVisual Basicのプログラムをactiveにしておかなければなりませんよね。(電源を入れてもプログラムを起動していなければ鳴らない)
これを電源を入れてWindowsの画面でVisual Basicのプログラムを起動させずに目覚ましのBeep音を鳴らす方法はあるのでしょうか?
やり方はVisual Basicのプログラムにとらわれません。
たびたびで申し訳ありませんがアドバイスよろしくお願い致します。

本稿で参照として紹介して頂きましたファイル処理、エラー処理、変数の宣言の記事を一通り読みました。わかりやすく解説してあり非常に勉強になりました。有り難うございました。

Re: 目覚まし機能  hiroshi - 2004/02/26(Thu) 00:59 No.75

こんばんは。
まず、ひとつ目から。
最初に示しました設定時間の記録のプロシージャで変更もできます。
Private Sub cmdEnd_Click()
  Open "alarm.dat" For Output As #1
  print #1, txtJikan.text
  print #1, txtFun.text
  close #1
End Sub
「プログラム終了のボタンを配置します。cmdEndとします。
」と書きましたが、ENDがありませんので終了しませんね。また、間違いでした。
オブジェクト名cmdEndは適当に変えてもらうとして(変えなくても大丈夫ですが)、
時間を変更後、このボタンをクリックすると変更後の時間で
「上書き」されます。
何度クリックしても大丈夫です。最後にクリックしたときの時間が記録されます。
(ボタンのcaptionを「設定」とすればいいですね。)
2つ目です。
その1。Windowsにはタスクスケジューラというプログラムがあります。
[スタート]→[すべてのプログラム]→[アクセサリ]→[システムツール]→[タスク]
ここで、時間とプログラムを設定することができます。ウィザード形式です。
その2。自作の目覚ましプログラムをWindows起動時に自動で起動する方法です。
[スタート]→[すべてのプログラム]→[スタートアップ]に
登録します。以下は、ヘルプの内容です。
Windows を起動するたびにプログラムを起動するには
1. [スタート] ボタンを右クリックし、[プロパティ] をクリックします。 
2. [[スタート] メニュー] タブで、[クラシック [スタート] メニュー] 、[カスタマイズ] の順にクリックします。この操作で [スタート] メニューのスタイルが変更されます。 
3. [詳細設定] をクリックします。 
4. [スタート メニュー] フォルダで、Windows を起動するたびに起動するプログラムのショートカットを探し、[プログラム] フォルダにある [スタートアップ] フォルダにドラッグします。

 自作の目覚ましプログラムのショートカットの貼り付け後、[スタートアップ] フォルダは×で閉じて構いません。
ウィンドウは、「OK」で閉じていきますが。最後まで閉じるとスタートメニューがクラシックになるので、
2.の部分で[[スタート] メニュー(S)]を選び直します。

いろいろ書きましたが、2つ目はWindowsの設定ですからヘルプや関連のサイトなども調べてみて下さい。
それでは、またどうぞ。

Re: 目覚まし機能  長谷川一美 - 2004/03/02(Tue) 13:54 No.76

hiroshiさん、アドバイス有り難うございます。
自分の納得できる所まで出来ました。
非常に勉強させていただきました。
改めて有り難うございます。

親切でわかりやすかったです。本当に!

変数を出力したい!!  ふみ - 2004/02/04(Wed) 19:03 No.66

はじめまして。失礼します。

さっそく質問なのですが、
あるページからwindow.open()で開いたサブウィンドウに変数を渡したいのですが、どうすればよいのでしょうか?・・・
つまり親ウィンドウで定義した変数をそのままサブウィンドウでも利用したいということなのですが。
可能ならばぜひともご教授いただきたいのですが。

Re: 変数を出力したい!!  hiroshi - 2004/02/05(Thu) 01:58 No.67

ようこそ、ふみさん。
変数の値をURLにつけてオープンしたページに渡すことができます。
例 URL=http://www.a.b.c/page.html  変数 a=atai
  →http://www.a.b.c/page.html?atai
page.htmlが開いて、そのページにataiというデータが渡されます。
page.html内では、location.searchで参照できます。
こちらに、リファレンスのページがあります。
とほほのWWW入門 http://tohoho.wakusei.ne.jp/js/location.htm
また、インラインフレームでですが、私のサイトでも使っています。
http://masudahp.web.fc2.com/casl2/casl2350.html
ほかに、cookieを使う方法なんかも考えられますね。
いろいろと試してみて下さい。
それでは、またどうぞ。

Re: 変数を出力したい!!  ふみ - 2004/02/05(Thu) 05:44 No.68

できました。ありがとうございました。


VB ver 5について  Kaiji - 2004/01/19(Mon) 10:11 No.63

はじめまして。
ここのページ、ちょくちょく見させていただいてます。
ところで質問なのですが、学校でVB6を使っていて、
家でもやりたいと思っています。

オークションを見ていたら、
VB5が安いのでそっちにしようと思いますが、
ソースの互換はかなりあるのでしょうか?
全然互換がないならVB6を素直に買いますが・・。
しょうもない質問ですいません。

Re: VB ver 5について  Hiroshi - 2004/01/19(Mon) 11:27 No.64

ようこそ、Kaijiさん。
VB5でも大丈夫だと思います(100%ではないですが)よ。
私自身、VB4からVB6へ移行したのですが、そのときVB4のソースは読み込めましたし、実行もできたと記憶しています。

また、No.45でImoSoftさんから教えていただいた
「ActiveBasic」という無料の開発環境もありますので、検討してみてはいかがでしょうか。URLは次のとおりです。
http://www.discover-soft.com/

またよろしければ、いつでもどうぞ。

ありがとうございます  Kaiji - 2004/01/20(Tue) 08:33 No.65

フリーのやつでは難しいハードがらみなことをやるので、
VB5にしようと思います。

ありがとうございました。

無題(VB6)ブラウザ作成  ペン - 2004/01/10(Sat) 18:09 No.51

はじめまして。
VBでブラウザを作ろうと思っているんですが「お気に入り」などのブックマークの機能をつけたいのですがIEのお気に入りと一緒に使用するにはどうやって行えばいいのか全くわからなくて悩んでいます。
メニューリストに取得したお気に入りのディレクトリの中身を表示させるような形になるのでしょうか?
かれこれずっと考えているんですがどなたかご教授いただけないでしょうか?

Re: 無題  ペン - 2004/01/10(Sat) 18:16 No.52

すみません間違えました・・・
「取得したディレクトリ」ではなくて「取得したディレクトリのパス先」でした。

Re: 無題  hiroshi - 2004/01/10(Sat) 22:20 No.53

ようこそ、ペンさん。
きっと便利なAPIや何かがあるのでしょうね。よくわかりません。
それでは、みもふたもないので、ちょっと調べてみました。
お気に入りは、次のフォルダにあるようです。
C:\Documents and Settings\ユーザ名\Favorites
このフォルダの中はお気に入りで表示されるとおりの名前で
ファイルとフォルダが保存されています。
このファイルの中が見られるか調べてみると普通のテキストでした。
例えば、「MSN」は
C:\Documents and Settings\ユーザ名\Favorites\MSN.URL
というファイル名で内容は
[InternetShortcut]
URL=http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=5.0&ar=IStart
Modified=60B50581AB97BF019D
でした。ということで、お気に入り内のファイルを処理すれば
できそうです。
ちなみに、フォームにText1(ファイル名用)、Text2(テキスト表示用)、Command1を配置して、

Private Sub Command1_Click()
  Text2.Text = ""  (注)インデント(空白)は全角です。
  Open Text1.Text For Input As #1
  Do Until EOF(1)
    Input #1, d$
    Text2.Text = Text2.Text & d$ & vbCrLf
  Loop
  Close #1
End Sub

とすれば、内容を見ることができます。

どなたか、わかる方がいらっしゃいましたら投稿をお願いします。
それではまたどうぞ。

Re: 無題  ペン - 2004/01/11(Sun) 15:06 No.54

hiroshi様返答ありがとうございます。

参考になります、大変助かりました。
また質問になってしまってすみませんがこれをIEみたいにする為にFavoritesフォルダの中のファイルを繰り返し処理で読み込むような形でメニューに処理上でショートカットの名前の物を追加していきたいんですが可能でしょうか?

それと自分でも調べてみたんですが特殊ディレクトリのパスを取得する方法というものを見つけたんですがこれを使えば違うユーザでも使えるように同じように使うことが出来そうですよね

'お気に入り
Console.WriteLine( _
System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites))
'結果例:C:\Documents and Settings\UserName\Favorites

ただ、これの取得結果はどこに格納されるとか使い方がよくわからないんですが・・・

なんかわからないことばかりですみません・・・(^^;

Re: 無題  rupt - 2004/01/12(Mon) 01:30 No.55

はじめまして。
なんか面白そうなトピックだったのでのぞいてみました。

>'お気に入り
Console.WriteLine( _
System.Environment.GetFolderPath
(Environment.SpecialFolder.Favorites))
'結果例:C:\Documents and Settings\UserName\Favorites

これってVB.NETですよね?
もし使ってるのがVB6.0だとしたら、その方法は使えないですよ。
VB.NETはほとんど使ったことないのですが
Console.WriteLine()
で取得結果を表示するとこまでやってくれると思いますが。
(上記の命令が標準出力ストリームに、要はディスプレイに結果を表示する)

>また質問になってしまってすみませんがこれをIEみたいにする為にFavoritesフォルダの中のファイルを繰り返し処理で読み込むような形でメニューに処理上でショートカットの名前の物を追加していきたいんですが可能でしょうか?

うーん、すみません・・・
どのようにしたいのかちょっと分かりません。
もうすこし詳しく書いてもらえるともしかしたらアドバイスできるかもしれません。

Re: 無題  ペン - 2004/01/12(Mon) 08:10 No.56

初めまして。ruptさん返答ありがとうございます。

ありゃ・・・6.0じゃ使えなかったんですか。
なんか勘違いしていてすみません。

質問していたものについてなんですが
フォーム上にメニューエディタで「お気に入り」の名前のメニューを作っておいてそれのクリック時の処理でFavoritesフォルダの中のショートカットファイルの名前を取得してそれをメニューに追加登録できないかなぁ・・・考えているんですが。
もし出来るなら新たに作ったショートカットの名前のメニューのクリック時の処理にhiroshiさんが教えてくれた方法でアドレスを開くような内容を書き込んでおけばそれなりにIEらしくなるかなぁと思ったんですけど

本当にわかりにくてすみません。
なんか自分でも無理なんじゃないかと感じてるんですが(^^;

処理の実行中に新たにメニューに追加できるかっていうのと
もし作れてもそのまま処理中に新たに作ったメニューのクリック時の処理にコードを書き込むってのは可能なのんでしょうか・・・
という感じのものを聞きたかったんですけど

Re: 無題  rupt - 2004/01/12(Mon) 12:16 No.57

やっぱりVB6.0でしたか・・・

>フォーム上にメニューエディタで「お気に入り」の名前のメニューを作っておいてそれのクリック時の処理でFavoritesフォルダの中のショートカットファイルの名前を取得してそれをメニューに追加登録できないかなぁ・・・考えているんですが。

要は作成したアプリケーションの実行中にメニュー項目を追加したいってことですよね?
メニューはちょっとばかしややこしいですよ。
API関数を使わないと追加や変更はできないと思います。
ってこれで終わったらアドバイスになってないですね。
ちょっとこっちで作ってみたやつでも載せときます。

Private Sub mnuFavorite_Click()
mnuFavoriteAdd.Caption = "お気に入りの追加"
mnuFavoriteSeiri.Caption = "お気に入りの整理"
mnuSeparater.Caption = "-"
'その他、ファイル取得処理などなど

Call AddMenuItem
End Sub

Private Sub AddMenuItem()
Dim hMenu As Long
Dim hSubMenu As Long
Dim MenuCount As Long
Dim Ret As Long

hMenu = GetMenu(Me.hwnd)
If hMenu = 0 Then
MsgBox "メニューハンドルの取得に失敗"
Exit Sub
End If

hSubMenu = GetSubMenu(hMenu, 0)
If hSubMenu = 0 Then
MsgBox "サブメニューハンドルの取得に失敗"
Exit Sub
End If

MenuCount = GetMenuItemCount(hSubMenu)
Ret = InsertMenu(hSubMenu, MenuCount, MF_BYPOSITION, 0, "追加メニュー")
If Ret = 0 Then
MsgBox "メニューの追加に失敗しました。"
End If
End Sub

とまあ、少なくとも二、三はAPI関数を使用することになると思います。
(ここではGetMenu, GetSubMenu, GetMenuItemCount, InsertMenuって四つも使ってますね、すいません、へたくそで)
上のInsertMenu関数を追加する分だけループでIEっぽい表示にはなります。
APIを使ったことがあるなら、たいして問題ではないと思いますけど、
まだやったことがないのであればネットか書籍でAPIの勉強をした後の方が良いですよ。
APIは下手するとひどい目にあうので。

一応書いておくと、API関数を使う場合は標準モジュールに宣言しなければなりません。
ネットでAPIやAPIビューアを調べると引っかかると思います。

>処理の実行中に新たにメニューに追加できるかっていうのと
もし作れてもそのまま処理中に新たに作ったメニューのクリック時の処理にコードを書き込むってのは可能なのんでしょうか・・・

普通にやったらできないみたいですね。
(自分もあんまりそこらへんのことやったことないのですが)
どうもサブクラス化ってのを使えばできるそうですけど。
具体的にはウインドウプロシージャのアドレスを変更して
こっち側でメッセージの処理をすることができる手法らしいのですが・・・
C言語なんかでウインドウプログラムやってないと
すぐには理解できなさそうです。

ひとまず、自分のできる範囲から少しずつ実装していくのが
良いのではないでしょうか?

Re: 無題  ペン - 2004/01/12(Mon) 20:29 No.58

API関数ですか。
こればかりは本か何かで調べないと無理そうですね。
ruptさんの言うとおり自分の出来る範囲からすこしずつやっていってみます。
ありがとうございました。

Re: 無題  Imosoft - 2004/01/13(Tue) 13:15 <URL> No.60

メニューの動的な追加なら、まず、追加したいメニューの部分をコントロール配列にしておけば、実行時に追加できたと思います。
具体的には、設計時にIndex=0にしておいて、実行時にRedimして、Loadメソッドを呼べば、良いと思います。
時間があったら、検証して、また、書き込みます。

Re: 無題  rupt - 2004/01/13(Tue) 18:28 No.61

>メニューの動的な追加なら、まず、追加したいメニューの部分をコントロール配列にしておけば、実行時に追加できたと思います。

メニューのコントロール配列も動的に追加できたのですね。
親メニューのClickイベントから子メニューを追加できなかったから
てっきりメニューは動的追加できないのだと思ってました.
(親メニューのClickイベントから追加できないだけで他のプロシージャからは追加できました。)
Imosoftさん、ご指摘ありがとうございます。

ということで、以前の僕の書き込み
>API関数を使わないと追加や変更はできないと思います。
は、
>API関数を使ってもできる
ということで読み替えてください。

まちがった書き込みをしてしまい、申し訳ありません。m(_ _)m

ペンさんがまだ見ていると良いのですが・・・
これならペンさんがやろうとしてたこともできそうですし。

Re: 無題  ペン - 2004/01/13(Tue) 21:47 No.62

>まちがった書き込みをしてしまい、申し訳ありません。m(_ _)m

いえいえ、ruptさんには本当に丁寧に対応していただき感謝しています。

遅れながら拝見させていただきました。
違うやり方もあったんですね。
皆さんご指南ありがとうございます。
Loadメソッドとか使ったことが無いのでよくわからないんですが自分でも調べてみようと思います。

はじめまして(LSI-C)  nana - 2004/01/07(Wed) 16:08 No.47

はじめまして。nanaと申します。

LSI C-86 試食版をダウンロードして、設定し、
hello.cというテスト用のプログラムを作ってコンパイルしてみたのですが、以下のようなエラーが出ます。

can't open: D>set.c: No such file or directory
lcc: can't handle: COMSPEC=D:\WINNT\system32\cmd.exe

この場合、どこを修正すればよいのでしょう。

教えてください。

Re: はじめまして  hiroshi - 2004/01/09(Fri) 01:12 No.48

ようこそ、nanaさん。
実は、私もコンパイルできないでいたのです。ただし、nanaさんのとは
違うエラーですが。
lcc: can't exec: cpp: No such file or directory
というエラーが出ます。コマンドcpp.exeが見つけられないようなので、
作業をLSIC86をインストールした c:\lsic86\bin で行うとできました。
できたらOKということで今までそのままにしていました。
ちなみに、WindowsXPです。職場ではWindows98で問題なく使えているのですが。
今回質問をいただいて、いろいろと試してみました。
どうやら設定ファイルの_LCC(c:\lsic86\bin\_LCC)が読み込めていないのでは?
と推測し、バッチファイルを作成したところ、どこのフォルダで
作業してもコンパイルできるようになりました。
>type cc.bat
@echo off
lcc -DLSI_C -XC:\lsic86\BIN -LC:\lsic86\LIB -IC:\lsic86\INCLUDE -T -O -acdos.obj %1 %2 %3 %4 %5 %6 %7 %8 %9 -lknjlib -ldoslib -v -j1
設定ファイル_LCCの内容をコマンドlccのパラメータとして全部書いただけです。(コマンドlccの部分は1行です。)

ところで、ご質問のエラーメッセージですが、
>can't open: D>set.c: No such file or directory
は、Dドライブの"set.c"がないというメッセージで、"hello.c"を
コンパイルするのに"set.c"は関係ないと思うのですが、よくわかりません。
>lcc: can't handle: COMSPEC=D:\WINNT\system32\cmd.exe
コマンドLCCがコマンドプロンプトCMD.exeを使えないというエラーのようですが、
CMD.EXEはフォルダD:\WINNT\system32\にあるのでしょうか。
通常、WindowsはCドライブにインストールされるので、
C:\WINNT\system32\ になると思うのですが。
コマンドプロンプトでD:\WINNT\system32\cmd.exeと入力して、
実行できるか試して下さい。
実行できなければcmd.exeを探して、環境変数COMSPECを設定し直して、
コンパイルを試してみて下さい。

遅くなって、この程度の回答ですみません。
また、何かありましたらいつでもどうぞ。

Re: はじめまして  nana - 2004/01/09(Fri) 16:26 No.49

hiroshiさん、ありがとうございました。
hiroshiさんのご指摘通り、コマンドプロンプトの場所の指定が間違っていたようです。
LSIC-86をDドライブにインストールしたので、つい、コマンドプロンプトの設定も
Cドライブではなく、Dドライブにしてしまったようです。
お騒がせしました。

ちなみに、コンパイルの方ですが、フリーソフトのlcpadというソフトを
使えば、自動的に設定も行ってくれるというので、
そちらを利用してしまいました。
どうも、LSIC-86を自力で設定するのは、まだ私には敷居が高かったようです。

現在、hiroshiさんのサイトでC言語を勉強中です。
C言語が初めての私にも、すごくわかりやすくまとめられているので、
すごく勉強になってます。
ありがとうございました。

Re: はじめまして  hiroshi - 2004/01/09(Fri) 22:43 No.50

こんばんは
解決してなによりです。
すんなり動かないとイライラするものです。が、
プログラミングは焦らず、あきらめず、じっくりと取り組んで下さい。
テキスト等で不明なところがありましたら、またいつでもどうぞ。
それではがんばって下さい。

はじめまして(ゲーム作成)  こう - 2003/12/19(Fri) 12:22 No.39

オセロゲームを作ろうと思っているんですが、
ゲームを作るのは初めてで、なんにもわかりません。
フォームのつくりかたをおしえてください
もしかして、メモ帳をつかうんですか?

Re: はじめまして  hiroshi - 2003/12/19(Fri) 22:06 No.40

こうさん、ようこそ。
言語は何でしょう。VisualBasicなら次のページを参考にしてみて下さい。
http://masudahp.web.fc2.com/protext/vb6game/index.html
また、何かありましたら遠慮なくどうぞ。

Re: はじめまして  こう - 2003/12/20(Sat) 15:13 No.41

[コンパイラ]っていうものが必要なんですか?
ホント、なんにもわからないんです。
HPをつくるように、タグみたいなのを打ち込むんですよね?

Re: はじめまして  hiroshi - 2003/12/22(Mon) 01:47 No.42

こんばんは。
使用する言語によって必要なソフト(開発環境)が異なるので
一概には言いにくいですね。まず、言語の選択からですね。
次のページで言語について簡単な説明がありますので、参考にしてみて下さい。
http://masudahp.web.fc2.com/protext/vb6first/vb0002.html

言語ごとに命令や関数が用意されていて、それらを使って
コンピュータにさせることを指示していきます。
コンピュータに対する指示という点ではタグも同じかもしれませんね。
では、またどうぞ。

Re: はじめまして  こう - 2003/12/22(Mon) 19:24 No.43

これは、例ですけど、
Private Sub Command1_Click()
a = Timer '開始時間取得
Print a '時間表示
For m = 1 To 1000
For n = 1 To 10000
da = n * 2
Next n
Next m
b = Timer '終了時間取得
Print b, b - a '時間と経過時間表示
End Sub
これを、メモ帳に書いて保存した後、
実行しないといけないんですよね?
実行する方法を教えてください、
コンパイラを、ダウンロードしなくてわいけないですか?
「BASICでやろうかな?」と、おもっています。

Re: はじめまして  hiroshi - 2003/12/24(Wed) 00:07 No.44

こんばんは。
リストを見るとVisualBasicのようですね。
VisualBasicを利用するなら、ソフトを購入する必要があります。
そのソフトを使ってプログラムの入力、実行を行います。
VisualBasicに似た文法でVBScriptというものもあります。
こちらは特別なソフトなしで実行できます。VBscriptに関しては
いろいろなサイトがありますので、調べてみて下さい。
では、またどうぞ。

オセロ  ImoSoft - 2003/12/24(Wed) 20:40 No.45

わたしは、高校の頃VBでオセロを書いたことがあります。自分では勝てないくらいのものができたのですが、その辺にあるオセロソフトはもとより、弟にもボコボコにやられる始末…
最近はお蔵入りしてしまっています。
はじめから、大きなプログラムを組もうとせずに簡単なプログラムを組んで練習をしてみるといいかもしれません。
無料の開発環境だと、ActiveBasicなどもお勧めです。VBよりはちょっと敷居が高いですが。
いきなり割り込んで申し訳ありません。オセロと聞いてちょっと懐かしくなってしまったもので。

Re: オセロ  hiroshi - 2003/12/24(Wed) 22:39 No.46

ImoSoftさん、どうもありがとう。
すごいものがあったのですね。初めて知りました。(^^;
ということでActiveBasicのWebページは次のアドレスです。
http://www.discover-soft.com/
インストールから使い方まで説明があります。

無題  匿名希望 - 2003/12/17(Wed) 12:20 No.36

超初心者なくせにゲーム作成しています。ここのゲーム作成のキャッチゲームでのプログラムについてやってみたものの、リンゴが落下しません。(一応、載っている通りにしたつもりですが)申し訳ないのですが教えて頂きたいと思い投稿しました。

Re:   匿名希望 - 2003/12/17(Wed) 14:26 No.37

投稿しておきすみませんが自力で解決できました。ありがとうございました。

Re: 無題  hiroshi - 2003/12/17(Wed) 22:42 No.38

ようこそ、匿名さん
解決できて何よりです。
いつでも遠慮なく、お気軽にどうぞ。


また質問です。(C言語ポインタ)  setu - 2003/11/17(Mon) 21:39 No.32

すいませんまたまた質問です。
下でも言っていることなんですが、int型のポインタpaに+1すればポインタのアドレスは4プラスされますよね。
char型のポインタだったら1プラスですよね。
つまり「+1」の「1」は1バイトで表現されているんですね?

で、sizeof('a')の結果が「4」になります。Cの文字定数はint型らしいです。(本に書いてありました)

上の二つのちがいが分からないんですがなんで同じ文字なのにバイト数がちがうんでしょう?

Re: また質問です。  hiroshi - 2003/11/18(Tue) 00:31 No.33

ようこそ。
・ポインタに+1するとアドレスはその型のサイズ分だけプラスされます。
・Cの文字定数はint型です。
> sizeof('a')の結果が「4」になります。
処理系は何を使っているのでしょうか。
処理系として、LSIC86試食版で試してみると「1」となりました。
ここからは推測です。お使いの処理系が'a'をint型の0x61(文字コード)と判断して、
int型のサイズ「4」となる?あるいは、'a'の格納されているアドレスと判断して、
アドレスのサイズ「4」となる?のでしょうか。

試しに作ったプログラムと結果を示しておきます。(スペースは全角空白です。ご注意を!!)
処理系によって結果には違いが出るものと思われます。
使用した処理系では「そうなんだ」と思っておく程度でどうでしょうか。

#include <stdio.h>
void main(void)
{
 char ch;
 int size, arry[10], *addr;

 size = sizeof(char);  printf("a: %d\n", size);
 size = sizeof(int);  printf("b: %d\n", size);
 size = sizeof(float);  printf("c: %d\n", size);
 size = sizeof(double);  printf("d: %d\n", size);
 printf("\n");
 size = sizeof 'A';   printf("1: %d\n", size);
 size = sizeof("ABCDE"); printf("2: %d\n", size);
 size = sizeof(123);   printf("3: %d\n", size);
 size = sizeof(arry);  printf("4: %d\n", size);
 size = sizeof(arry[0]); printf("5: %d\n", size);
 size = sizeof(addr);  printf("6: %d\n", size);
 size = sizeof(&size);  printf("7: %d\n", size);
}
結果はLSIC-86試食版のものです。
a: 1  ←char型
b: 2  ←int型
c: 4  ←float型
d: 8  ←double型

1: 1  ←'a'
2: 6  ←"ABCDE"、文字数5+'\0'=6
3: 2  ←123、整数(int型)
4: 20  ←arry[10]、配列個数10*int型サイズ2=20
5: 2  ←arry[0]、一つの配列要素(int型)
6: 2  ←addr、ポインタ
7: 2  ←&size、変数のアドレス

参考までにJISでは次のように記述されています。
6.3.3.4 sizeof演算子
意味規則 sizeof演算子の結果は、そのオペランドの(バイト数での)大きさとする。オペランドは、式、または括弧で囲まれた型の名前のいずれかとする。その大きさは、オペランドの型によって決定する。
オペランド自身は、評価しない。その結果は、整数定数とする。
 型char, unsigned charまたはsigned char(またはそれらの修飾版)をもつオペランドに適用した場合の結果は、1とする。配列型をもつオペランドに適用した場合の結果は、その配列中の総バイト数とする。
構造体型または共用体型をもつオペランドに適用した場合の結果は、内部及び末尾の詰め物部分を含めたオブジェクトの総バイト数とする。
 結果の値は、処理系定義とし、その型(符号なし整数型)は、ヘッダ<stddef.h>に定義されているsize_tとする。

6.1.3.4 文字定数
意味規則 単純文字定数は、型intをもつ。基本実行文字集合の一つの文字に対応付けた単一の文字を含む単純文字定数の値は、対応付けた文字の表現を整数として解釈した数値とする。<後略>

sizeof('a') 追加  hiroshi - 2003/11/18(Tue) 01:35 No.34

ネットでいろいろと調べてみました。「c sizeof 文字定数」で検索しました。
やはり、JISの6.1.3.4にもあるように「文字定数は、型intをもつ」ので、
sizeof('a') == sizeof(int) が正しいようです。
しかし、処理系によって結果はまちまちのようです。

私は知りませんでした(どこかで読んで忘れてる?)。再確認?できて良かったです。
またどうぞ。

ありがとうございます。  setu - 2003/11/18(Tue) 16:44 No.35

分かりました。
わざわざ検索までしてくださってありがとうございます。

始めまして(C言語ポインタ)  setu - 2003/10/31(Fri) 18:28 No.26

始めまして。今さっきC言語の基礎の所の「ポインタ」を読みました。そこでいきなりですが質問があります。
sample16.cのところでaのアドレスを表示してるんですが×××××となっているんですけど、aのアドレスっていうのはコンパイラの仕様などによって違うんでしょうか?このアドレスはどうやって決めてるんですか?
それと、その講座の最後に「intは4バイトで表現してるからアドレスも4ずつ増えると」ありますが、ってことは1や2などは1バイトで表現しているということですね?(かなり基礎的なことかもしれませんがすいません)
それとプログラムの最後にreturn(0);をつけてないですよね?
あれはなんでなんですか?普通は多分つけますよね。returnの必要性ってなんなんでしょうか?
あと、++ iはi ++ でもどっちでもいいんですよね?
質問ばかりですいません。どうぞよろしくお願いします。

余談です。  setu - 2003/10/31(Fri) 18:36 No.27

それと余談なんですがご職業は何をなさってるんですか?

遅くなりました  hiroshi - 2003/11/03(Mon) 02:40 No.28

ようこそ、setuさん。早速質問ですが、
・1つ目。普通の変数は実行時にその場所が用意されます。
したがって、プログラムがメモリに読み込まれる場所によって
変化します。コンパイラの仕様ではありません。
・2つ目。こちらはコンパイラの仕様です。int型で宣言した
変数それぞれに4バイト(または2バイト)の領域を割り当てます。
int型で宣言した変数に1を記憶すると00000001(16)のように
4バイトの領域に記憶されます。記憶する値に関係なく決めら
れた領域が用意されます。(2-3変数、(2)変数の型 参照)
・3つ目。サンプルプログラムではmain関数をint main(void)
というように定義しています。ほかの関数と同じように、
このmain関数はint型の値を返却することを示しています。
したがって、正確にはmain関数を終えるときにreturn 0;の
ように整数値を返却するように書く必要があります。この
整数値はOSに返却されます。DOS時代はバッチファイル内で
ERRORLEVELとして参照したりしました(確かそうだったと
思います)。その昔、main()のように返却値の型を省略する
とint型という約束でした(今はvoid型です)。で、勘違い
のままになっています(近々、訂正したいと...)。
void main(void)でretrun文なしにするか、基本情報技術者
試験では、main関数はmain()として、return文もないよう
です(試験(JIS-C)ですからこちらが正しいのでしょう)。
4つ目。++i;、i++;のように単独で使用する場合は同じです。
しかし、aが1のとき、b=++a;はa,bとも2になりますが、
b=a++;はaが2でbは1となります。したがって、ケースバイ
ケースです。
(2-4演算子、(4)インクリメント、デクリメント演算子 参照)

こんなものでいかがでしょう。またいつでも遠慮なくどうぞ。
仕事は高校の教員です。

Re: 始めまして  setu - 2003/11/03(Mon) 16:31 No.29

なるほど・・・、ありがとうございます。
でもちょっと三つ目が分からないんですが・・・。
int main(void)ってありますがこれはintが返却値を表しているんですよね?
>main()のように返却値の型を省略する
>とint型という約束でした(今はvoid型です)。
とありますが、省略っていうのは( )main( )、どちらのことを
↑ か ↑

言ってるんでしょうか? 後者のことを言ってるんだとしたら、ここの場所は返却値を指す場所ではないですよね?(その辺もよくわからないです。)前者だったら意味が通らないし・・。
それとint型は0からFFFFFFFFHまでとありますが最後のHは一体何なんですか?
もう一つ。longとintの違いってなんなんですか?バイト数一緒ですよね?

なぜ仕事を聞いたかと言うと、うちの専門学校から配付されたテキストとここのプログラムがほぼ一緒なんです。もしかしたら・・・と思ったんですが。
ここのプログラム、テキスト用に学校に提供とかしてるんですか? 

Re: 始めまして  hiroshi - 2003/11/03(Mon) 23:48 No.30

ようこそ
まず、省略はint main(void)のint部分です。( )内は引数を書き並べるする部分です。
次に、末尾のH(hexadecimal)はこの数値が16進数であることを示すものです。C言語では0xを数値の先頭に付けます。
更に、longとintですが、よくわかりません。昔、処理系によって整数型のintのサイズ(2or4バイト)が異なっており、移植等す
るときのために明示的にlong intやshort intと表しました。その名残でしょうか。

さて、いろいろと調べていたら日本工業標準調査会のページでC言語のjis規格が見ることができましたので一部紹介します。

JIS X 3010-1993
5.1.2.2.1 プログラム開始処理 プログラム開始処理において
呼び出される関数の名前は、mainとする。処理系は、この関数に
対して関数原型を宣言しない。この関数は、仮引数をもたない関数
   int main(void){/* ・・・ */}
として定義することも、二つの仮引数をもつ関数
   int main(int argc char *argv[]){/* ・・・ */}
として定義することもできる。
→やはり?、int main(void)で良いようです。
→また、関数の終わりの'}'まで到着したときは式をもたないreturn文の実行と同じことのようです。
→したがって、サンプルはこのままでも間違いではないようです。

5.2.4.2.1 各整数型の大きさ<limits.h> 
 int == short int  (2バイト)
 long  (4バイト)
→JISではintとshortが同じようです。
→VisualC++ではintとlongが同じようです。つまり、処理系によって異なるようです。

6.9 今後の言語の方針
6.9.4 関数宣言 空の括弧を伴う関数宣言(関数原型仮引数型宣言ではない)の使用は、廃要素とする。
→今後、引数のない関数、例えば、int sub();のような形は廃止されるようです。いつからかわかりませんが、引数なしのときは
int sub(void);と書いておいた方がいいでしょう。

最後に
>うちの専門学校から配付されたテキストとここのプログラムがほぼ一緒なんです。
私のプログラミングのサイトは、
  (1) プログラミングのそれぞれのコンテンツについては、著作権を放棄したものではありません。
  (2) プログラミングの各ページへのリンクおよび教育機関が教育目的のために編集または加工して利用していただいても結構です。
  (3) ご利用いただけた方は、ご一報(事後報告で結構です)いただければ幸いです。
としていますので、問題はありません。
ただ、これまでご利用頂いた方からはメールがありました(全部かどうかわかりませんが)。
差し支えなければ、メールで学校名を教えて頂けませんか?何もするつもりはありません。フ〜〜ンと思うだけです。
では、またいつでも遠慮なくどうぞ。

ありがとうございました!  setu - 2003/11/04(Tue) 18:17 No.31

なるほど。どうもご丁寧にありがとうございます。
ただ「int main(void)」この辺がまだちょっと曖昧なような気もしますが、まあこの辺はジョジョに分かっていくようにします!

これからも分からないところあったら遠慮なく質問させていただきます(笑)

9GAMEで・・・  あいか - 2003/09/02(Tue) 00:10 No.22

初めまして。
実はただ今VBの9GAMEに挑戦しているのですがエラーが出てしまってうまく動きません。
2タイルの配置と色設定の部分のプログラムをすべて書いて実行したところ、エラー360というのが表示されて実行できませんでした。
ちなみに、一行ずつ実行すると、With cmdTile(n) の部分でとまってしまいました(>_<)
お手数ですが教えていただけたら幸いです。。。

Re: 9GAMEで・・・  あいか - 2003/09/02(Tue) 00:14 No.23

間違えました。
With cmdTile(n) で止まってしまうと書いたんですが、
Load cmdTile(n) の部分でした。
この部分でエラーが出てしまいます。

よろしくお願いします。

Re: 9GAMEで・・・  hiroshi - 2003/09/03(Wed) 22:39 No.24

ようこそ、あいかさん
エラー360は「このオブジェクトは既にロードされています。」というものです。
フォームにはすでに1と表示されたコマンドボタンを一つ配置しています。このボタンのIndexプロパティを1としているので、cmdTile(1)が配置されていることになります。
Load cmdTile(n)の変数nはFor文で2,3,4,・・・,8,9と変化するようになっていて、
cmdTile(2)〜cmdTile(9)を配置します。
エラーは同じオブジェクトをLoadしようとしたためのものなので、エラーが出たときの変数nの値を調べて
2〜9以外の値になっていないか調べてみて下さい。
もし、2〜9の範囲であれば、フォームに配置したcmdTileのIndexプロパティの値が1になっているか調べてみて下さい。

Re: 9GAMEで・・・  あいか - 2003/09/05(Fri) 20:42 No.25

お返事どうもありがとうございました。
実は初めに9個のタイルを配置してしまっていたためにエラーが起こっていました。。。単純なミスで恥ずかしいです。。。
本当にどうもありがとうございました。また何かあったらよろしくお願いしますm(__)m

画像を取り込むやり方で質問。  さな - 2003/07/30(Wed) 19:11 No.19

はじめまして。こんにちは。
ここの掲示板の主旨とはちょっと違う質問になってしまうかもしれませんが、ぜひ、教えてください。

VBやExcelなどの説明でわかり易く画像を使って説明されていますが、どんな風に画像を取り込んだのですか?
私は、VBのFormやプロパティの画面を取り込もうとしているのですが(PhotoShopで)、まったく、出来ません。特別なソフトが必要なのですか?

教えてください!

Re: 画像を取り込むやり方で質問。  hiroshi - 2003/07/31(Thu) 01:36 No.20

さなさん、ようこそ。
画面の取り込みには特別なソフトは使っていません。取り込みたい画面やウィンドウを表示させておいて、
[Print Screen]キーを押します。これでクリップボードに取り込めたので、画像編集ソフトのメニューから
[編集(E)]→[貼り付け(P)]を選んで貼り付けています。[Print Screen]キーを押しても変化がないので
わかりにくいですが。
アクティブなウィンドウだけを取り込むときは、[Alt]キーを押したままで[Print Screen]キーを押します。
お試し下さい。
ちなみに、私は画像編集に「花子フォトレタッチ2」を使っています。使い慣れたものがいいですネ。

Re: 画像を取り込むやり方で質問。  さな - 2003/07/31(Thu) 05:47 No.21

早速のお返事ありがとうございます。
早速、試してみました。
見事にできました。ありがとうございました。

BolrandのコンパイルとかLsicでの質問  たけ - 2003/07/22(Tue) 17:11 No.17

ここは初めてですみなさんよろしくお願いします
Cのコンパイルで
Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)
というのがエラーとしてたびたび出るのです
いったいどこが同直せばいいのかわかりません!
どうかわかりましたら
教えてください。

Re: BolrandのコンパイルとかLsicでの質問  hiroshi - 2003/07/25(Fri) 21:38 No.18

遅くなりました。BCCが手元になかったもので。それで、詳しくわからないのですが。
>_mainが未解決
ということは、リンク時のエラーのようです。ところでmain関数はありますよね。(失礼)
#include <stdio.h>
void main(void)
{
  printf("Hello C !\n");
}
のようにCはmain関数から実行されるようになっています。
2つ目。ネットでいろいろ調べていたのですが、c:\Borland\Bcc55\Binフォルダに
bcc32.cfgファイルが必要で、
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
の2行が必要なようです。
また、ilink32.cfgファイルも必要で
-L"c:\Borland\Bcc55\lib"
の1行が必要なようです。
不確かなことしか答えられませんでしたが、一度試してみて下さい。

VBのDir関数について  kazやん - 2003/06/11(Wed) 11:44 No.12

初めまして、kazuやんと言います。

VBのDir関数について質問があります。
Dir関数を使ってファイルの検索を行うプログラムを作ったのですが1つ問題が発生しました。
それはパスで"C:\test\*.txt"を指定してDir関数を行うと
なぜだかわからないのですが拡張子が.txtaや.txt3まで引っ張ってきてしまいました。

Dir関数を色々調べているとなぜだかわかりませんが、パスの指定にワイルドカード(*)を使って拡張子をしていすると上の原因が起こります。
例)
C:\Windows\.txt
C:\test\.jpgなど

例)
Dir("c:\test\*.txt") → test.txt,test.txta,test.txt32s
Dir("c:\test\*.c") → test.c,test2.c(test.caなどは引っかからない)

それも不思議なことに拡張子が3桁のものだけが曖昧検索となり他のものは完全一致となっているのです(上参照)。
これはいったいどういう事なのでしょうか?

もし、これを回避できる方法がありましたら教えてください。宜しくお願いします。

Re: VBのDir関数について  hiroshi - 2003/06/12(Thu) 01:04 No.13

ようこそです。
私も何度かDir関数を使いましたが、気がつきませんでした。確かに
おっしゃるような現象が起こりますね。
確かなことではないのですが、MS-DOS形式の短いファイル名(8.3形式)で
検索されているのではと推測します。いわゆるVBのバグということに
なるのでしょうか。あくまでも推測です。
それで対処方法ですが、次のように"Like演算子"を使ってみました。

pathname = "c:\test\" '対象のフォルダ名
pattern = "*.txt" 'ファイルパターン
fname = Dir(pathname & pattern)
if fname Like pattern then 'Like演算子による比較
'ファイル *.txt に対する処理
else
'ファイル *.txt 以外に対する処理
endif

Dir関数で取得したファイル名をIf文で検査することで現象を回避して
います。
"Like演算子"についてはヘルプをご覧下さい。

リスト部分  hiroshi - 2003/06/12(Thu) 01:08 No.14

リスト部分の字下げが無く見にくいのでもう一度。
(半角空白が無視される?)

pathname = "c:\test\"  '対象のフォルダ名
pattern = "*.txt"    'ファイルパターン
fname = Dir(pathname & pattern)
if fname Like pattern then   'Like演算子による比較
  'ファイル *.txt に対する処理
else
  'ファイル *.txt 以外に対する処理
endif

出来ました  kazやん - 2003/06/12(Thu) 10:55 No.16

hiroshiさん、ご返答ありがとうございます。
Like演算子を使ったら上手く回避する事が出来ました。

あの後色々調べたのですが、Windows(MS-DOS形式)では3桁以上の拡張子は切り捨てられるみたいな事が記述してあったのをちらっと見ました。やっぱりVBのバグなんでしょうかね?

VBは色々と出来て便利だけれどもその分奥が深く難しいですね。又解らない事があったら書き込みたいと思いますので、今後も宜しくです。

はじめまして!(VBとCの違い)  あお - 2003/03/07(Fri) 01:30 No.9

はじめまして、あおです。。
最近VBを始めました。。
先日一個シューティングゲームが完成しました!
楽しいですよね、プログラミングw

で、、、初歩的な質問なんですが、、、
VBとCの違い、ってなんなんですか・・・??
友達に聞いたところCの方がゲームには適しているらしいんですが、本当でしょうか。
VBだと弾を増やしたりしすぎると一気に処理速度がおちちゃうんで、Cだったら大ジョブなのかな、とおもったので質問しました。

今後ともよろしくおねがいします。

Re: はじめまして!  hiroshi - 2003/03/09(Sun) 02:49 No.10

あおさん、ようこそいらっしゃいました。
> VBとCの違い、ってなんなんですか・・・??
難しい質問です。VBのBはご存じのようにBASICがベースの言語ですが、これはBeginner's All-purpose Symbolic Instruction Codeの略で
初心者の教育用に開発されました。Cは、OSなどのシステム開発には機械語(CPUが直接理解できる言語)が使われていましたが、
わかりにくい、メンテナンスに不便、ということから開発されました。
ということで、乱暴な分け方ですが、BASICはより人間に近い言語、Cはより機械に近い言語といえるかもしれません。
> Cの方がゲームには適している・・・
処理速度の点でいえば、そうでしょうね。でも、時間のかかるグラフィック処理をAPIでするとか、少ない命令でできるように
アルゴリズムを考えるとか、個人でプログラミングを楽しむにはVBが手軽ですし、最適だと思います。
このサイトでUFO Shootingというゲームを作っていますが、UFOや弾の移動処理などをAPIで書くともっとスムーズに、Cに負けないくらい動くでしょう。

で、将来、仕事でプログラミング、ということであれば早いうちにC/C++を勉強しておくのもいいでしょう。
個人でプログラミングを楽しむにというレベルであればVBがいいと思います。処理速度を上げる工夫も楽しいものです。

Re: はじめまして!  あお - 2003/03/11(Tue) 22:56 No.11

遅くなってすいません!

わかりやすい説明ありがとうございます。。
自分もがんばってよりよいものをつくっていきますんでこれからもヨロシクおねがいします(^ー^


またまた  めるやん - 2003/02/03(Mon) 00:25 No.5

 
またまた、質問なんですけど、すみません。

見たら、Basic.netの方は、うちのパソコンMEなんで、使えないみたいなんです。
そこで、6.0の方を買おうと思うんですけど、電気店行ったら、もう販売してないそうなんです。
そこで、困ったんですが、6.0の方はどうやって入手したらいいんでしょうか?
基本的なことで申し訳ありません。

Re: またまた  hiroshi - 2003/02/03(Mon) 20:43 No.6

1.VB6の在庫を持っている販売店を探す。
2.ダウングレード。次のURL参照。
http://www.microsoft.com/japan/msdn/vbasic/support/vb6.asp
これぐらいだと思います。

Re: またまた  めるやん - 2003/02/04(Tue) 00:46 No.7

レスありがとうございます。
他の店に問い合わせて見ます。
それと、オークションなどでVB6.0を探してみたんだすが、なかなか高値で取引されてるようですね2万近く。
だったら、.Netの方が安く済むんですが、、、

.Netは、MEだと絶対使えないのでしょうか?

Re: またまた  めるやん - 2003/02/05(Wed) 13:13 No.8

お手数をおかけしています。
やはり、MEでは使えないようですね。
どうもすみません。

幸いにも友人が安くVB6.0を譲ってくれたので、
そちらから買いました。

これからVBをがんばりたいと思います。
ありがとうございました。

さっそく  めるやん - 2003/01/31(Fri) 16:38 No.2


こんにちは。めるやんです。
さっそく質問なんですが、お願いいたします。

VB6.0バージョンが最新のものと思っていたんですが、インターネットでいろいろ調べていたら、VisualBasic.net(http://www.microsoft.com/japan/msdn/vbasic/productinfo/overview.asp)
というものが発売されていました。これが、VBの最新バージョンになっているのでしょうか?
それとも、VBとは、また違う物なんでしょうか?

VBを始めたばかりでよくわかりません、どうぞよろしくお願いします。

Re: さっそく  めるやん - 2003/02/01(Sat) 22:45 No.3

いろいろ調べているうちに、やっとわかりました。
失礼しました。

失礼しました  hiroshi - 2003/02/01(Sat) 23:24 No.4

チェックを怠っていました。失礼しました。
これにこりずにご利用ください。

掲示板新設しました  hiroshi - 2003/01/13(Mon) 04:16 <URL> No.1

プログラミングに関する質問
またはテキストの誤りなど用に
掲示板を新設しました。是非ご利用ください。

過去ログ
メニューに戻る




inserted by FC2 system