Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2007, 18:39
fhuaylla
 
Fecha de Ingreso: agosto-2007
Ubicación: Peru
Mensajes: 5
Antigüedad: 16 años, 9 meses
Puntos: 0
Busqueda Extraer el maximo valor de un MSflexgrid

Como puedo extraer el Valor maximo y minimo de un Msflexgrid, de un columna en particular dejo este ejemplo que realiza una conexion con AUTOCAD, dibuja en rectangulo (en el dibujo cad), muestra los valores en coordenadas ( XYZ ) en un Msflexgrid, deseo extraer el maximo valor de la Fila X y el minimo valor de la misma fila, mostrandolo en un nuevo Textbox, alguna idea

[FONT="Courier New"]Option Explicit
Dim Acad As Object
Dim AcadDoc As Object
Dim AcadModel As Object
Dim AcadPapel As Object
Dim AcadUtil As Object
Dim Answ As String

Private Sub Command1_Click()
'Define las variables
Dim Punto1, Punto2
Dim PuntoTras(2) As Double
Dim PuntosPol(9) As Double
Dim Valor_X As Double, Valor_Y As Double
Form1.Hide
Acad.WindowState = acMax
AcadUtil.Prompt (vbCrLf & " --------------" & vbCrLf)
AcadUtil.Prompt (vbCrLf & " --------------" & vbCrLf)
AcadUtil.Prompt (vbCrLf & " ")
'Captura el Primer Punto
Punto1 = AcadUtil.GetPoint(, "Primera Esquina: ")

'Asigna los Valores del Primer Punto Tomado
PuntoTras(0) = Punto1(0): PuntoTras(1) = Punto1(1): PuntoTras(2) = Punto1(2)
' AcadUtil.Prompt (vbCrLf & " ")
Punto2 = AcadUtil.GetCorner(PuntoTras, "Esquina Opuesta: ")
PuntosPol(0) = Punto1(0): PuntosPol(1) = Punto1(1)
PuntosPol(2) = Punto2(0): PuntosPol(3) = Punto1(1)
PuntosPol(4) = Punto2(0): PuntosPol(5) = Punto2(1)
PuntosPol(6) = Punto1(0): PuntosPol(7) = Punto2(1)
PuntosPol(8) = Punto1(0): PuntosPol(9) = Punto1(1)
'Dibuja la polilinea Cerrada
Call AcadDoc.ModelSpace.AddLightWeightPolyline(PuntosPo l)
'Muestra en un TextBox las coordenadas del primer y segundo punto
Text1.Text = Format(Str(Punto1(0)), "#####0.00"): Text2.Text = Format(Str(Punto1(1)), "#####0.00")
Text3.Text = Format(Str(Punto1(2)), "#####0.00")
'Text3.Text = Format(Str(Punto2(0)), "#####0.00"): Text4.Text = Format(Str(Punto2(1)), "#####0.00")

'Calcula los valores de "X" y de "Y"
Valor_X = Punto1(0) - Punto2(0): Valor_Y = Punto1(1) - Punto2(1)

Dim Filas As Integer
Dim Numeracion As String
Filas = MSFlexGrid1.Rows - 1
MSFlexGrid1.AddItem Str(Filas + 1) + Chr(9) + Text1.Text + Chr(9) + Text2.Text + Chr(9) + Text3.Text

'Muestra un mensaje de texto con los valores absolutos obtenidos de "X" y de "Y"
Form1.Show
' Answ = MsgBox("Valor de X = " + Format(Str(Abs(Valor_X)), "#####0.00") + Chr(13) + _
"Valor de Y = " + Format(Str(Abs(Valor_Y)), "#####0.00") + Chr(13) + _
"", 0, "Valores de ancho y alto ")
End Sub

Private Sub Form_Load()
Dim Answ As String
On Error Resume Next
Err.Clear
Set Acad = GetObject(, "AutoCAD.Application")
If Err.Number <> 0 Then
Answ = MsgBox("Abra AutoCAD!", vbCritical, "Error")
Else
Set AcadDoc = Acad.ActiveDocument
If Err.Number <> 0 Then
Answ = MsgBox("Active un Dibujo DWG!", vbCritical, "Error")
End If
End If
Set AcadDoc = Acad.ActiveDocument
Set AcadModel = AcadDoc.ModelSpace
Set AcadPapel = AcadDoc.PaperSpace
Set AcadUtil = AcadDoc.Utility
MSFlexGrid1.Rows = 1
MSFlexGrid1.TextMatrix(0, 0) = "N°": MSFlexGrid1.TextMatrix(0, 1) = "X"
MSFlexGrid1.TextMatrix(0, 2) = "Y": MSFlexGrid1.TextMatrix(0, 3) = "Z"
End Sub