Espongo una pregunta sobre calculo. ya espuesta pero en otro foro.

31/07/2006 - 19:14 por sergio | Informe spam
Tengo una duda, sobre como hacer las cosas.
Resulta que necesito crear una especie de calculo de cambio de € a pesetas,
y lo planteo de la siguiente forma:

-Tengo un Textbox1.test que es donde se pone el valor.
-Otro Textbox2.test que es donde mostrara el cambio ya realizado.
-Un boton para que ejecute la operación.
esto está duplicado dos veces, para poder poner de € a pts y de pts a €.
El problema es que he mirado en distintos manuales y he intentado poner el
codigo de la siguiente forma y me da error: les muestro el codigo:

If (TextBox2.Text) = (TextBox1.Text) / ("166,386") Then
End If
End Sub

Tambien lo he intentado con:

If (TextBox2.Text) = (TextBox1.Text) / (ListBox1.Text) Then
End If
End Sub

Resumiendo el visual basic es el ultimo el 2005, por si necesitan referencias.
Muchas gracias por adelantado.
Se que pido mucho por pedir el codigo casi directamente, pero es que estoy
intentandolo desde el jueves, de la semana pasada, y antes un usuario muy
amable que me ha dado este codigo pero que no funciona:

TextBox2.Text = CStr(CDec(TextBox1.Text) / CDec(ListBox1.Text))

Por lo que creo que soy yo el que lo introduce mal.
me da el siguiente error:

La conversión de la cadena "" en el tipo 'Decimal' no es válida.

Muchas gracias por adelantado.
Y para aclararme mas como puedo hacer que entre 3 casillas del tipo textbox
se calculen entre ellas, dos calculen y la ultima de un resultado.

Gracias
 

Leer las respuestas

#1 Jose Luis
31/07/2006 - 21:14 | Informe spam
Vale Sergio, sigue estos pasos que te pongo a continuación.

1.- Create un proyecto nuevo.
2.- Selecciona y copia el texto que te pongo aquí.

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form

'Form reemplaza a Dispose para limpiar la lista de componentes.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub

'Requerido por el Diseñador de Windows Forms
Private components As System.ComponentModel.IContainer

'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento
'Se puede modificar usando el Diseñador de Windows Forms.
'No lo modifique con el editor de código.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(12, 23)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(75, 20)
Me.TextBox1.TabIndex = 0
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(12, 7)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(33, 13)
Me.Label1.TabIndex = 1
Me.Label1.Text = "?uros"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(140, 7)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(31, 13)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Ptas."
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(140, 23)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(75, 20)
Me.TextBox2.TabIndex = 2
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(93, 4)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(39, 21)
Me.Button1.TabIndex = 4
Me.Button1.Text = "->"
Me.Button1.UseVisualStyleBackColor = True
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(93, 25)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(39, 21)
Me.Button2.TabIndex = 5
Me.Button2.Text = "<-"
Me.Button2.UseVisualStyleBackColor = True
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(224, 51)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.TextBox1)
Me.FormBorderStyle =
System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Name = "Form1"
Me.StartPosition =
System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Conversor"
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button

End Class

3.- Haz doble click en Form1.Designer.vb en el IDE de desarrollo (Explorador
de Soluciones, debes tener activado mostrar todos los archivos.).
4.- Selecciona todo el codigo que te sale en el IDE.
5.- Pega el código que has copiado de aquí.
6.- Botón derecho del ratón en From1.vb
7.- Selecciona Ver codigo.
8.- Selecciona y copia todo el texto que te pongo aquí.

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If Me.TextBox1.Text <> "" Then
Try
Me.TextBox2.Text = (CDbl(Me.TextBox1.Text) *
166.386).ToString("#,##0.00")
Catch ex As Exception
Me.TextBox2.Text = "0,00"
End Try
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If Me.TextBox2.Text <> "" Then
Try
Me.TextBox1.Text = (CDbl(Me.TextBox2.Text) /
166.386).ToString("#,##0.00")
Catch ex As Exception
Me.TextBox1.Text = "0,00"
End Try
End If
End Sub
End Class

9.- Selecciona el texto que tienes en el IDE de Desarrollo.
10.- Pega todo el texto que has copiado de aquí.
11.- Menú Depurar / Iniciar depuración (F5)

Método de uso:

Tienes dos casilleros uno a la izquierda y otro a la derecha, la izquierda
son euros la derecha pesetas cuando pongas una cantidad en el de la
izquierda y pulses el botón --> te pondrá la cantidad en la derecha en
pesetas, si pones una cantidad en la derecha y pulsas < te pondrá en la
izquierda la cantidad en euros.

Si introduces en el casillero una letra el contrario lo inicializara a cero.
Ya es cuestión tuya evitar que se introduzcan letras

Suerte.
"sergio" escribió en el mensaje
news:
Tengo una duda, sobre como hacer las cosas.
Resulta que necesito crear una especie de calculo de cambio de ? a
pesetas,
y lo planteo de la siguiente forma:

-Tengo un Textbox1.test que es donde se pone el valor.
-Otro Textbox2.test que es donde mostrara el cambio ya realizado.
-Un boton para que ejecute la operación.
esto está duplicado dos veces, para poder poner de ? a pts y de pts a ?.
El problema es que he mirado en distintos manuales y he intentado poner el
codigo de la siguiente forma y me da error: les muestro el codigo:

If (TextBox2.Text) = (TextBox1.Text) / ("166,386") Then
End If
End Sub

Tambien lo he intentado con:

If (TextBox2.Text) = (TextBox1.Text) / (ListBox1.Text) Then
End If
End Sub

Resumiendo el visual basic es el ultimo el 2005, por si necesitan
referencias.
Muchas gracias por adelantado.
Se que pido mucho por pedir el codigo casi directamente, pero es que estoy
intentandolo desde el jueves, de la semana pasada, y antes un usuario muy
amable que me ha dado este codigo pero que no funciona:

TextBox2.Text = CStr(CDec(TextBox1.Text) / CDec(ListBox1.Text))

Por lo que creo que soy yo el que lo introduce mal.
me da el siguiente error:

La conversión de la cadena "" en el tipo 'Decimal' no es válida.

Muchas gracias por adelantado.
Y para aclararme mas como puedo hacer que entre 3 casillas del tipo
textbox
se calculen entre ellas, dos calculen y la ultima de un resultado.

Gracias

Preguntas similares