Ir para o conteúdo
andrejkl

Como coloco os zeros ?

Mensagens Recomendadas

andrejkl

Quando eu guardo, os zeros desaparecem

Como faço para eles não desaparecerem

Editado por andrejkl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
andrejkl

pus este codigo

resultado.Text = final.ToString("###,##0.00")

o meu resultado final aparece com zeros ,mas quando eu gravo eles simplesmente desaparecem

Editado por andrejkl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lusky

...pelo erro que estou aí a ver, parece-me que não vais ter só um problema!

Sem saber exactamente o que estás a fazer, deduzo que seja mais ou menos isto que precisas:

Dim final As Integer = final.Text
resultado.Text = Format(final, "###,##")

No código acima trata-se apenas do formato do números, se tiveres dificuldade em explicar-te envia o código completo para se analisar melhor!

De outra forma será muito difícil ajudar-te sem saber ao certo de que se trata.

Cumprimentos,

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
He B TeMy

@lusky e que tal ligares Option Strict?

 Dim final as Integer = final.Text 

nem devia compilar, .Text é uma String, tás a atribui-la a um Integer.

O Format é basicamente o que ele têm, apenas falta saber como é que ele tá a guardar.

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lusky

Olá He B Te My,

Agradeço a tua correcção, apenas para te dizer que não sou nenhum expert nesta matéria, mas também adianto que para números inteiros funciona embora não seja a forma correcta de o compilar...fiz copy/paste de um código meu (que funciona desta forma) e esqueceu-me de alterar essa parte....peço desculpa pelo erro!

Assim como eu gosto de ser ajudado quando preciso, e sim, preciso muito....também gosto de ajudar naquilo que posso.

Cumps,

Editado por lusky
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Silvex M

Andrejkl eu tb tive esse problema mas como diz o Lusky e o He B te My tens primeiro de dizer como guardas e onde guardas.

Lusky nao é por nao seres "expert" que te consideres inferior.....pra mim já és superior só pelo facto de tentares ajudar mesmo sem saberes o que o Andrejkl quer :)

He B Te My, ja vi que entendes bem disto, porque nao lhe colocas um exemplo ao Andrejkl para lhe dar uma luzinha?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
He B TeMy

He B Te My, ja vi que entendes bem disto, porque nao lhe colocas um exemplo ao Andrejkl para lhe dar uma luzinha?

Eu também não sou mt "expert", eu não coloco exemplo porque acho que sei mais ou menos o que ele tá a tentar fazer, mas eu quero que ele entenda também... por isso quero que ele poste o código dele, para eu lhe tentar ajudar no raciocínio, porque se eu puser um exemplo e for "diferente", ele provavelmente vai copiar se funcionar e não vai pensar mais nisto... (tou a supor)

Quando se têm um problema em código convêm postar a parte relevante do código para se tentar receber ajuda.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
andrejkl

Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
       Try
           RecibosBindingSource.EndEdit()
           RecibosTableAdapter.Update(Centro_SocialDataSet.Recibos)
           MessageBox.Show("guardado")
       Catch ex As Exception
           MessageBox.Show("Erro ao guardar")
       End Try
   End Sub
Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click
       Dim final As Double
       final = CDbl(valor1.Text) + CDbl(valor2.Text) + CDbl(valor3.Text) + CDbl(valor4.Text) + CDbl(valor5.Text) + CDbl(valor6.Text)
       resultado.Text = final.ToString("###,##0.00")
       Me.Extenso.Text = NumberToEuro(Me.resultado.Text)

   End Sub

é que quando eu clico no gravar ele tira-me os zeros

será por causa do double ?

Editado por ribeiro55

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
He B TeMy

Suponho que o gravar seja

RecibosTableAdapter.Update(Centro_SocialDataSet.Recibos)

Onde estás a atualizar o Centro_SocialDataSet.Recibos? O código do botão não está a fazer nada a não ser que estejas a atualizar no 'NumberToEuro'

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Silvex M

Explicas muito pouco para que o He B Te My te possa ajudar, queres realmente ajuda? ajuda-o a entender-te.....posta o código completo vais ver que o erro será logo resolvido e ficas logo a entender qual era o teu erro.

3 pontos importantes a saber: como estás a gravar | como estás a fazer o update | como está a ser feita a conversão "numberToEuro"

Aqui o pessoal gosta de analisar e ajudar quando tem as "ferramentas" todas à mão :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
andrejkl

Public Class Form4
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
	If keyData = Keys.Enter Then
		SendKeys.Send("{TAB}")
		Return True
	End If

	Return MyBase.ProcessCmdKey(msg, keyData)
End Function
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
	'TODO: This line of code loads data into the 'Centro_SocialDataSet.Modelo' table. You can move, or remove it, as needed.
	Me.ModeloTableAdapter.Fill(Me.Centro_SocialDataSet.Modelo)
	'TODO: This line of code loads data into the 'Centro_SocialDataSet.Utentes' table. You can move, or remove it, as needed.
	Me.UtentesTableAdapter.Fill(Me.Centro_SocialDataSet.Utentes)
	'TODO: This line of code loads data into the 'Centro_SocialDataSet.Recibos' table. You can move, or remove it, as needed.
	Me.RecibosTableAdapter.Fill(Me.Centro_SocialDataSet.Recibos)

End Sub

Private Sub GroupBox2_Enter(sender As Object, e As EventArgs) Handles GroupBox2.Enter

End Sub

Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click

	Try
		RecibosTableAdapter.Modificar(TextBox2.Text, TextBox5.Text, TextBox1.Text, TextBox4.Text, preço1.Text, quant1.Text, valor1.Text, TextBox6.Text, preço2.Text, quant2.Text, valor2.Text, TextBox7.Text, preço3.Text, quant3.Text, valor3.Text, TextBox8.Text, preço4.Text, quant4.Text, valor4.Text, TextBox9.Text, preço5.Text, quant5.Text, valor5.Text, TextBox10.Text, preço6.Text, quant6.Text, valor6.Text, resultado.Text, Extenso.Text, TextBox3.Text, TextBox2.Text)
		Me.RecibosTableAdapter.Fill(Me.Centro_SocialDataSet.Recibos)
		MessageBox.Show("guardado")
	Catch ex As Exception
		MessageBox.Show("Erro ao guardar")
	End Try
End Sub

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
	Form9.Show()

End Sub


Private Sub preço1_TextChanged(sender As Object, e As EventArgs)

End Sub

Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles preço2.TextChanged
	Dim p2, q2 As Double
	Dim soma2 As Double
	q2 = quant2.Text
	p2 = preço2.Text
	soma2 = q2 * p2
	valor2.Text = soma2.ToString("###,##0.00")
End Sub
Private Sub TextBox7_TextChanged(sender As Object, e As EventArgs) Handles preço3.TextChanged
	Dim p3, q3, soma3 As Double
	q3 = quant3.Text
	p3 = preço3.Text
	soma3 = q3 * p3
	valor3.Text = soma3.ToString("###,##0.00")
End Sub

Private Sub TextBox15_TextChanged(sender As Object, e As EventArgs) Handles preço4.TextChanged
	Dim p4, q4, soma4 As Double
	q4 = quant4.Text
	p4 = preço4.Text
	soma4 = q4 * p4
	valor4.Text = soma4.ToString("###,##0.00")
End Sub

Private Sub TextBox14_TextChanged(sender As Object, e As EventArgs) Handles preço5.TextChanged
	Dim p5, q5, soma5 As Double
	q5 = quant5.Text
	p5 = preço5.Text
	soma5 = q5 * p5
	valor5.Text = soma5.ToString("###,##0.00")
End Sub

Private Sub TextBox13_TextChanged(sender As Object, e As EventArgs) Handles preço6.TextChanged
	Dim q6, p6, soma6 As Double
	q6 = quant6.Text
	p6 = preço6.Text
	soma6 = q6 * p6
	valor6.Text = soma6.ToString("###,##0.00")
End Sub

Private Sub preço_TextChanged(sender As Object, e As EventArgs) Handles preço1.TextChanged
	Dim q1, soma, p1 As Double
	q1 = quant1.Text
	p1 = preço1.Text
	soma = q1 * p1
	valor1.Text = soma.ToString("###,##0.00")
End Sub

Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
	UtentesBindingSource.Filter = "Código =" & TextBox5.Text
End Sub

Private Sub ComboBox1_SelectedIndexChanged_1(sender As Object, e As EventArgs)
End Sub

Private Sub BindingNavigator1_RefreshItems(sender As Object, e As EventArgs) Handles BindingNavigator1.RefreshItems

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs)

End Sub



Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click
	Dim final As Double
	final = CDbl(valor1.Text) + CDbl(valor2.Text) + CDbl(valor3.Text) + CDbl(valor4.Text)+ CDbl(valor5.Text)+ CDbl(valor6.Text)
	resultado.Text = final.ToString("##,##0.00")
	Me.Extenso.Text = NumberToEuro(Me.resultado.Text)

End Sub

Private Sub resultado_TextChanged(sender As Object, e As EventArgs) Handles resultado.TextChanged


End Sub

Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles Extenso.TextChanged
End Sub
Public Function NumberToEuro(ByVal number As Decimal) As String
	Dim cent As Integer
	Try

		' se for = 0 retorna 0 eros
		If number = 0 Then
			Return "Zero Euros"
		End If

		' Verifica a parte decimal, ou seja, os cêntimos
		cent = Decimal.Round((number - Int(number)) * 100, _
							 MidpointRounding.ToEven)

		' Verifica apenas a parte inteira
		number = Int(number)

		' Caso existam cêntimos
		If cent > 0 Then

			' Caso seja 1 não coloca "euros" mas sim "euro"
			If number = 1 Then
				Return "Um Euro e " & getDecimal(cent) & "Cêntimos"
				' Caso o valor seja inferior a 1 euro
			ElseIf number = 0 Then
				Return getDecimal(cent) & "Cêntimos"
			Else
				Return getInteger(number) & " Euros e " & _
					getDecimal(cent) & "Cêntimos"
			End If

		Else
			' Caso seja 1 não coloca "euros" mas sim "euro"
			If number = 1 Then
				Return "Um Euro"
			Else
				Return getInteger(number) + "Euros"
			End If

		End If

	Catch ex As Exception
		Return String.Empty
	End Try

End Function


''' <summary>
''' Função auxiliar - Parte decimal a converter
''' </summary>
''' <param name="number">Parte decimal a converter</param>
Public Function getDecimal(ByVal number As Byte) As String
	Try

		Select Case number
			Case 0
				Return String.Empty
			Case 1 To 19
				Dim strArray() As String = _
					{"Um", "Dois", "Três", "Quatro", "Cinco", "Seis", _
					"Sete", "Oito", "Nove", "Dez", "Onze", _
					"Doze", "Treze", "Quatorze", "Quinze", _
					"Dezasseis", "Dezassete", "Dezoito", "Dezanove"}
				Return strArray(number - 1) & " "

			Case 20 To 99
				Dim strArray() As String = _
					{"Vinte ", "Trinta", "Quarenta", "Cinquenta", _
					"Sessenta", "Setenta", "Oitenta", "Noventa"}

				If (number Mod 10) = 0 Then
					Return strArray(number \ 10 - 2) & " "
				Else
					Return strArray(number \ 10 - 2) & " e " & _
						getDecimal(number Mod 10) & " "
				End If
			Case Else
				Return String.Empty
		End Select

	Catch ex As Exception
		Return String.Empty
	End Try
End Function


''' <summary>
''' Função auxiliar - Parte inteira a converter
''' </summary>
''' <param name="number">Parte inteira a converter</param>
Public Function getInteger(ByVal number As Decimal) As String
	Try

		number = Int(number)

		Select Case number
			Case Is < 0
				Return "-" & getInteger(-number)
			Case 0
				Return ""
			Case 1 To 19
				Dim strArray() As String = _
					{"Um", "Dois", "Três", "Quatro", "Cinco", "Seis", _
					"Sete", "Oito", "Nove", "Dez", "Onze", "Doze", _
					"Treze", "Quatorze", "Quinze", "Dezasseis", _
					"Dezassete", "Dezoito", "Dezanove"}
				Return strArray(number - 1) & " "

			Case 20 To 99
				Dim strArray() As String = _
					{"Vinte", "Trinta", "Quarenta", "Cinquenta", _
					"Sessenta", "Setenta", "Oitenta", "Noventa"}

				If (number Mod 10) = 0 Then
					Return strArray(number \ 10 - 2)
				Else
					Return strArray(number \ 10 - 2) & " e " & _
						getInteger(number Mod 10)
				End If

			Case 100
				Return "Cem"

			Case 101 To 999
				Dim strArray() As String = _
				   {"Cento", "Duzentos", "Trezentos", "Quatrocentos", _
						"Quinhentos", "Seiscentos", "Setecentos", _
						"Oitocentos", "Novecentos"}

				If (number Mod 100) = 0 Then
					Return strArray(number \ 100 - 1) & " "
				Else
					Return strArray(number \ 100 - 1) & " e " & _
						getInteger(number Mod 100)
				End If


			Case 1000 To 1999
				Select Case (number Mod 1000)
					Case 0
						Return "Mil"
					Case Is <= 100
						Return "Mil e " & getInteger(number Mod 1000)
					Case Else
						Return "Mil, " & getInteger(number Mod 1000)
				End Select


			Case 2000 To 999999
				Select Case (number Mod 1000)
					Case 0
						Return getInteger(number \ 1000) & "Mil"
					Case Is <= 100
						Return getInteger(number \ 1000) & "Mil e " & _
							getInteger(number Mod 1000)
					Case Else
						Return getInteger(number \ 1000) & "Mil, " & _
							getInteger(number Mod 1000)
				End Select


			Case 1000000 To 1999999
				Select Case (number Mod 1000000)
					Case 0
						Return "Um Milhão"
					Case Is <= 100
						Return getInteger(number \ 1000000) & "Milhão e " & _
							getInteger(number Mod 1000000)
					Case Else
						Return getInteger(number \ 1000000) & "Milhão, " & _
							getInteger(number Mod 1000000)
				End Select


			Case 2000000 To 999999999
				Select Case (number Mod 1000000)
					Case 0
						Return getInteger(number \ 1000000) & " Milhões"
					Case Is <= 100
						Return getInteger(number \ 1000000) & "Milhões e " & _
							getInteger(number Mod 1000000)
					Case Else
						Return getInteger(number \ 1000000) & "Milhões, " & _
							getInteger(number Mod 1000000)
				End Select


			Case 1000000000 To 1999999999
				Select Case (number Mod 1000000000)
					Case 0
						Return "Um Bilião"
					Case Is <= 100
						Return getInteger(number \ 1000000000) & "Bilião e " & _
							getInteger(number Mod 1000000000)
					Case Else
						Return getInteger(number \ 1000000000) & "Bilião, " & _
							getInteger(number Mod 1000000000)
				End Select


			Case Else
				Select Case (number Mod 1000000000)
					Case 0
						Return getInteger(number \ 1000000000) & "Mil Milhões"

					Case Is <= 100
						Return getInteger(number \ 1000000000) & "Mil Milhões e " & _
							getInteger(number Mod 1000000000)
					Case Else
						Return getInteger(number \ 1000000000) & "Mil Milhões, " & _
							getInteger(number Mod 1000000000)
				End Select
		End Select


	Catch ex As Exception
		Return String.Empty
	End Try
End Function

Public meses As String() = {"Janeiro", "Fevereiro", "Março", "Abril",
														   "Maio", "Junho", "Julho", "Agosto", "Setembro",
														   "Outubro", "Novembro", "Dezembro"}

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
	Dim tx As TextBox = DirectCast(sender, TextBox)
	Dim mes As String = "desconhecido"
	For m As Integer = 0 To meses.Length
		If tx.Text Like "??/" & (m + 1).ToString().PadLeft(2, "0") & "/????" Then
			mes = meses(m)
			Exit For
		End If
	Next
	TextBox3.Text = mes
End Sub

Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs)
End Sub
End Class

Public Class Form4
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
	If keyData = Keys.Enter Then
		SendKeys.Send("{TAB}")
		Return True
	End If

	Return MyBase.ProcessCmdKey(msg, keyData)
End Function
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
	'TODO: This line of code loads data into the 'Centro_SocialDataSet.Modelo' table. You can move, or remove it, as needed.
	Me.ModeloTableAdapter.Fill(Me.Centro_SocialDataSet.Modelo)
	'TODO: This line of code loads data into the 'Centro_SocialDataSet.Utentes' table. You can move, or remove it, as needed.
	Me.UtentesTableAdapter.Fill(Me.Centro_SocialDataSet.Utentes)
	'TODO: This line of code loads data into the 'Centro_SocialDataSet.Recibos' table. You can move, or remove it, as needed.
	Me.RecibosTableAdapter.Fill(Me.Centro_SocialDataSet.Recibos)

End Sub

Private Sub GroupBox2_Enter(sender As Object, e As EventArgs) Handles GroupBox2.Enter

End Sub

Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click

	Try
		RecibosTableAdapter.Modificar(TextBox2.Text, TextBox5.Text, TextBox1.Text, TextBox4.Text, preço1.Text, quant1.Text, valor1.Text, TextBox6.Text, preço2.Text, quant2.Text, valor2.Text, TextBox7.Text, preço3.Text, quant3.Text, valor3.Text, TextBox8.Text, preço4.Text, quant4.Text, valor4.Text, TextBox9.Text, preço5.Text, quant5.Text, valor5.Text, TextBox10.Text, preço6.Text, quant6.Text, valor6.Text, resultado.Text, Extenso.Text, TextBox3.Text, TextBox2.Text)
		Me.RecibosTableAdapter.Fill(Me.Centro_SocialDataSet.Recibos)
		MessageBox.Show("guardado")
	Catch ex As Exception
		MessageBox.Show("Erro ao guardar")
	End Try
End Sub

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
	Form9.Show()

End Sub


Private Sub preço1_TextChanged(sender As Object, e As EventArgs)

End Sub

Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles preço2.TextChanged
	Dim p2, q2 As Double
	Dim soma2 As Double
	q2 = quant2.Text
	p2 = preço2.Text
	soma2 = q2 * p2
	valor2.Text = soma2.ToString("###,##0.00")
End Sub
Private Sub TextBox7_TextChanged(sender As Object, e As EventArgs) Handles preço3.TextChanged
	Dim p3, q3, soma3 As Double
	q3 = quant3.Text
	p3 = preço3.Text
	soma3 = q3 * p3
	valor3.Text = soma3.ToString("###,##0.00")
End Sub

Private Sub TextBox15_TextChanged(sender As Object, e As EventArgs) Handles preço4.TextChanged
	Dim p4, q4, soma4 As Double
	q4 = quant4.Text
	p4 = preço4.Text
	soma4 = q4 * p4
	valor4.Text = soma4.ToString("###,##0.00")
End Sub

Private Sub TextBox14_TextChanged(sender As Object, e As EventArgs) Handles preço5.TextChanged
	Dim p5, q5, soma5 As Double
	q5 = quant5.Text
	p5 = preço5.Text
	soma5 = q5 * p5
	valor5.Text = soma5.ToString("###,##0.00")
End Sub

Private Sub TextBox13_TextChanged(sender As Object, e As EventArgs) Handles preço6.TextChanged
	Dim q6, p6, soma6 As Double
	q6 = quant6.Text
	p6 = preço6.Text
	soma6 = q6 * p6
	valor6.Text = soma6.ToString("###,##0.00")
End Sub

Private Sub preço_TextChanged(sender As Object, e As EventArgs) Handles preço1.TextChanged
	Dim q1, soma, p1 As Double
	q1 = quant1.Text
	p1 = preço1.Text
	soma = q1 * p1
	valor1.Text = soma.ToString("###,##0.00")
End Sub

Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
	UtentesBindingSource.Filter = "Código =" & TextBox5.Text
End Sub

Private Sub ComboBox1_SelectedIndexChanged_1(sender As Object, e As EventArgs)
End Sub

Private Sub BindingNavigator1_RefreshItems(sender As Object, e As EventArgs) Handles BindingNavigator1.RefreshItems

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs)

End Sub



Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click
	Dim final As Double
	final = CDbl(valor1.Text) + CDbl(valor2.Text) + CDbl(valor3.Text) + CDbl(valor4.Text)+ CDbl(valor5.Text)+ CDbl(valor6.Text)
	resultado.Text = final.ToString("##,##0.00")
	Me.Extenso.Text = NumberToEuro(Me.resultado.Text)

End Sub

Private Sub resultado_TextChanged(sender As Object, e As EventArgs) Handles resultado.TextChanged


End Sub

Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles Extenso.TextChanged
End Sub
Public Function NumberToEuro(ByVal number As Decimal) As String
	Dim cent As Integer
	Try

		' se for = 0 retorna 0 eros
		If number = 0 Then
			Return "Zero Euros"
		End If

		' Verifica a parte decimal, ou seja, os cêntimos
		cent = Decimal.Round((number - Int(number)) * 100, _
							 MidpointRounding.ToEven)

		' Verifica apenas a parte inteira
		number = Int(number)

		' Caso existam cêntimos
		If cent > 0 Then

			' Caso seja 1 não coloca "euros" mas sim "euro"
			If number = 1 Then
				Return "Um Euro e " & getDecimal(cent) & "Cêntimos"
				' Caso o valor seja inferior a 1 euro
			ElseIf number = 0 Then
				Return getDecimal(cent) & "Cêntimos"
			Else
				Return getInteger(number) & " Euros e " & _
					getDecimal(cent) & "Cêntimos"
			End If

		Else
			' Caso seja 1 não coloca "euros" mas sim "euro"
			If number = 1 Then
				Return "Um Euro"
			Else
				Return getInteger(number) + "Euros"
			End If

		End If

	Catch ex As Exception
		Return String.Empty
	End Try

End Function


''' <summary>
''' Função auxiliar - Parte decimal a converter
''' </summary>
''' <param name="number">Parte decimal a converter</param>
Public Function getDecimal(ByVal number As Byte) As String
	Try

		Select Case number
			Case 0
				Return String.Empty
			Case 1 To 19
				Dim strArray() As String = _
					{"Um", "Dois", "Três", "Quatro", "Cinco", "Seis", _
					"Sete", "Oito", "Nove", "Dez", "Onze", _
					"Doze", "Treze", "Quatorze", "Quinze", _
					"Dezasseis", "Dezassete", "Dezoito", "Dezanove"}
				Return strArray(number - 1) & " "

			Case 20 To 99
				Dim strArray() As String = _
					{"Vinte ", "Trinta", "Quarenta", "Cinquenta", _
					"Sessenta", "Setenta", "Oitenta", "Noventa"}

				If (number Mod 10) = 0 Then
					Return strArray(number \ 10 - 2) & " "
				Else
					Return strArray(number \ 10 - 2) & " e " & _
						getDecimal(number Mod 10) & " "
				End If
			Case Else
				Return String.Empty
		End Select

	Catch ex As Exception
		Return String.Empty
	End Try
End Function


''' <summary>
''' Função auxiliar - Parte inteira a converter
''' </summary>
''' <param name="number">Parte inteira a converter</param>
Public Function getInteger(ByVal number As Decimal) As String
	Try

		number = Int(number)

		Select Case number
			Case Is < 0
				Return "-" & getInteger(-number)
			Case 0
				Return ""
			Case 1 To 19
				Dim strArray() As String = _
					{"Um", "Dois", "Três", "Quatro", "Cinco", "Seis", _
					"Sete", "Oito", "Nove", "Dez", "Onze", "Doze", _
					"Treze", "Quatorze", "Quinze", "Dezasseis", _
					"Dezassete", "Dezoito", "Dezanove"}
				Return strArray(number - 1) & " "

			Case 20 To 99
				Dim strArray() As String = _
					{"Vinte", "Trinta", "Quarenta", "Cinquenta", _
					"Sessenta", "Setenta", "Oitenta", "Noventa"}

				If (number Mod 10) = 0 Then
					Return strArray(number \ 10 - 2)
				Else
					Return strArray(number \ 10 - 2) & " e " & _
						getInteger(number Mod 10)
				End If

			Case 100
				Return "Cem"

			Case 101 To 999
				Dim strArray() As String = _
				   {"Cento", "Duzentos", "Trezentos", "Quatrocentos", _
						"Quinhentos", "Seiscentos", "Setecentos", _
						"Oitocentos", "Novecentos"}

				If (number Mod 100) = 0 Then
					Return strArray(number \ 100 - 1) & " "
				Else
					Return strArray(number \ 100 - 1) & " e " & _
						getInteger(number Mod 100)
				End If


			Case 1000 To 1999
				Select Case (number Mod 1000)
					Case 0
						Return "Mil"
					Case Is <= 100
						Return "Mil e " & getInteger(number Mod 1000)
					Case Else
						Return "Mil, " & getInteger(number Mod 1000)
				End Select


			Case 2000 To 999999
				Select Case (number Mod 1000)
					Case 0
						Return getInteger(number \ 1000) & "Mil"
					Case Is <= 100
						Return getInteger(number \ 1000) & "Mil e " & _
							getInteger(number Mod 1000)
					Case Else
						Return getInteger(number \ 1000) & "Mil, " & _
							getInteger(number Mod 1000)
				End Select


			Case 1000000 To 1999999
				Select Case (number Mod 1000000)
					Case 0
						Return "Um Milhão"
					Case Is <= 100
						Return getInteger(number \ 1000000) & "Milhão e " & _
							getInteger(number Mod 1000000)
					Case Else
						Return getInteger(number \ 1000000) & "Milhão, " & _
							getInteger(number Mod 1000000)
				End Select


			Case 2000000 To 999999999
				Select Case (number Mod 1000000)
					Case 0
						Return getInteger(number \ 1000000) & " Milhões"
					Case Is <= 100
						Return getInteger(number \ 1000000) & "Milhões e " & _
							getInteger(number Mod 1000000)
					Case Else
						Return getInteger(number \ 1000000) & "Milhões, " & _
							getInteger(number Mod 1000000)
				End Select


			Case 1000000000 To 1999999999
				Select Case (number Mod 1000000000)
					Case 0
						Return "Um Bilião"
					Case Is <= 100
						Return getInteger(number \ 1000000000) & "Bilião e " & _
							getInteger(number Mod 1000000000)
					Case Else
						Return getInteger(number \ 1000000000) & "Bilião, " & _
							getInteger(number Mod 1000000000)
				End Select


			Case Else
				Select Case (number Mod 1000000000)
					Case 0
						Return getInteger(number \ 1000000000) & "Mil Milhões"

					Case Is <= 100
						Return getInteger(number \ 1000000000) & "Mil Milhões e " & _
							getInteger(number Mod 1000000000)
					Case Else
						Return getInteger(number \ 1000000000) & "Mil Milhões, " & _
							getInteger(number Mod 1000000000)
				End Select
		End Select


	Catch ex As Exception
		Return String.Empty
	End Try
End Function

Public meses As String() = {"Janeiro", "Fevereiro", "Março", "Abril",
														   "Maio", "Junho", "Julho", "Agosto", "Setembro",
														   "Outubro", "Novembro", "Dezembro"}

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
	Dim tx As TextBox = DirectCast(sender, TextBox)
	Dim mes As String = "desconhecido"
	For m As Integer = 0 To meses.Length
		If tx.Text Like "??/" & (m + 1).ToString().PadLeft(2, "0") & "/????" Then
			mes = meses(m)
			Exit For
		End If
	Next
	TextBox3.Text = mes
End Sub

Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs)
End Sub
End Class

voces é que pediram

Editado por apocsantos
tag code + geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Muryllo

Usas muitas funções em uma classe só ... Ajudaria bastante você dividir essas funções em outras classes. Digo, as funções que não estás a modificar de resto deixa no form4 para facilitar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
andrejkl

  Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click

			Try
					RecibosTableAdapter.Modificar(TextBox2.Text, TextBox5.Text, TextBox1.Text, TextBox4.Text, preço1.Text, quant1.Text, valor1.Text, TextBox6.Text, preço2.Text, quant2.Text, valor2.Text, TextBox7.Text, preço3.Text, quant3.Text, valor3.Text, TextBox8.Text, preço4.Text, quant4.Text, valor4.Text, TextBox9.Text, preço5.Text, quant5.Text, valor5.Text, TextBox10.Text, preço6.Text, quant6.Text, valor6.Text, resultado.Text, Extenso.Text, TextBox3.Text, TextBox2.Text)
					Me.RecibosTableAdapter.Fill(Me.Centro_SocialDataSet.Recibos)
					MessageBox.Show("guardado")
			Catch ex As Exception
					MessageBox.Show("Erro ao guardar")
			End Try
	End Sub

Se eu tirar o "Me.RecibosTableAdapter.Fill(Me.Centro_SocialDataSet.Recibos)"ele fica com os zeros ,mas nao me grava na base de dados

Há alguma maneira de resolver isso?

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
He B TeMy

Mas ele grava na base de dados sem os zeros? Se sim, pode ser que tenhas que mudar o tipo de valor que o campo aceita... por exemplo deves ter de meter 'Decimal' em vez de 'Integer' como deve de tar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
andrejkl

sim ele grava sem os zeros ,ja tentei alterar para decimal acontece a mesma coisa , com o double nao consigo entender porque que nao grava

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.