Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: VB 2012 Ja left$ sekä right$

heikkju2 [26.01.2013 13:59:29]

#

Tasen kyselen tyhmiä mutta,
mitenkä nuo kaksi käskyä on korvatt VB 2012:sta.
esim:
merkkijono$ = "10112001.as1"
eli pitäisi poistaa ensin tuo ".as1",
tekisin sen VB6:ssa seuraavasti a$=left$(merkkijono$,8)
eli palauttaisi arvon "10112001".

Lisäys: No keksin sen nyt kumminkin , asia hoitui Substring komennolla

peran [26.01.2013 14:08:37]

#

Google kertoi seuraavaa...

http://msdn.microsoft.com/en-us/library/y050k1wb(v=vs.71).aspx:

Dim myString As String = "Hello World!"
Dim subString As String
subString = Microsoft.VisualBasic.Left(myString, 5)   ' Returns "Hello"

neau33 [26.01.2013 15:06:14]

#

Morjens heikkju2!

Nyt on niin, että kun pelaat VB.NET ympäristössä niin oletuksena käytössäsi on .NET Framework ympäristö, jonka assemblyt ovat käytössä aivan yhtä hyvin ohjelmoidessa esim. C#-ympäristössä jne. Kun Importoit projektiisi esim. Class Form1 luokkaan Microsoft.VisualBasic assemblyn niin voit käytää VB6:sta tuttuja juttuja ko. luokassa.

pikku esimerkk

Imports  VB = Microsoft.VisualBasic

Public Class Form1

      Private TestString As String = String.Empty

      '...

      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles MyBase.Load
            TestString = "1.2.3.4.5.6.7.8.9,A;B;C;D;E;F;jen."
      End Sub

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

            MsgBox(VB.InStr(TestString, "A"))
            MsgBox(VB.Left(TestString, VB.InStr(TestString, "A")))
            MsgBox(VB.Right(TestString, 4))
            MsgBox(VB.Replace(TestString, ".", ""))
            'jne...

            Dim Numerot_Yhteen As Integer

            For i As Integer = 1 To VB.Len(TestString)
                  If IsNumeric(VB.Mid(TestString, i, 1)) Then
                        Numerot_Yhteen += Cint(Val(VB.Mid(TestString, i, 1)))
                  End If
            Next

            MsgBox(Numerot_Yhteen)

      End Sub

End Clss

heikkju2 [26.01.2013 21:20:06]

#

Thanks tästä on paljon apua

neau33 [27.01.2013 11:57:09]

#

Heippa taas!

tässä vielä esimerkki VisualBasic'n käytöstä C#-ympäristössä...

using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;

namespace VbNetInCSharpApp
{


	public partial class MainForm : Form
	{

		private string TestString = String.Empty;

		public MainForm()
		{

			InitializeComponent();
		}

		void MainFormLoad(object sender, EventArgs e)
		{
			TestString = "1.2.3.4.5.6.7.8.9,A;B;C;D;E;F;jen.";
		}

		void Button1Click(object sender, EventArgs e)
		{

			Interaction.MsgBox(Convert.ToString(Strings.InStr(TestString, "A")));
			Interaction.MsgBox(Strings.Left(TestString, Strings.InStr(TestString, "A")));
			Interaction.MsgBox(Strings.Right(TestString, 4));
			Interaction.MsgBox(Strings.Replace(TestString, ".", ""));

			int Numerot_Yhteen = 0;

			for(int i = 1; i <= Strings.Len(TestString); i++)
			{
				if(Information.IsNumeric(Strings.Mid(TestString, i, 1)))
				{
					Numerot_Yhteen += Convert.ToInt32(Conversion.Val(Strings.Mid(TestString, i, 1)));
				}
			}

			Interaction.MsgBox(Numerot_Yhteen);

		}

	}
}

Vastaus

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

Tietoa sivustosta