0

より多くのコードを含めるように更新されました。

vb.net 2012 では、未使用の変数を示す以下のコードに対して 3 つの警告が表示されます。temp、filetype、および inde はすべて未使用として警告されています。

Private Sub Next_Image()
    ' TO Do -  is same, maybe make a function? Don't know if its worth it though
msgbox(My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension)
exit sub
    If changes = True Then
        If filesettings(2) = 0 Then
            If MessageBox.Show("Save Changes?", "Save Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Dim filetype As System.Drawing.Imaging.ImageFormat
                If My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension.ToLower = ".png" Then
                    filetype = System.Drawing.Imaging.ImageFormat.Png
                ElseIf My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension.ToLower = ".jpg" OrElse My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension.ToLower = ".jpeg" Then
                    filetype = System.Drawing.Imaging.ImageFormat.Jpeg
                ElseIf My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension.ToLower = ".bmp" Then
                    filetype = System.Drawing.Imaging.ImageFormat.Bmp
                ElseIf My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension.ToLower = ".gif" Then
                    filetype = System.Drawing.Imaging.ImageFormat.Gif
                ElseIf My.Computer.FileSystem.GetFileInfo(img_picture.ImageLocation).Extension.ToLower = ".tiff" Then
                    filetype = System.Drawing.Imaging.ImageFormat.Tiff
                End If
                img_picture = Nothing
                imageadjust.Save(filename, filetype)
            End If
        End If
    End If
    If Not img_picture.ImageLocation = Nothing Then
        Dim inde As Integer = files.IndexOf(filename)
        If inde = files.Count - 1 Then
            img_picture.ImageLocation = files(0)
        Else
            img_picture.ImageLocation = files(inde + 1)
        End If
        filename = img_picture.ImageLocation
        Me.Text = filename.Substring(filename.LastIndexOf("\") + 1) & " - Picture Viewer"

        If filesettings(0) = 1 Then
            img_picture.SizeMode = PictureBoxSizeMode.CenterImage
        ElseIf filesettings(0) = 2 Then
            img_picture.SizeMode = PictureBoxSizeMode.Zoom
        Else
            Dim temp As New Bitmap(filename)
            Me.img_picture.Refresh()
            If temp.Width > Me.img_picture.Width OrElse temp.Height > Me.img_picture.Height Then
                Me.img_picture.SizeMode = PictureBoxSizeMode.Zoom
            Else
                Me.img_picture.SizeMode = PictureBoxSizeMode.CenterImage
            End If
            temp.Dispose()
        End If
    End If
End Sub

コードを許してください。追加を始めたばかりなので、冗長なものもあるかもしれません。しかし、temp、inde、filetype が未使用と宣言されている理由がわかりません。

4

3 に答える 3

1

すべてのコードを追加すると、私の間違いがわかります。msgbox の値をチェックするときに exit サブコマンドを追加しましたが、それを削除するのを忘れていました。

ただし、よりクリーンなコードを提供してくれた両方の回答に感謝します。

于 2013-04-23T05:07:09.243 に答える
1
img_picture = Nothing

したがって、ここで変数をnullとして宣言し、投稿したものから決して使用しないでください。

変数を使用しますか?ifスイッチのすぐ内側?いずれにせよ、その行は必要ないようです。

また、文字列値による拡張機能のテストには 2 つの問題しかありません...動作しない可能性があり、少しずさんです。あなたのケースにないファイルを見つけた場合/それ以外の場合は失敗し、他の可能性があります。

これは、IMOをテスト/チェックするためのより良い方法です。VB.Net用に微調整する必要がありますが

于 2013-04-23T03:46:40.813 に答える