2009-06-10 22 views
0

これを前に投稿して、これまで私のために働いていない答えがいくつかありました。したがって、私は自分のコードの一部を投稿して、私が話していることを見ることができます。ハイライトされた部分は私が別の投稿から引っ張ったもので、今は私のために働いていません。私はVisual Studio 2008を使用しており、プログラムはBasicで書かれています。私はネットからこのプログラムのほとんどを引っ張り、それを私のニーズに合わせて調整し始めました。ありがとう! アラビア語に精通している場合は、文字を理解していない場合は、変数にAとBを使用してください。1つの変数を作る方法=ただ1つではなく2つ他のもの

Public Class Form1 
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged 
    If CheckBox1.Checked = True Then 
     TextBox2.Text = convert(TextBox1.Text) 
    End If 
End Sub 
Private Sub OpenToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click 
    Dim AllText, LineOfText As String 

    OpenFileDialog1.Filter = "Text files (*.txt)|*.txt" 
    OpenFileDialog1.ShowDialog() 
    If OpenFileDialog1.FileName <> "" Then 
     Try ' 
      FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input) 
      Do Until EOF(1) ' 
       LineOfText = LineInput(1) 
       AllText = AllText & LineOfText & vbCrLf 
      Loop 
      TextBox1.Text = AllText 
      TextBox1.Select(1, 0) 
      TextBox1.Enabled = True 
     Catch 
      MsgBox("Error opening file.") 
     Finally 
      FileClose(1) 
     End Try 
    End If 
End Sub 
Public Function convert(ByVal gaby As String) 
    Try 
     gaby = Replace(gaby.ToLower, "a", "ا") 
     gaby = Replace(gaby.ToLower, "ab", "اب") 
     gaby = Replace(gaby.ToLower, "ac", "اث") 
     gaby = Replace(gaby.ToLower, "b", "ب") 
     gaby = Replace(gaby.ToLower, "t", "ت") 
     gaby = Replace(gaby.ToLower, "c", "ث") 
     gaby = Replace(gaby.ToLower, "j", "ج") 
     gaby = Replace(gaby.ToLower, "h", "ح") 
     gaby = Replace(gaby.ToLower, "o", "خ") 
     gaby = Replace(gaby.ToLower, "d", "د") 
     gaby = Replace(gaby.ToLower, "z", "ذ") 
     gaby = Replace(gaby.ToLower, "r", "ر") 
     gaby = Replace(gaby, Chr(59), "ز") 
     gaby = Replace(gaby.ToLower, "s", "س") 
     gaby = Replace(gaby.ToLower, Chr(58), "ش") 
     gaby = Replace(gaby.ToLower, "x", "ص") 
     gaby = Replace(gaby.ToLower, "v", "ض") 
     gaby = Replace(gaby.ToLower, "u", "ط") 
     gaby = Replace(gaby.ToLower, "y", "ظ") 
     gaby = Replace(gaby.ToLower, """", "ع") 
     gaby = Replace(gaby.ToLower, "g", "غ") 
     gaby = Replace(gaby.ToLower, "f", "ف") 
     gaby = Replace(gaby.ToLower, "q", "ق") 
     gaby = Replace(gaby.ToLower, "k", "ك") 
     gaby = Replace(gaby.ToLower, "l", "ل") 
     gaby = Replace(gaby.ToLower, "m", "م") 
     gaby = Replace(gaby.ToLower, "n", "ن") 

     ***gaby = Replace(gaby.ToLower, Chr(63), "ه", 1, Len(gaby) - 1) 
     If Microsoft.VisualBasic.Right(gaby, 1) = Chr(63) Then 
      Mid$(gaby, Len(gaby), 1) = "ة" 
     End If*** 




     gaby = Replace(gaby.ToLower, "w", "و") 
     gaby = Replace(gaby.ToLower, "i", "ي") 
     gaby = Replace(gaby.ToLower, "e", "ء") 
     gaby = Replace(gaby.ToLower, "", "") 

    Catch 
     MsgBox("error converting") 
    End Try 
    Return gaby 

End Function 
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 

    TextBox2.Text = convert(TextBox1.Text) 

End Sub 
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click 
    MsgBox("سلام converter copyrights 2009" & vbCrLf & "تستمتع" & vbCrLf & "" & vbCrLf & "Hope this helps!!!") 
End Sub 
Private Sub AutoConvertToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AutoConvertToolStripMenuItem.Click 
    If CheckBox1.Checked = True Then 
     CheckBox1.Checked = False 
    Else : CheckBox1.Checked = True 
    End If 
End Sub 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    TextBox1.Text = String.Empty 
    TextBox2.Text = String.Empty 
End Sub 
Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click 
    SaveFileDialog1.Filter = "Text files (*.txt)|*.txt" 
    SaveFileDialog1.ShowDialog() 
    If SaveFileDialog1.FileName <> "" Then 
     FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output) 
     PrintLine(1, TextBox2.Text) 
     FileClose(1) 
    End If 
End Sub 
Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click 
    End 
End Sub 
End Class 
+0

私はまだあなたが求めているものにとして失わ少しです。あなたは、1つの変数= 2つの他の変数を意味することによって、もう少し明確になりますか? – kdmurray

+0

私はあなたが何を望んでいるのか分かりませんし、コードが本当に助けにならない、あなたは何をしようとしていますか?いくつかの文字列を別の文字列に変換しますか?どんな例? – eschneider

+0

ToLowerを何度も呼び出すと、gaby = gaby.ToLowerが最初の行になり、Replace(gaby、***、***)は残りの部分になります。 –

答えて

0

それは、文字列の末尾だ場合、私は別の値にごother post char型の変化に読んで。オリジナルのアラビア文字と2つの異なるラテン文字を格納するために2次元配列を使用できます。あなたのアラビア語の文字列の各文字について、それを配列で探し、それを最初の等価のラテン文字に変更します。それが元の文字列の最後の文字であれば、それを2番目のラテン文字のために変更します。

1

Replaceメソッドは、文字だけでなく、置き換えられる部分の文字列を受け取ります。どういうわけか

gaby = Replace(gaby.ToLower, "1" + Chr(63), "ة" + Chr(63)) 
gaby = Replace(gaby.ToLower, "1", "ه") 

もちろん、置き換えの順序は重要です。 Chr(63)が続く1は、残りの1が置換される前に削除されます。

(私は間違った結果の文字列の順序を持​​っています。結果は左に右にする必要があります。それはべきではないのですか?)

関連する問題