C sharp - guardar datos en PointF

 
Vista:

guardar datos en PointF

Publicado por Patricia (16 intervenciones) el 09/11/2004 12:42:55
Hola otra vez,

Estoy intentando guardar en un array de PointF un conjunto de puntos, y tengo problemas para hacerlo. ¿Alguien me podría echar una mano? El código que tengo escrito es éste:

// Creo el lápiz
System.Drawing.Pen lapiz = new System.Drawing.Pen(Color.MediumOrchid);
// El papel va a ser el PicBox de FBase
System.Drawing.Graphics papel = picGrafica.CreateGraphics();

//Array de puntos
PointF[] pst;

foreach (DataRow dr in Andromeda.clases.comun.ds.Tables[Andromeda.clases.comun.TablaDatos].Rows)
{
// Si fila activa, q pinte el par (X,Y)=(Tensión,Corriente)
bool valor = (bool)dr["Par activo"];
if(valor)
{
//Guardo cada punto (X,Y)=(V,I) en el array PointF pts
double V = (double)dr["Tensión (V)"];
double I = (double)dr["Corriente (I)"];
// Convierto el tipo de los datos para poder guardarlos en pts
float X = (float)V;
float Y = (float)I;
PointF punto = new PointF(X,Y);

// Hasta aquí todo bien. Ahora, ¿cómo guardo cada punto en el array pst ? ¿cómo lo pinto?

pst.¿¿como guardo los puntos??();

papel.DrawLine(lapiz,¿¿punto[0],punto[1]??);

}
}

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:guardar datos en PointF

Publicado por Patricia (16 intervenciones) el 09/11/2004 12:54:28
Ah, se trata de pintar una curva con esos puntos que intento guardar en el array PointF: dibujar una línea uniendo cada dos puntos.

Otra pregunta: ¿cómo podría dibujar sólo puntos? Hay por ahí un "AddPoint", pero no he averiguado cómo utilizarlo; en mi código no me deja.

Gracias otra vez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:guardar datos en PointF

Publicado por Yamil Bracho (1164 intervenciones) el 09/11/2004 14:01:42
Asignale espacio a tu arreglo. Seria algo como :

PointF[] pst = new PointF[numero_puntos];

Si no sabes cuantos puntos vas a tener puedes usar un ArrayList
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:guardar datos en PointF

Publicado por Patricia (16 intervenciones) el 09/11/2004 18:16:09
Yamil, he probado asignándole como espacio la longitud de la Tabla de Datos:

PointF[] pts = new PointF[Andromeda.clases.comun.TablaDatos.Length];

Pero me sigue saltando la excepción de "conversión no válida" en:

pts[(int)dr["Identificador"]].Equals(punto);

(La columna "Identificado", en mi BD, es una columna de enteros; había pensado usarla como índice, pero no me deja)

¿¿Qué puedo hacer??

(Otra pregunta: ¿es posible usar el MSChart en C#? si es que sí: ¿conocéis algún enlace donde se pueda aprender a utilizarlo?)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:guardar datos en PointF

Publicado por Yamil Bracho (1164 intervenciones) el 09/11/2004 19:04:57
Sobreescribiste el metodo Equals de la clase punto. El problema es que estas compranado un Object con Punto. Debes castear el DataReader a Punto y sobreescribir el metodo Equals para poder comparar dos objetos de la misma clase.
Si creo que es posible usar MsChart con .NET . Consulta el MSDN en http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mschrt/html/vbobjvtchartobject.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:guardar datos en PointF

Publicado por Patricia (16 intervenciones) el 10/11/2004 10:35:57
:S Yamil, no sé muy bien cómo hacer eso que me dices (soy novata en esto del C#). Voy a probar a hacer las gráficas con algo que encontré ayer en internet (rebuscando, rebuscando...), y si no funciona, volveré a lo que estaba haciendo...

Mira, lo que encontré fue esto:

http://www.codeproject.com/csharp/ZedGraph.asp

Un besote, y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:guardar datos en PointF

Publicado por Patricia (6 intervenciones) el 10/11/2004 19:55:31
Por cierto: la herramienta de la página que puse en el anterior comentario (http://www.codeproject.com/csharp/ZedGraph.asp) funciona estupendamente para hacer gráficas.

Una pregunta: ¿cómo puedo hacer referencia a la longitud (nº de registros) de una tabla de datos, para que esa longitud sea el tamaño que dé a un array?

En plan:

double x[i] = new double[numero_de_registros_de_la_tabla_de_datos]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar