Obtener el contenido de todos los controles

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Obtener el contenido de todos los controles

Mensaje por yasmany »

Un buen día con todos, trato de evitar escribir codigo redundante, Y UNA VEZ VI QUE MEDIANTE DOBLE FOR se lograba esto declarando a los botones en un array de manera simplificada, pero lo he intentado y no lo logro.
En mi trabajo paso mucho tiempo en mi tarea de documentar algunos archivos creando justificativos y estoy buscando la forma de evitarme todo ese tiempo y hacerlo en un periodo mas corto.

En si... como puedo obtener el contenido de todos los INPUTS? del Grupo ---- Detalles de Compra ---- y que se listen en un txt. mediante el botón [OBTENER DATOS]
Este el code que ví, pero me líe mucho en implementarlo en mi code, es que asi lo deje tal cual lo cree.
CODIGO ENCONTRADO.

Código: Seleccionar todo

Local $nArray=0
Local $aCheckBoxs[8]=[$ChckBx1,$ChckBx2,$ChckBx3,$ChckBx4,$ChckBx5,$ChckBx6,$ChckBx7,$ChckBx8]
Local $nArray=$aCheckBoxs[0]

for $n=0 to 7
$nArray=$aCheckBoxs[$n]
For $i=0 to 19
   if GUICtrlRead($nArray[$i]) = $GUI_CHECKED then
   $TotalProgramas+=1
   EndIf
Next
Next

Este es el PROGRAMITA que ando haciendo:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=D:\Respaldo Importante\Desktop\Form1.kxf
$Form1 = GUICreate("Form1", 976, 720, 257, 0)

$tab = GUICtrlCreateTab(10,5,950,705)
$tab0 = GUICtrlCreateTabItem("Materiales")

$Group2 = GUICtrlCreateGroup("Detalles de Compra", 18, 32, 569, 617);DETALLES COMPRA
$Label1 = GUICtrlCreateLabel("CANT.", 30, 56, 36, 17)
$Input1 = GUICtrlCreateInput("", 30, 80, 57, 21)
$Input2 = GUICtrlCreateInput("", 30, 104, 57, 21)
$Input3 = GUICtrlCreateInput("", 30, 128, 57, 21)
$Input4 = GUICtrlCreateInput("", 30, 151, 57, 21)
$Input5 = GUICtrlCreateInput("", 30, 175, 57, 21)
$Input6 = GUICtrlCreateInput("", 30, 199, 57, 21)
$Input7 = GUICtrlCreateInput("", 30, 223, 57, 21)
$Input8 = GUICtrlCreateInput("", 30, 247, 57, 21)
$Input9 = GUICtrlCreateInput("", 30, 271, 57, 21)
$Input10 = GUICtrlCreateInput("", 30, 295, 57, 21)
$Input11 = GUICtrlCreateInput("", 30, 319, 57, 21)
$Input12 = GUICtrlCreateInput("", 30, 343, 57, 21)
$Input13 = GUICtrlCreateInput("", 30, 367, 57, 21)
$Input14 = GUICtrlCreateInput("", 30, 391, 57, 21)
$Input15 = GUICtrlCreateInput("", 30, 415, 57, 21)
$Input16 = GUICtrlCreateInput("", 30, 439, 57, 21)
$Input17 = GUICtrlCreateInput("", 30, 463, 57, 21)
$Input18 = GUICtrlCreateInput("", 30, 487, 57, 21)
$Input19 = GUICtrlCreateInput("", 88, 80, 369, 21)
$Input20 = GUICtrlCreateInput("", 88, 104, 369, 21)
$Input21 = GUICtrlCreateInput("", 88, 128, 369, 21)
$Input22 = GUICtrlCreateInput("", 88, 152, 369, 21)
$Input23 = GUICtrlCreateInput("", 88, 176, 369, 21)
$Input24 = GUICtrlCreateInput("", 88, 200, 369, 21)
$Input25 = GUICtrlCreateInput("", 88, 224, 369, 21)
$Input26 = GUICtrlCreateInput("", 88, 248, 369, 21)
$Input27 = GUICtrlCreateInput("", 88, 272, 369, 21)
$Input28 = GUICtrlCreateInput("", 88, 296, 369, 21)
$Input29 = GUICtrlCreateInput("", 88, 320, 369, 21)
$Input30 = GUICtrlCreateInput("", 88, 344, 369, 21)
$Input31 = GUICtrlCreateInput("", 88, 368, 369, 21)
$Input32 = GUICtrlCreateInput("", 88, 392, 369, 21)
$Input33 = GUICtrlCreateInput("", 88, 416, 369, 21)
$Input34 = GUICtrlCreateInput("", 88, 440, 369, 21)
$Input35 = GUICtrlCreateInput("", 88, 464, 369, 21)
$Input36 = GUICtrlCreateInput("", 88, 488, 369, 21)
$Label2 = GUICtrlCreateLabel("Subtotal", 400, 523, 51, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("B.IVA 0%", 398, 548, 56, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("IVA", 428, 573, 24, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("TOTAL", 409, 598, 44, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Input37 = GUICtrlCreateInput("", 456, 80, 105, 21)
$Input38 = GUICtrlCreateInput("", 456, 104, 105, 21)
$Input39 = GUICtrlCreateInput("", 456, 128, 105, 21)
$Input40 = GUICtrlCreateInput("", 456, 152, 105, 21)
$Input41 = GUICtrlCreateInput("", 456, 176, 105, 21)
$Input42 = GUICtrlCreateInput("", 456, 200, 105, 21)
$Input43 = GUICtrlCreateInput("", 456, 224, 105, 21)
$Input44 = GUICtrlCreateInput("", 456, 248, 105, 21)
$Input45 = GUICtrlCreateInput("", 456, 272, 105, 21)
$Input46 = GUICtrlCreateInput("", 456, 296, 105, 21)
$Input47 = GUICtrlCreateInput("", 456, 320, 105, 21)
$Input48 = GUICtrlCreateInput("", 456, 344, 105, 21)
$Input49 = GUICtrlCreateInput("", 456, 368, 105, 21)
$Input50 = GUICtrlCreateInput("", 456, 392, 105, 21)
$Input51 = GUICtrlCreateInput("", 456, 416, 105, 21)
$Input52 = GUICtrlCreateInput("", 456, 440, 105, 21)
$Input53 = GUICtrlCreateInput("", 456, 464, 105, 21)
$Input54 = GUICtrlCreateInput("", 456, 488, 105, 21)
$Input55 = GUICtrlCreateInput("", 456, 520, 105, 21)
$Input56 = GUICtrlCreateInput("", 456, 544, 105, 21)
$Input57 = GUICtrlCreateInput("", 456, 568, 105, 21)
$Input58 = GUICtrlCreateInput("", 456, 592, 105, 21)

Global $btnObtener = GUICtrlCreateButton("OBTENER DATOS", 30, 520, 305, 81)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group3 = GUICtrlCreateGroup("Datos de la compra", 594, 32, 345, 617);DATOS DE LA COMPRA
$Label6 = GUICtrlCreateLabel("Fecha:", 602, 56, 37, 17)
$Input59 = GUICtrlCreateInput("", 722, 56, 121, 21)

$Label7 = GUICtrlCreateLabel("Los Encuentros", 642, 56, 78, 17)
$Group4 = GUICtrlCreateGroup("Datos Solicitante", 602, 80, 329, 113)
$Nombre = GUICtrlCreateLabel("Nombre", 610, 112, 41, 17)
$Cedula = GUICtrlCreateLabel("Cedula", 610, 140, 37, 17)
$Label8 = GUICtrlCreateLabel("Cargo:", 610, 164, 35, 17)
$Combo1 = GUICtrlCreateCombo("", 666, 112, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input60 = GUICtrlCreateInput("", 666, 136, 257, 21)
$Input61 = GUICtrlCreateInput("", 666, 160, 257, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group5 = GUICtrlCreateGroup("Datos Persona que Recibe", 602, 200, 329, 113);DATOS PERSONA QUE RECIBE
$Label9 = GUICtrlCreateLabel("Nombre", 610, 232, 41, 17)
$Label10 = GUICtrlCreateLabel("Cedula", 610, 260, 37, 17)
$Label11 = GUICtrlCreateLabel("Cargo:", 610, 284, 35, 17)
$Combo2 = GUICtrlCreateCombo("", 666, 232, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input62 = GUICtrlCreateInput("", 666, 256, 257, 21)
$Input63 = GUICtrlCreateInput("", 666, 280, 257, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("Responsable que Entrega", 602, 320, 329, 113)
$Label12 = GUICtrlCreateLabel("Nombre", 610, 352, 41, 17)
$Label13 = GUICtrlCreateLabel("R.U.C.:", 610, 380, 39, 17)
$Label14 = GUICtrlCreateLabel("Cargo:", 610, 404, 35, 17)
$Combo3 = GUICtrlCreateCombo("", 666, 352, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input64 = GUICtrlCreateInput("", 666, 376, 257, 21)
$Input65 = GUICtrlCreateInput("", 666, 400, 257, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("Motivo de la compra", 602, 440, 329, 121)
$Edit1 = GUICtrlCreateEdit("", 610, 464, 313, 61, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_NOHIDESEL)
GUICtrlSetData(-1, "Edit1")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Razon de Pago de Factura", 602, 568, 329, 73)
$Input66 = GUICtrlCreateInput("", 610, 608, 313, 21)
$Ejemplo = GUICtrlCreateLabel("Ejemplo: Compra de materiales de construcción.", 610, 586, 230, 17)
GUICtrlSetColor(-1, 0x696969)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group1 = GUICtrlCreateGroup("Crear Documento", 18, 648, 569, 57)
$Button3 = GUICtrlCreateButton("Orden de Pedido", 102, 664, 115, 33)
$Button1 = GUICtrlCreateButton("Autorización", 238, 664, 99, 33)
$Button2 = GUICtrlCreateButton("Certificación Presupuestaria", 358, 664, 147, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")

GUICtrlCreateTabItem("Sueldos")
GUICtrlCreateTabItem("")

GUICtrlCreateTabItem("CIBV")
GUICtrlCreateTabItem("")

GUICtrlCreateTabItem("Servicios Básicos")
GUICtrlCreateTabItem("")

$Button5 = GUICtrlCreateButton("Salir", 826, 664, 115, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $btnObtener


	EndSwitch
WEnd
Agradecería que me ayudara en esta situación :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: Obtener el contenido de todos los controles

Mensaje por PDF »

Hola, tal vez sea así (omiti algunos inputs pero ya puedes guiarte con el):

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Input[57] ; 0 al 57
#Region ### START Koda GUI section ### Form=D:\Respaldo Importante\Desktop\Form1.kxf
$Form1 = GUICreate("Form1", 976, 720, 257, 0)

$tab = GUICtrlCreateTab(10,5,950,705)
$tab0 = GUICtrlCreateTabItem("Materiales")

$Group2 = GUICtrlCreateGroup("Detalles de Compra", 18, 32, 569, 617);DETALLES COMPRA
$Label1 = GUICtrlCreateLabel("CANT.", 30, 56, 36, 17)
Local $Left=30, $top=80, $width = 57
For $i = 0 to Ubound($Input)-1
     $Input[$i] = GUICtrlCreateInput("", $Left, $top, $width, 21)
     $top += 24 
     If $i = 17 then 
          $Left = 88
          $top = 104
          $width = 369
     ElseIf $i = 36 then
          $Left = 456
          $top = 80
          $width = 105
     EndIf
Next
#cs
$Input1 = GUICtrlCreateInput("", 30, 80, 57, 21)
$Input2 = GUICtrlCreateInput("", 30, 104, 57, 21)
$Input3 = GUICtrlCreateInput("", 30, 128, 57, 21)
$Input4 = GUICtrlCreateInput("", 30, 151, 57, 21)
$Input5 = GUICtrlCreateInput("", 30, 175, 57, 21)
$Input6 = GUICtrlCreateInput("", 30, 199, 57, 21)
$Input7 = GUICtrlCreateInput("", 30, 223, 57, 21)
$Input8 = GUICtrlCreateInput("", 30, 247, 57, 21)
$Input9 = GUICtrlCreateInput("", 30, 271, 57, 21)
$Input10 = GUICtrlCreateInput("", 30, 295, 57, 21)
$Input11 = GUICtrlCreateInput("", 30, 319, 57, 21)
$Input12 = GUICtrlCreateInput("", 30, 343, 57, 21)
$Input13 = GUICtrlCreateInput("", 30, 367, 57, 21)
$Input14 = GUICtrlCreateInput("", 30, 391, 57, 21)
$Input15 = GUICtrlCreateInput("", 30, 415, 57, 21)
$Input16 = GUICtrlCreateInput("", 30, 439, 57, 21)
$Input17 = GUICtrlCreateInput("", 30, 463, 57, 21)
$Input18 = GUICtrlCreateInput("", 30, 487, 57, 21)
$Input19 = GUICtrlCreateInput("", 88, 80, 369, 21)
$Input20 = GUICtrlCreateInput("", 88, 104, 369, 21)
$Input21 = GUICtrlCreateInput("", 88, 128, 369, 21)
$Input22 = GUICtrlCreateInput("", 88, 152, 369, 21)
$Input23 = GUICtrlCreateInput("", 88, 176, 369, 21)
$Input24 = GUICtrlCreateInput("", 88, 200, 369, 21)
$Input25 = GUICtrlCreateInput("", 88, 224, 369, 21)
$Input26 = GUICtrlCreateInput("", 88, 248, 369, 21)
$Input27 = GUICtrlCreateInput("", 88, 272, 369, 21)
$Input28 = GUICtrlCreateInput("", 88, 296, 369, 21)
$Input29 = GUICtrlCreateInput("", 88, 320, 369, 21)
$Input30 = GUICtrlCreateInput("", 88, 344, 369, 21)
$Input31 = GUICtrlCreateInput("", 88, 368, 369, 21)
$Input32 = GUICtrlCreateInput("", 88, 392, 369, 21)
$Input33 = GUICtrlCreateInput("", 88, 416, 369, 21)
$Input34 = GUICtrlCreateInput("", 88, 440, 369, 21)
$Input35 = GUICtrlCreateInput("", 88, 464, 369, 21)
$Input36 = GUICtrlCreateInput("", 88, 488, 369, 21)
#ce
$Label2 = GUICtrlCreateLabel("Subtotal", 400, 523, 51, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("B.IVA 0%", 398, 548, 56, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("IVA", 428, 573, 24, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("TOTAL", 409, 598, 44, 17, $SS_RIGHT)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
#cs
$Input37 = GUICtrlCreateInput("", 456, 80, 105, 21)
$Input38 = GUICtrlCreateInput("", 456, 104, 105, 21)
$Input39 = GUICtrlCreateInput("", 456, 128, 105, 21)
$Input40 = GUICtrlCreateInput("", 456, 152, 105, 21)
$Input41 = GUICtrlCreateInput("", 456, 176, 105, 21)
$Input42 = GUICtrlCreateInput("", 456, 200, 105, 21)
$Input43 = GUICtrlCreateInput("", 456, 224, 105, 21)
$Input44 = GUICtrlCreateInput("", 456, 248, 105, 21)
$Input45 = GUICtrlCreateInput("", 456, 272, 105, 21)
$Input46 = GUICtrlCreateInput("", 456, 296, 105, 21)
$Input47 = GUICtrlCreateInput("", 456, 320, 105, 21)
$Input48 = GUICtrlCreateInput("", 456, 344, 105, 21)
$Input49 = GUICtrlCreateInput("", 456, 368, 105, 21)
$Input50 = GUICtrlCreateInput("", 456, 392, 105, 21)
$Input51 = GUICtrlCreateInput("", 456, 416, 105, 21)
$Input52 = GUICtrlCreateInput("", 456, 440, 105, 21)
$Input53 = GUICtrlCreateInput("", 456, 464, 105, 21)
$Input54 = GUICtrlCreateInput("", 456, 488, 105, 21)
$Input55 = GUICtrlCreateInput("", 456, 520, 105, 21)
$Input56 = GUICtrlCreateInput("", 456, 544, 105, 21)
$Input57 = GUICtrlCreateInput("", 456, 568, 105, 21)
$Input58 = GUICtrlCreateInput("", 456, 592, 105, 21)
#ce
Global $btnObtener = GUICtrlCreateButton("OBTENER DATOS", 30, 520, 305, 81)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group3 = GUICtrlCreateGroup("Datos de la compra", 594, 32, 345, 617);DATOS DE LA COMPRA
$Label6 = GUICtrlCreateLabel("Fecha:", 602, 56, 37, 17)
$Input59 = GUICtrlCreateInput("", 722, 56, 121, 21)

$Label7 = GUICtrlCreateLabel("Los Encuentros", 642, 56, 78, 17)
$Group4 = GUICtrlCreateGroup("Datos Solicitante", 602, 80, 329, 113)
$Nombre = GUICtrlCreateLabel("Nombre", 610, 112, 41, 17)
$Cedula = GUICtrlCreateLabel("Cedula", 610, 140, 37, 17)
$Label8 = GUICtrlCreateLabel("Cargo:", 610, 164, 35, 17)
$Combo1 = GUICtrlCreateCombo("", 666, 112, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input60 = GUICtrlCreateInput("", 666, 136, 257, 21)
$Input61 = GUICtrlCreateInput("", 666, 160, 257, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group5 = GUICtrlCreateGroup("Datos Persona que Recibe", 602, 200, 329, 113);DATOS PERSONA QUE RECIBE
$Label9 = GUICtrlCreateLabel("Nombre", 610, 232, 41, 17)
$Label10 = GUICtrlCreateLabel("Cedula", 610, 260, 37, 17)
$Label11 = GUICtrlCreateLabel("Cargo:", 610, 284, 35, 17)
$Combo2 = GUICtrlCreateCombo("", 666, 232, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input62 = GUICtrlCreateInput("", 666, 256, 257, 21)
$Input63 = GUICtrlCreateInput("", 666, 280, 257, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("Responsable que Entrega", 602, 320, 329, 113)
$Label12 = GUICtrlCreateLabel("Nombre", 610, 352, 41, 17)
$Label13 = GUICtrlCreateLabel("R.U.C.:", 610, 380, 39, 17)
$Label14 = GUICtrlCreateLabel("Cargo:", 610, 404, 35, 17)
$Combo3 = GUICtrlCreateCombo("", 666, 352, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input64 = GUICtrlCreateInput("", 666, 376, 257, 21)
$Input65 = GUICtrlCreateInput("", 666, 400, 257, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("Motivo de la compra", 602, 440, 329, 121)
$Edit1 = GUICtrlCreateEdit("", 610, 464, 313, 61, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_NOHIDESEL)
GUICtrlSetData(-1, "Edit1")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Razon de Pago de Factura", 602, 568, 329, 73)
$Input66 = GUICtrlCreateInput("", 610, 608, 313, 21)
$Ejemplo = GUICtrlCreateLabel("Ejemplo: Compra de materiales de construcción.", 610, 586, 230, 17)
GUICtrlSetColor(-1, 0x696969)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)

$Group1 = GUICtrlCreateGroup("Crear Documento", 18, 648, 569, 57)
$Button3 = GUICtrlCreateButton("Orden de Pedido", 102, 664, 115, 33)
$Button1 = GUICtrlCreateButton("Autorización", 238, 664, 99, 33)
$Button2 = GUICtrlCreateButton("Certificación Presupuestaria", 358, 664, 147, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")

GUICtrlCreateTabItem("Sueldos")
GUICtrlCreateTabItem("")

GUICtrlCreateTabItem("CIBV")
GUICtrlCreateTabItem("")

GUICtrlCreateTabItem("Servicios Básicos")
GUICtrlCreateTabItem("")

$Button5 = GUICtrlCreateButton("Salir", 826, 664, 115, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit

      Case $btnObtener
         $Datos=""
         For $i = 0 to Ubound($Input)-1
              $Texto= GuiCtrlRead($Input[$i])
              If $Texto then $Datos &= $Texto  & @CRLF
         Next
          FileWrite("prueba.txt",$Datos)
          MsgBox(64,"Datos guardados", "Se han guardado los datos correctamente")
   EndSwitch
WEnd
Saludos..
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Obtener el contenido de todos los controles

Mensaje por yasmany »

Gracias, PDF, muy agradecido por la ayuda, me refería a algo como esto, bueno hice un pequeño ejemplo.

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 291, 127, -1, -1)

$Input1 = GUICtrlCreateInput("Texto01", 16, 16, 121, 21)
$Input2 = GUICtrlCreateInput("", 16, 48, 121, 21)
$Input3 = GUICtrlCreateInput("Input3", 16, 80, 121, 21)

$btnObtener = GUICtrlCreateButton("Obtener", 144, 16, 131, 81)

GUISetState(@SW_SHOW)
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $btnObtener
			Local $nArray = 0
			Local $aInputs[3] = [$Input1, $Input2, $Input3]
			Local $nArray = $aInputs[0]

			For $n = 0 To 2
				$nArray = $aInputs[$n]
				For $i = 0 To 3
					If GUICtrlRead($nArray[$i]) <> "" Then
						MsgBox(64, "Aviso", $nArray[$i]); Muestro un mensaje conteniendo el texto
					EndIf
				Next
			Next
	EndSwitch
WEnd
pero el error que me arroja es el siguiente:
test.au3 (28) : ==> Subscript used with non-Array variable.:
If GUICtrlRead($nArray[$i]) <> "" Then
If GUICtrlRead($nArray^ ERROR

Cual sería la falla?
REITERO MIS AGRADECIMIENTOS POR TU TIEMPO, GRACIAS

Saludos :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: Obtener el contenido de todos los controles

Mensaje por PDF »

Hola, y definitivamente el error esta en que utilizas una variable que no es un array, aquí "Local $nArray = $aInputs[0]", lo correcto es:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 291, 127, -1, -1)

$Input1 = GUICtrlCreateInput("Texto01", 16, 16, 121, 21)
$Input2 = GUICtrlCreateInput("", 16, 48, 121, 21)
$Input3 = GUICtrlCreateInput("Input3", 16, 80, 121, 21)

$btnObtener = GUICtrlCreateButton("Obtener", 144, 16, 131, 81)

GUISetState(@SW_SHOW)
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $btnObtener
         Local $aInputs[3] = [$Input1, $Input2, $Input3]
            For $i = 0 To 3
               If GUICtrlRead($aInputs[$i]) <> "" Then
                  MsgBox(64, "Aviso", GUICtrlRead($aInputs[$i])); Muestro un mensaje conteniendo el texto
               EndIf
            Next
         Next
   EndSwitch
WEnd
Saludos..
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Obtener el contenido de todos los controles

Mensaje por yasmany »

Muchísima gracias PDF, está excelente, agradesco tu tiempo que siempre dedicas a apoyar, mil gracias :smt024
For $i = 0 To 3 le puse For $i = 0 To 2 por que me salia un pequeño error, PERO ESTÁ DE MARAVILLA :smt001
Gracias y saludos :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Obtener el contenido de todos los controles

Mensaje por Dany »

Otra opción sin array podría ser:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 291, 127, -1, -1)

$Input1 = GUICtrlCreateInput("Texto01", 16, 16, 121, 21)
$Input2 = GUICtrlCreateInput("", 16, 48, 121, 21)
$Input3 = GUICtrlCreateInput("Input3", 16, 80, 121, 21)

$btnObtener = GUICtrlCreateButton("Obtener", 144, 16, 131, 81)

GUISetState(@SW_SHOW)
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $btnObtener
        ; Local $aInputs[3] = [$Input1, $Input2, $Input3]
            For $i = $Input1 To $Input3
               If GUICtrlRead($i) <> "" Then
                  MsgBox(64, "Aviso", GUICtrlRead($i)); Muestro un mensaje conteniendo el texto
               EndIf
            Next
         ;Next
   EndSwitch
WEnd
Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Obtener el contenido de todos los controles

Mensaje por yasmany »

Gracias Dany igualmente está muy bien, y justo ahora lo estoy implementando tambien.
Muy agradecido por su ayuda. :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
KarlaSn
Mensajes: 3
Registrado: 21 Oct 2016, 21:47

Re: Obtener el contenido de todos los controles

Mensaje por KarlaSn »

La factura electronica lleva rfc ?
Responder