[ Foro de C# ]
Hola buenos días
He terminado un proyecto desde el que cargo (modo consola) unas variables tomadas de un txt para determinar la ruta o posición de camiones de alimentos. Todo ok
No obstante, no logro trasladar estos datos a Windows form.
El txt contiene:
56 10 800 300 20 505
45 10 600 100 20 605
En lo que la primera línea son los datos del primer camión. Y la segunda la del siguiente camión. Lo que me interesa es mostrar un icono (o imagen) según las coordenadas de mi archivo de texto, siendo el 56 la velocidad, el 800 el eje de las X, el 300 el eje de las Y
Al parecer he topado con mi límite de conocimientos y me siento incapaz de hacer lo anterior
Alguna ayuda ¿por favor?
Gracias.
Para saber cómo hacerlo, primero tienes que elegir una plataforma. Por ejemplo, ¿será un programa para Windows, usando "ventanitas" de Windows Forms?
Hola
Gracias por responder. Sí, todo el trabajo lo haré en windows form mediante formularios, será todo visual
La forma de dibujar una imagen en Windows Forms es la siguiente:
void Button2Click(object sender, EventArgs e)
{
Graphics ventanaGrafica = this.CreateGraphics();
Image imagen = new Bitmap("MiImagen.png");
ventanaGrafica.DrawImage(imagen,120,100);
}
(Los dos datos numéricos son las coordenadas en que quieres que aparezca la imagen).
Hola
Quizás me he explicado mal
Se posicionar cualquier elemento dentro de un form. No es difícil. Y moverlo tampoco
Pero no es lo que he planteado en la pregunta inicial
Mi deseo es mover esa imagen según las coordenadas tomadas de un archivo de texto acorde a mi primer post.
Pd: gracias por atenderme
No entiendo... si sabes leer del fichero de texto, obtener las coordenadas a partir de él, dibujarlo en esas coordenadas y moverlo... ¿qué te falta?
Para intentar ayudarte a ganar tiempo, te doy las pistas de cómo haría yo cada cosa, porque no tengo claro en qué te has quedado atascado:
1.- Leer el fichero de texto, línea a línea, usando un StreamReader
2.- Para cada línea, descomponerla en sus componentes usando "Split"
3.- Calcular el valor numérico de cada componente y guardarlo en las variables auxiliares correspondientes
4.- Dibujar la imagen en el "form", en sus coordenadas iniciales
5.- Crear un "timer" que permita incrementar de forma repetitiva esas coordenadas en la cantidad que indique la velocidad.
Esto he de hacerlo en C# no desde un proyecto de consola, sino en Windows form:
Tengo un archivo de texto llamado: ?informacion.txt?
Este txt contiene lo siguiente:
56 10 800 300 20 505
45 10 600 100 20 605
La primera línea son los datos del primer camión. Y la segunda la del siguiente camión. Lo que me interesa es mostrar un icono (o imagen) según las coordenadas de posición de mi archivo de texto, siendo el 56 la velocidad, y los de posición: el 800 el eje de las X, el 300 el eje de las Y.
Gracias de nuevo y agradecido estoy por tu interés
De los 5 pasos que te he propuesto antes, ¿cuáles no sabes hacer?
El 3 y el 4 no sabría hacerlas
el 5 podré lograrlo creo
Gracias por leerme
Parte 2:
string linea = fichero.ReadLine();
string[] fragmentosLinea = linea.Split(' ');
Parte 3:
velocidad = Convert.ToInt32(fragmentosLinea[0]);
x = Convert.ToInt32(fragmentosLinea[1]);
y = Convert.ToInt32(fragmentosLinea[2]);
Parte 4:
Graphics ventanaGrafica = this.CreateGraphics();
Image imagen = new Bitmap("camion1.png");
ventanaGrafica.DrawImage(imagen,x,y);
La parte 5 sería hacer un timer que cada cierto tiempo haga "x+=velocidad", cambie la posición de la imagen y redibuje el formulario.
;-)
Gracias por el empujón
Pondré manos a la obra
Lo que tenga hecho lo pondré por aquí para que le des un vistazo, si tienes un tiempo libre para mi por supuesto
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)