• ベストアンサー

ファイルの読み込み

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

先にご解答の方に補足させていただきます。 データをプログラムの中の配列で発生・定義するのは、 初等の解説書に載っていますが、レコード数が増えたり、 別種のデータで処理したいとき、ソースプログラムをいじらなければならなくなるので勧められません。早く卒業する事です。 そこで、ファイルを作りそれに記録するのです。 これが、コンピュータプログラムが発達し始め、COBOLなどの時代になると、主流になりました。 ファイル(データ)とプログラムの分離です。 ファイルを処理する為には、ファイルが存在しなければなりません。自分で作るわけです。どうして作るか。   (1)VBで作る。JAVAでも出きれば良いでしょ     う。入力を受けつけるプログラムで作る   (2)エクセルでセルにデータを入力して作り、CS    V形式で保存する。   (3)メモ帳で作る。   (4)その外に他人が作ったデータを処理することも     当然多い。 (2)はファイル-名前をつけて保存-ファイルの種類を CSV(カンマ区切り)を指定して「保存」する-ファイル名を仮にBook1.csvとする。これを読むにはVBで Private Sub Form_Click() Open "c:\My Documents\Book1.csv" For Input As #1 If EOF(1)=-1 Then GoTo p2 p1: Input #1, a$, b$ Form1.Print a$, b$ '(表示の例) '(処理がここに入る) GoTo p1 p2: close #1 End Sub -------------- (1)で作るには Private Sub Form_Click() Open "c:\My Documents\Book2.csv" For output As #1 p1: a$=InputBox("a=") if a$="end" then goto p2 b$=InputBox("b=") Print #1,a$;","; b$(2項目の例) GoTo p1 p2: close #1 End Sub 上記がシーケンシャルファイルと言われるものです。 (どちらもGOTO文があり、旧BASICの色を残す拙いプログラムで済みません。) 将来ぜひファイルに「構造」を持たせることを学んで ください。本当に面白い分野と思います。

sakky_t
質問者

お礼

回答ありがとうございます たしかにファイルの構造はやってて楽しいです。 ただエラーが出るのだけは苦労しますけど・・・。 なんにでもエラーはつきのもですもんね。 がんばってエラーをなくすようがんばってみます。

関連するQ&A

  • 新しいファイルの作成について

    タイピングのプログラムを作っています。 今、基になるファイル(Syokyuu1)があり ローマ字設定をしなおして 新しいファイル(Syokyuu2)を作りたいと考えています。 FINum = FreeFile Open "Syokyuu1.txt" For Input As #FINum i = 0 Do While Not EOF(1) Input #FINum, wk1(i) i = i + 1 Loop Close #FINum という具合にSyokyuu1を読み込んで wk1(100)に保存するところまでできました。 ※ wk(n)の構造:wk(0)=inu,wk(1)=ennpitu,wk(2)=honn・・・ ここでwk(0)からwk(99)までローマ字の設定をしなおして 新しいファイルSyokyuu2を同じ構造で作成したいのです。 その場合どのように記述すればよろしいですか? よろしくお願いします。 Syokyuu1の中は "inu" "ennpitu" "honn" という構造です。

  • アクセスサブフォームで保存するとエラーとなる

    以前教えてもらった下記のサブフォームでのデータ保存VBAですが、このままだと添付ファイルのような画面が出てきてメインフォームでの保存が自動で出来ず、いろいろ試してみましたがうまくいきません。 何卒、ご指導宜しくお願い致します。 Private Sub 保存_Click() MsgBox "データを確定保存します" DoCmd.RunCommand acCmdSaveRecord If Not SysCmd(acSysCmdGetObjectState, acForm, "メインフォーム名") = 0 Then 'MsgBox "メインフォームの画面を更新します" With Forms!メインフォーム名 .Refresh End With End If End Sub

  • C# 別なフォームへ値を渡す (初心者です)

    メインのフォームからサブのフォームを呼び出して、 サブのフォ-ムからさらにクラスを呼び出し、 クラスからメインのテキストボックスのテキストに書き込むプログラムを作成中です。 ですが、テキストボックスがパブリックにも関わらず、表示されません。 デバックで見る限り、テキストボックスのテキストには値が入っているのですが、 フォームを見ると表示されていません。 知恵をお貸しください。

  • iniファイルへの追記について

    FORM上の保存ボタンをクリックしたら、フォームに入力したデータがiniファイルへ追記していくというものを作りたいのですがわかりかねています。 フォームのソースで作っていこうとしていて、 ソースの始めは public sub Command保存_Click() で始まり、End sub で終りますよね? そこで フォーム上の値、例えば、3 を変数 a_col に格納します。ここまではできます。 この格納したものをiniファイルと同じものをあらわす名前のini_colに格納し、iniファイルに ini_col=3と表示したいのです。 iniファイルから、フォームへ取り込むところまではなんとかできました。 初心者ですのでアドバイスおねがいします。

  • サブフォームにあるテキストボックスの値を参照したい

    ACCESS2010です。 サブフォーム(帳票フォーム)のフッターにある、コントロールソースが =nz(sum([金額]),0) と設定してあるテキストボックスがあります。([合計金額s]) この[合計金額s]の値を、メインフォームのコントロールソースがテーブルの項目に設定されているテキストボックス([金額])で参照したいのですが、金額入力直後の値が参照できません。 現在はメインフォームに中継用のテキストボックス([金額wk])を作成し、コントロールソースを[合計金額s]に設定、acNewRecする前に[金額wk]の値を[金額]へ渡しています。 何とか直接参照する方法はありませんでしょうか。

  • ファイル保存

    Private Sub Command1_Click()   intFileNo = FreeFile   Open "sample_01.csv" For Output As #intFileNo   Print #intFileNo, Text1.Text   Close #intFileNo End Sub このプログラムではテキストボックスに表示されたcsvをファイル名sample_01.csvとして保存できるのですが、 これだとテキストボックスに表示されているのが何でもファイル名がsample_01.csvとなってしまいます>< こうではなくて、テキストボックスに表示されている、『○○○.csv』というのをそのままファイル名として保存したいのです。 sample_01.csvの部分をtext1.textにかえてやったらエラーがでてできませんでした・・・ どなたかご教授お願い致しますm(__)m

  • さくらサーバー ファイルマネージャー

    さくらサーバーでサブドメインを作成しましたが、どこからファイルマネージャーに入るかがわかりません。 いつもメインのドメインで入るフォームで、サブドメインアドレスを入力してPWを正規のものを打ちますが、 「ドメイン名が間違ってます」と出てしまいます。 メインのドメインで入って「ドメイン設定」を開きますと、確かにサブドメインは登録されてます。 FAQでも回答を捜せず、サポート電話も通じなくて困ってます。 どこからサブドメインのファイルマネージャーに入るのでしょうか?

  • 超初心者です。クラスファイルの作成について、

    超初心者ですが宜しくお願いします。 phpの学習をはじめて、演算、比較、繰り返し、などを初級本の通り進めてきたのですが、classの作成で悩んでいます。 拡張子を.phpではなく.classで保存と書いてあるのですがテキスト通り試みても画面に出力されません。(errorも出ちゃいます。)テキストではそのままクラスファイルを実行すると画面に出力されると書いてあるのですが.classの保存ではいけないのでしょうか?・・ javaのmainクラス作成の様に処理されると考えていたのですが・・・ それと環境ですが、php5でエディタは、DreamWになります。 初歩的な質問ですがどうぞ宜しくお願いします。

    • 締切済み
    • PHP
  • Access csvファイルで出力したい

    いつもお世話になっています。 フォームにボタンを作成して、指定したフォームをExcelファイルで保存しています。 これをcsvファイルで出力に変更したいのです。(フルパスではない方法) Private Sub Eccelで保存_Click() DoCmd.OutputTo acOutputForm, "活動記録", acSpreadsheetTypeExcel9 End Sub お力添えをお願いいたします。

  • VB.netでTIFFファイルの読み込みと保存

    GDI+については全くの初心者です。 フォームにボタンを貼り付け、下記のような処理を書いてみました。 単純にTIFFファイルを読み込んで、別名で保存するという 処理ですが、元のTIFF(test1.tif)と保存後のTIFFファイル(test2.tif)では、ファイル容量が、1/2位に小さくなってしまいます。また、元のファイルはPhotoshop7で読み込めるのですが、保存後のファイルは、読み込めません(ファイルにはこのバージョンのphotoshopと互換性がありませんというエラーメッセージ)。しかし、他のソフト(例えばIE)からはどちらも読み込めます。 これは、一体どういう理由で、どのようにすれば、両方とも全く同じTIFFファイルにすることができるでしょうか。なお、この処理の目的は、単にファイル名の変更をしたいというものではなく、本来は、読み込みと保存の間に、何らかの変換処理を行いたいのです。 よろしくお願いいたします。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim bmp As New Bitmap("c:\test1.tif") bmp.Save("c:\test2.tif", ImageFormat.Tiff) bmp.Dispose() End Sub