
[Consulta] Buscar en frase de un chat U$ y convertirla a otra moneda
Publicado por Enrique (2 intervenciones) el 24/09/2015 21:26:41
Hola,
Espero que puedan ayudarme,
Estoy haciendo un chat en C# (el lenguaje que estoy aprendiendo a usar) donde se hara una conexion entre red local (colocando X IP para broadcast) y necesito que a la hora de que un usuario mande un mensaje con el signo U$, con digitos y la frase dolar o dolares [(por ejemplo U$200, U$100, U$ 58 dolares, etc), los demas usuarios reciban en su chat el mismo valor convertido en otra moneda, es decir:
X usuario envia: Hola, necesito U$100 dolares
Y usuario recibe: Hola, necesito €88.99 euros
1 Euro = 1.12 Dolar
Lo que deberia hacer el programa es detectar cuando un usuario escribe U$, digitos, y la frase "dolar, dolares" al presionar enviar mensaje, y en ese proceso los digitos que van despues de U$ multiplicarlos por un tipo de cambio (el cual podria dejarlo permanente en el codigo del programa, o solicitarselo a los usuarios en un textbox), cambiar el signo de la moneda y cambiar la frase de dolar a euro, o dolares a euros.
Espero me entiendan y alguien sepa como hacerlo, gracias de antemano.
Adjunto parte del codigo que tengo (es una tarea), posee el emisor y receptor.
Codigo Emisor:
Codigo Receptor:
Espero que puedan ayudarme,
Estoy haciendo un chat en C# (el lenguaje que estoy aprendiendo a usar) donde se hara una conexion entre red local (colocando X IP para broadcast) y necesito que a la hora de que un usuario mande un mensaje con el signo U$, con digitos y la frase dolar o dolares [(por ejemplo U$200, U$100, U$ 58 dolares, etc), los demas usuarios reciban en su chat el mismo valor convertido en otra moneda, es decir:
X usuario envia: Hola, necesito U$100 dolares
Y usuario recibe: Hola, necesito €88.99 euros
1 Euro = 1.12 Dolar
Lo que deberia hacer el programa es detectar cuando un usuario escribe U$, digitos, y la frase "dolar, dolares" al presionar enviar mensaje, y en ese proceso los digitos que van despues de U$ multiplicarlos por un tipo de cambio (el cual podria dejarlo permanente en el codigo del programa, o solicitarselo a los usuarios en un textbox), cambiar el signo de la moneda y cambiar la frase de dolar a euro, o dolares a euros.
Espero me entiendan y alguien sepa como hacerlo, gracias de antemano.
Adjunto parte del codigo que tengo (es una tarea), posee el emisor y receptor.
Codigo Emisor:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net;
using System.Net.Sockets;
namespace Emisor
{
/// <summary>
/// Lógica de interacción para MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btn_enviar_Click(object sender, RoutedEventArgs e)
{
txt_chat.Text = txt_chat.Text+ txt_mensaje.Text;
Socket sending_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPAddress send_to_address = IPAddress.Parse(txt_receptor.Text);
IPEndPoint sending_end_point = new IPEndPoint(send_to_address, 10500);
byte[] send_buffer = Encoding.ASCII.GetBytes(txt_nickname.Text +" Dice: "+txt_mensaje.Text);
sending_socket.SendTo(send_buffer, sending_end_point);
sending_socket.Close();
txt_mensaje.Text = "";
}
private void txt_mensaje_TextChanged(object sender, TextChangedEventArgs e)
{
}
private void txt_color_TextChanged(object sender, TextChangedEventArgs e)
{
}
}
}
Codigo Receptor:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net;
using System.Net.Sockets;
namespace ChatReceptor
{
public partial class MainWindow : Window
{ //VARIABLES COMO ATRIBUTOS DE CLASE
//variable que define el puerto donde se recivira los chat
int puerto_escucha = 10000;
public MainWindow()
{
InitializeComponent();
}
private void btn_escuchar_Click(object sender, RoutedEventArgs e)
{
UdpClient escuchador = new UdpClient(puerto_escucha);
//udpclain=clase que permite trabajar con socket, crea las condiciones para abrir el puero 10000
IPEndPoint pre_socket = new IPEndPoint(IPAddress.Any, puerto_escucha);
//Socket: objeto que contiene el socket, direccion ip y puerto unidos en (socket)
string text_plano;
byte[] text_en_bytes;
//dos variables para almacenar text, la segunda: declara un arreglo de tipo byte que es el texto a recivir
text_en_bytes = escuchador.Receive(ref pre_socket);//iniciar arecivir paquetes y lo almacenas en formato bytes
// text_plano = text_en_bytes.ToString();//El string convirte la cadena en texto
text_plano = Encoding.ASCII.GetString(text_en_bytes, 0, text_en_bytes.Length);
//Escucha, cuando llegue algo se almacena en texto_en_bytes. se pasa a text_plano con la funcion
txtRecepcion.Text = text_plano;
}
}
}
Valora esta pregunta


0