Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: merkin lisääminen tiedoston nimeen

Puoliväkisten [18.01.2009 15:11:35]

#

Hei taas :)

Alla oleva koodi on ok

If KojeenValinta.SelectedIndex = 0 Then

            Select Case KojeenYläpuoli.SelectedIndex


                Case 0
                    If KojeenYläpuoli.SelectedIndex = 0 Then
                        KuvaYläpuoli.Refresh()
                        KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\K1lapaAmalliY1.bmp")
                        KuvaAlapuoli.Visible = True
                    Else
                        KuvaYläpuoli.Visible = False

                    End If
                Case 1
                    If KojeenYläpuoli.SelectedIndex = 1 Then
                        KuvaYläpuoli.Refresh()

                        KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\K1lapaAmalliY2.bmp")
                        KuvaYläpuoli.Visible = True
                    Else
                        KuvaYläpuoli.Visible = False

                    End If\K1lapaAmalliY1.bmp")

Seuraavalla formilla kutsutaan kuvaa

Private Sub Laskenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       PictureBox2.Image = Kiskonvalinta.KuvaAlapuoli.Image
       PictureBox1.Image = Kiskonvalinta.KuvaYläpuoli.Image
   End Sub

Saan lomakkeelle kuvan. ongelma olisi picturebox 1 ja 2.image. Haluaisin tähän eri version kuin edelliselle lomakkeelle. kuvaa olisi päivitetty mitoitustiedoilla. lisäisin tiedoston nimen alkuun M kirjaimen kuvaamaan mitoitusta. kuva joka näkyisi picture box1 tai 2 laatikossa olisi muotoa ("c:\kuvat\MK1lapaAmalliY2.bmp") tiedoston nimeen siis lisätty M kirjain

Tajuskohan kukaan.. toivottavasti annan kyllä lisää tietoa jos tarvetta

Metabolix [18.01.2009 15:16:53]

#

Mikset siis laita siihen System.Drawing.Image.FromFile("c:\kuvat\MK1lapaAmalliY2.bmp")?

Jos tarkoitat kysyä, miten oliosta Kiskonvalinta.KuvaAlapuoli.Image selviää kuvan polku, niin väitänpä, ettei mitenkään. Joudut siis joka tapauksessa tuon polun tallentamaan erikseen johonkin muuttujaan, ja saman tien voit minusta tallentaa myös M-version polusta.

Puoliväkisten [18.01.2009 18:36:28]

#

Kitokset vastauksesta

Laitoin nyt seuraavanlaisesti:

Case 0
                   If KojeenYläpuoli.SelectedIndex = 0 Then
                       KuvaYläpuoli.Refresh()
                       KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\K1lapaAmalliY1.bmp")
                       Laskenta.PictureBox1.Image = System.Drawing.Image.FromFile("c:\kuvat\MK1lapaAmalliY1.bmp")
                       KuvaAlapuoli.Visible = True

Ja tämä toimii. Ajattelin ehkä liian vaikeasti asiaa

neau33 [18.01.2009 19:54:07]

#

Moikka Puoliväkisten!

testaa oheista systeemiä & vääntele mieleiseksesi...

Imports System
Imports System.IO
Imports System.Drawing
Imports System.Windows.Forms

Public Partial Class MainForm: Inherits Form

   Friend basePath As DirectoryInfo
   Friend pics() As FileInfo

   Public Sub New()
      Me.InitializeComponent()
   End Sub

   Sub Button1Click(sender As Object, e As EventArgs)

   End Sub

   Sub MainFormLoad(sender As Object, e As EventArgs)

      ComboBox1.Items.Add("")
      basePath = New DirectoryInfo("C:\kuvat\")
      pics = basePath.GetFiles("*.bmp")

      For i As Integer = 0 To pics.GetUpperBound(0)
         If pics(i).ToString.Substring(0, 1) <> "M" Then
           ComboBox1.Items.Add(pics(i).ToString)
         End If
      Next
      ComboBox1.SelectedIndex = 0
      pics = Nothing

   End Sub


   Sub ComboBox1SelectedIndexChanged( _
   sender As Object, e As EventArgs)

      Me.CheckBox1.Text = "Mitoituskuva"
      If ComboBox1.SelectedIndex > 0 Then
         CheckBox1.Enabled = True
         CheckBoxState
      Else
         PictureBox1.Image = Nothing
         CheckBox1.Checked = False
         CheckBox1.Enabled = False
      End If

   End Sub

   Sub CheckBoxState()

      If ComboBox1.SelectedIndex > 0 Then
         If CheckBox1.Checked Then
            If Dir(basePath.ToString + "M" _
            + ComboBox1.SelectedItem.ToString) <> "" Then
               PictureBox1.Image = _
               Image.FromFile(basePath. _
               ToString + "M" + _
               ComboBox1.SelectedItem.ToString)
            Else
               MessageBox.Show("Mitoituskuvaa ei löydy", _
               "Info", MessageBoxButtons.Ok, _
               MessageBoxIcon.Information)
               CheckBox1.Checked = False
            End If
         Else
            PictureBox1.Image = _
            Image.FromFile(basePath.ToString + _
            ComboBox1.SelectedItem.ToString)
         End If
      End If

   End Sub


   Sub CheckBox1CheckedChanged(sender As Object, e As EventArgs)
      CheckBoxState()
   End Sub

End Class

neau33 [18.01.2009 23:31:25]

#

Heippa taas Puoliväkisten!

jos oikein haluaa leikkiä ja hakea polun PictureBox1.ImageLocation-ominaisuudesta niin polku on lisättävä
em. ominaisuuden arvoksi...

Imports System
Imports System.IO
Imports System.Windows.Forms

Public Partial Class MainForm

   Friend basePath As DirectoryInfo
   Friend pics() As FileInfo

   Public Sub New()
      Me.InitializeComponent()
   End Sub

   Sub MainFormLoad(sender As Object, e As EventArgs)

      ComboBox1.Items.Add("")
      basePath = New DirectoryInfo("C:\kuvat\")
      pics = basePath.GetFiles("*.bmp")

      For i As Integer = 0 To pics.GetUpperBound(0)
         If pics(i).ToString.Substring(0, 1) <> "M" Then
           ComboBox1.Items.Add(pics(i).ToString)
         End If
      Next
      ComboBox1.SelectedIndex = 0
      pics = Nothing
      Me.CheckBox1.Text = "Mitoituskuva"

   End Sub

   Sub ComboBox1SelectedIndexChanged( _
   sender As Object, e As EventArgs)

      If ComboBox1.SelectedIndex > 0 Then
         PictureBox1.ImageLocation = _
         basePath.ToString + _
         ComboBox1.SelectedItem.ToString
         CheckBox1.Enabled = True
         CheckBoxState
      Else
         PictureBox1.Image = Nothing
         PictureBox2.Image = Nothing
         CheckBox1.Checked = False
         CheckBox1.Enabled = False
      End If

   End Sub


   Sub CheckBoxState()

      If ComboBox1.SelectedIndex > 0 Then

         If CheckBox1.Checked Then
            Dim pic2Path As String = _
            PictureBox1.ImageLocation.Replace( _
            ComboBox1.SelectedItem.ToString, _
            "M" + ComboBox1.SelectedItem.ToString)

            If Dir(pic2Path) <> "" Then
               PictureBox2.ImageLocation = pic2Path
            Else
               PictureBox2.Image = Nothing
               MessageBox.Show("Mitoituskuva puuttuu","Info" , _
               MessageBoxButtons.Ok, MessageBoxIcon.Information)
               CheckBox1.Checked = False
            End If
            pic2Path = Nothing
         Else
            PictureBox2.Image = Nothing
         End If
      End If

   End Sub

   Sub CheckBox1CheckedChanged(sender As Object, e As EventArgs)
      CheckBoxState()
   End Sub

End Class

Puoliväkisten [19.01.2009 21:33:16]

#

näyttää hyvältä, pitää pureskella paljon ennen kun saan tuollaista koodia aikaan

On paljon muitakin kysymyksiä mutta pitää nyt ensin itse pähkäillä

Sam76 [26.01.2009 14:33:59]

#

neau33 kirjoitti:

jos oikein haluaa leikkiä ja hakea polun PictureBox1.ImageLocation-ominaisuudesta niin polku on lisättävä
em. ominaisuuden arvoksi...

Moro taas.

Voitko vähän selventää että mitä tuo tarkoittaa. Olen yrittänyt saada selville picturebox:ssa olevan kuvan polkua mutta tuloksetta. Tämä ei anna mitää arvoa..

Dim polku As String
polku = Form1.kuva.ImageLocation

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta