HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

> JA9AOB 銅子さん、ありがとうございます。
>
>
> C# から VB.net への変換ミスを修復し切れていない問題も残っています。
> GlCalculate() にて
>
>
> If isEast = True Then
> longitude += CDbl(180)
> Else
> longitude = CDbl(180) - longitude
> End If
> ....の次が
>
> ''' Input:
> ''' longitude /= 20;
> ...の様に未変換のままです。 ここは必要なのかどうか?
>
> 上記のIf文と同じコードが出て来ますが、そこにも
>
> ''' Input:
> ''' longitude /= 20;
>
> -------------------------
> GlToTransit() にも同じ箇所があります。

複合代入演算子 と言われるものです。
longitude /= 20; は longitude = longitude/20; と同じです
他に
x += y
x = x + y
x -= y
x = x - y
x *= y
x = x * y
x /= y
x = x / y
等もあります

>
>
> GlCalculate() 関数の呼び出しでエラー。 パラメターの与え方が悪い?
> コールの仕方が悪いのか?
>
> 'エラー
> BC30451 'GlCalculate' は宣言されていません。アクセスできない保護レベルになっています。
>
> 下記の様にしているのですが??
> Public Class SurroundingClass
>
>   Public Function GlCalculate(ByVal edeg As Integer, 以下省略
>
> Class から Module に変えたら上記のエラーは出なくなりました。
> デバッグで動かすと
>  
> '// 1文字目 経度情報の整数部 0〜17 をAからRに変換する
> gl += characters(CInt(longitude))

gl += ((int)longitude).ToString();
はdoubleをintに変換してstringに変換 すなわち整数部分の文字表現を取り出し gl の後ろに付け足す処理です。 

10進数に直して 整数部分を取り出しその値を文字化する方法もあります。
BigDecimal bigDecimal = new BigDecimal(String.valueOf(doubleNumber));
int intValue = bigDecimal.intValue();

その他に doubleを文字化して 小数点以前を取り出す方法でも可能です
String doubleAsString = String.valueOf(doubleNumber);
int indexOfDecimal = doubleAsString.indexOf(".");
gl += doubleAsString.substring(0, indexOfDecimal);


>
> ...にて「ユーザーが処理していない例外」と言うエラー
>
>
> 長くなりますので、後は落ち着いたらメールっさせて頂きます。

2021/11/08(Mon) 07:54:17  [No.966]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー