Private Sub Command1_Click() With Picture1 .FillStyle = vbFSSolid '円の塗りつぶし .FillColor = RGB(0, 0, 0) '色指定 R,G,B End With On Error GoTo Err_Cancel: CommonDialog1.CancelError = True CommonDialog1.Flags = cdlOFNOverwritePrompt + cdlOFNHideReadOnly CommonDialog1.Filter = "テキストファイル (*.txt)|*.txt" CommonDialog1.ShowOpen ' ダイアログで選んだファイル名を変数のstrFileNameに入れる。 strFileName = CommonDialog1.FileName If strFileName = "" Then Exit Sub Picture1.BackColor = RGB(255, 255, 255) n = 0 s = 0 Dim mag_rev(10000), rad(10000), X(10000), Y(10000) '変数(配列)の宣言と値の代入。括弧内は要素数、格納変数は0番から Dim ReadData As String ' strFileNameに入っているファイルを、ファイル番号1としてInputモードで開く。 Open strFileName For Input As #1 Do Until EOF(1) 'ファイル番号1の内容を1行ずつ変数tempに入れる。 Line Input #1, temp X(n) = Left(temp, 9) * 10 * 11.8 Y(n) = Mid(temp, 13, 9) * 10 * 11.8 rad(n) = Mid(temp, 25, 4) mag_rev(n) = Mid(temp, 36, 4) If ((Y(n) ^ 2) + (X(n) ^ 2)) < (3004 ^ 2) And (1240 ^ 2) < ((Y(n) ^ 2) + (X(n) ^ 2)) Then '880 > 1244に要修正 done s = s + 1 X(n) = X(n) + 3004 '原点位置補正,++,+-,-+,--の4分割。ただし一枚はblank. Y(n) = Y(n) + 3004 '同上 Picture1.Circle (X(n), Y(n)), (11.8 * mag_rev(n)) / (1.585 ^ (-1 + rad(n))) '描画部。左上からのX座標,Y座標,半径 ReadData = ReadData & temp & " " & " " & n & " *" & vbCrLf Else ReadData = ReadData & temp & " " & " " & n & vbCrLf End If n = n + 1 ' ここまでが繰り返し部分となる。 Loop ' Inputモードで開いたファイルを閉じる。 Close #1 Text1.Text = n & "個中" & s & "個のデータを処理しました。(最大10000個)" Form1.Caption = "恒星原版プロッタ 斜辺部版 - " & strFileName RichTextBox1.Text = ReadData n = 0 Err_Cancel: Exit Sub End Sub Private Sub picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'もし、クリックされたのが右ボタンならポップアップメニューを表示する。 If Button = vbRightButton Then Me.PopupMenu mnuPopup End If End Sub Private Sub mnuJapanese_Click() '保存 On Error GoTo Err_Cancel: CommonDialog1.CancelError = True CommonDialog1.Flags = cdlOFNOverwritePrompt + cdlOFNHideReadOnly CommonDialog1.Filter = "ビットマップファイル (*.bmp)|*.bmp" CommonDialog1.ShowSave '[ファィル名をつけて保存]ダイアログボックスを表示 SavePicture Picture1.Image, CommonDialog1.FileName 'ファイルに画像を保存 Exit Sub Err_Cancel: Exit Sub End Sub 'copyright 2006 Yabumoto (c) all rights reserved.