Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Apua VB6 --> VB.NET 2010

Sivun loppuun

Tumppu [15.12.2010 17:42:04]

#

Hei!

Yleisön pyynnöstä vaihdoin Ferrarin Fiiattiin.. Ongelmia tulee kerta toisensa jälkeen. No yksi ongelma jonka kanssa pähkäilin eilen koko illan. :D

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim sana As String

        sana = "*" & TextBox1.Text & "*"
        If ListBox1.FindString(sana) > -1 Then
'tämä ei nyt löydä koskaan mitään, mutta jos jättää "*" merkit pois niin silloin se löytää vain juuri samalla lailla kirjoitetut kokonaiset sanat
            MsgBox("Löydetty!")
        End If
    End Sub

VB6:lla pystyi käyttämään haun yhteydessä "*" joka tarkoitti mitä vain. Kuinka tämä onnistuu .NET puolella?

Kiitos


EDIT: Siitä syystä viestin aihe on kyseinen, koska näitä kysymyksiä tulee varmasti vielä eteen.

neau33 [15.12.2010 18:34:31]

#

Moi Tumppu!

tämä toimii...

Sub Button6_Click(sender As Object, e As EventArgs)

   For i As Integer = 0 To listBox1.Items.Count -1
      Dim lstItem As String = CType(listBox1.Items(i),String)
      If lstItem.IndexOf(textBox1.Text) > -1  Then
         MsgBox("Löydetty!"): Exit For
      End If
   Next

End Sub

neau33 [16.12.2010 09:22:33]

#

Moi taas Tumppu!

Mikäli haluat välttämättä käyttää korvausmerkkejä (Wildcard characters) niin...

Sub Button1_Click(sender As Object, e As EventArgs)

   For i As Integer = 0 To listBox1.Items.Count -1
      If CType(listBox1.Items(i), String) _
      Like  "*" & textBox1.Text & "*" Then
      'Like "?" & textBox1.Text & "?" Then
        MsgBox("Löydetty!"): Exit For
      End If
   Next

End Sub

Tumppu [20.12.2010 14:24:39]

#

Kiitos Nea! Seuraava ongelma. .NET osaa hienosti avata GIF kuvia, jotka näkyvät transparenttinakin. Nyt kuitenkin jos piirrän Pictureboxin jonka päälle toisen pictureboxin jossa on GIF kuva, niin päälimmäisen kuvan läpinäkyvyys näkyy formista. Eli miten saisi kuvan läpinäkyvän osuuden näkymään alla olevasta kuvasta? Tack!

Tumppu [24.12.2010 10:21:00]

#

Sain itseratkaistua viimein ongelman.

Picturebox2.Parent=Picturebox1

Nyt picturebox2 läpinäkyvä osan alta näkyy picturebox1:n kuva.

Tumppu [21.01.2011 21:49:47]

#

Kuinkas onnistuu jos piirtää pictureboxiin koodilla:

Dim pTiili As Graphics = PictureBox2.CreateGraphics

niin kopioimaan piirretyn kuvan toiseen pictureboxiin?

Entä miten saan piirretyn kuvan jäämään pictureboxiin kun sen poistaa näkyvistä?

Elikkä tarkoituksena kokeilla tehdä pelikenttä jota päivitetään tietyn väliajoin, mutta kun kentän kokoa kasvattaa paljon niin se vilkkuu ikävästi. Kenttä piirretään 32x32 tileistä. Vai onko parempaa vaihtoehtoa?

Hennkka [21.01.2011 22:19:57]

#

Kannattanee varmaan tehdä oma kontrolli peliä varten ja ainakin käyttää tuplapuskurointia.

Public Class Peli
    Inherits System.Windows.Forms.Control
    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        Dim Puskuri As New Bitmap(640, 480)                 'Puskuri
        Dim g As Graphics = Graphics.FromImage(Puskuri)     'Grafiikka muuttuja

        'Piirtäminen
        g.FillEllipse(Brushes.Gold, 10, 40, 29, 93)

        'Piirretään valmis kuva ruudulle
        e.Graphics.DrawImage(Puskuri, 0, 0)

        'Suoritetaan ylikirjoittamaton osa
        MyBase.OnPaint(e)
    End Sub
End Class

Tuplapuskuroitu kuva on sitten helpompi kopioida toiseen paikkaan tai vaikkapa tallentaa levylle

Dim Puskuri As New Bitmap(640, 480)                 'Puskuri
Dim g As Graphics = Graphics.FromImage(Puskuri)     'Grafiikka muuttuja

'Piirtäminen
g.FillEllipse(Brushes.Gold, 10, 40, 29, 93)

'Piirretään kuva pictureboxiin
PictureBox1.Image = Puskuri

'Kopioidaan se toiseen
PictureBox2.Image = PictureBox1.Image

Tumppu [22.01.2011 13:55:31]

#

Kiitos Hennkka! Entäpäs osaako kukaan kertoa kuinka luvun pyöristäminen onnistuu? Luku pitäisi pystyä pyöristämään aina ylöspäin eli 1.1 = 2 jne..

Metabolix [22.01.2011 15:40:49]

#

x = Math.Ceiling(y)

Yrititkö edes selvittää tätä itse?

Tumppu [22.01.2011 15:52:24]

#

kyllä yritin, mutta en löytänyt. VB:tä muistellen niin Round:lla pystyi pyöristämään ja .NETiin kun kirjoittaa Round niin ehdotuksiksi tulee MidpointRounding() ja kyseisellä pätkällä en saanut mitään aikaiseksi.

Grez [22.01.2011 15:56:31]

#

No jos vaikka Googleen kirjoittaa "VB.Net round up" niin ekassa osumassa on vastaus. Eli minusta kyllä voisi sanoa että et yrittänyt selvittää itse, jos ensimmäinen asia on kysyä muilta, kun VB6:n syntaksi ei toimi suoraan.

Hennkka [22.01.2011 16:14:09]

#

VB.netissä funktiot löytyvät aina jonkin luokan alta. Esim. Matematiikkan liittyvät funktiot löytyvät Math-luokasta ja teksti Strings-luokasta.

Tumppu [23.01.2011 18:44:42]

#

Nyt kun on viikonlopun istunut koneella ja purkanut p-s-c.comin sorsia, niin alkaa pikkuhiljaa päästä jyvälle .NET:stä. :)


Sivun alkuun

Vastaus

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

Tietoa sivustosta