Página 1 de 1

Interfaces de programación y herramientas (Actualizado)

Publicado: 16 Sep 2011, 13:51
por BasicOs
Creación de formularios -->con el Scite, (la reutilización de forms no es avanzada.)
Editor de código ---> con el Scite
Gestión de bases de datos --> con el HeidiMysql (externo claro sin integración directa en el código)
Reports -->
1.-Para impresiones rápidas y bulk, usando las funciones del sistema de print directo, es imprimir una página web desde un fichero HTML (Creas el report en un editor web de html, y luego sustituyes unas macrovariables que creas usando un facil stringReplace() Valor de variable por Valor dentro del html $$Variableacambiar
2.- Para impresiones más lentas ya que usas otro programa intermedio. Más sofisticado, te enganchas a las funciones de impresión del Word, excel, etcc para imprimir documentos nativos, o bien usando otros objetos del sistema o funciones que hay hechas en autoit para gestionar ficheros del office, etc..

Creación de componentes (no es muy frecuente en un uso estandar) -> otras herramientas de creación de dlls standards, aunque se puede solventar a través de UDFs con llamadas a Dll externas que tampoco están mal.


Si alguien ya usa esto de otra manera diferente y quiere compartirlo para la documentación:

Creación de formularios -->
Editor de código --->
Gestión de bases de datos -->
Reports -->
Creación de componentes ->

Salu22:)
Edit: Hay algunos debugger visuales más avanzados que el Scite pero no los conozco a fondo:
http://www.google.com/search?sourceid=c ... it&qscrl=1

Re: Interfaces de programación y herramientas (Actualizado)

Publicado: 16 Sep 2011, 17:59
por chekok
Hola, un alemán está haciendo con autoit un ide completo (bueno, creo ue tambien con algo de VS2008), podeis ver el video de lo que tiene hecho aquí:

http://www.youtube.com/user/Tam0r82#p/a/u/0/I1NyrVV5ux0

Pinta muy bien, esperemos que lo libere pronto para que podamos probarlo...

Si veis el video agradecería vuestra opinión, es real o es un fake?

Un saludo.

Re: Interfaces de programación y herramientas (Actualizado)

Publicado: 17 Sep 2011, 15:01
por Chefito
Hombre, el programa se ve que está hecho con .net (mira los iconos de las ventanas). Si es posible? Por supuesto. De sobra. Algo al estilo Koda mejorado.
Otra cosa sería intentar hacerlo con el propio lenguaje autoit. Supongo que sería más dificil, aunque no lo veo imposible.

A ver que sale de estos genios de la programación :smt002 .

Saludos.

Re: Interfaces de programación y herramientas (Actualizado)

Publicado: 19 Sep 2011, 09:16
por Ximorro
Uau, eso sería muy interesante.
No sé si será un fake, en realidad no se ve nada de AutoIT, por ahora es un KODA sin código, pero a ver cómo avanza...

Re: Interfaces de programación y herramientas (Actualizado)

Publicado: 19 Sep 2011, 10:02
por chekok
Hago una propuesta a todos los autoiteros:

Proponemos cada uno todo lo que deseariamos en un IDE para Autoit y lo vamos desarrollando entre toda la comunidad.
Cada uno que aporte lo que pueda o lo que le permitan sus conocimientos, publicando el código para revisión o mejora por parte de los demás.

Sería una buena manera de potenciar Autoit, de ampliar nuestros conocimientos y de conocer mejor a la verdadera comunidad de autoit.

No se si sería mejor crear un nuevo hilo para este tema (tu decides BasicOs).

Hay lo dejo y a ver que sale de esto... :smt002

Re: Interfaces de programación y herramientas (Actualizado)

Publicado: 20 Sep 2011, 03:46
por BasicOs
chekok escribió:Hago una propuesta a todos los autoiteros:

Proponemos cada uno todo lo que deseariamos en un IDE para Autoit y lo vamos desarrollando entre toda la comunidad.
Cada uno que aporte lo que pueda o lo que le permitan sus conocimientos, publicando el código para revisión o mejora por parte de los demás.

Sería una buena manera de potenciar Autoit, de ampliar nuestros conocimientos y de conocer mejor a la verdadera comunidad de autoit.

No se si sería mejor crear un nuevo hilo para este tema (tu decides BasicOs).

Hay lo dejo y a ver que sale de esto... :smt002
Si hay alguien que tenga una idea de algún interface o de cambios en la manera de usarlo, que orientación y diseño quiera darle, personalizarlo.
Así el que proponga un nuevo diseño puede abrir el tema IDE para Autoit, así vemos como sería .....
Salu22:)

Re: Interfaces de programación y herramientas (Actualizado)

Publicado: 22 Sep 2011, 06:27
por ms999
Lo que muestra el video se ve bastante bien, podriamos hacer algo parecido e ir viendo que funcionalidad le podemos agregar para hacerlo lo mas practico y personalizable posible.

EDIT: Esto como ejemplo sirve... por ahora dibuja solo botones.

Código: Seleccionar todo

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <Constants.au3>
#include <WinAPI.au3>

Opt("MouseCoordMode", 0)

Global Const $STM_SETIMAGE = 0x172
Global $SnapCheck = False


; GUI
$hGUI = GUICreate("xXxChulo FormsxXx", 1200, 800)
GUISetBkColor(0xE0E0E0)

; Lista de controles
$iLista = GUICtrlCreateList("", 5, 5, 200, 400, 0)
GUICtrlSetData(-1, "Seleccionar||New GUI||Avi|Button|CheckBox|Combo|ContextMenu|Date|Dummy|Edit|Graphic|Group|Icon|Input|Label|List|ListView " _
		 & "|Menu|MonthCal|Obj|Pic|Progress|Radio|Slider|Tab|TreeView|")

; Area de diseño
$iArea = GUICtrlCreatePic("", 210, 5, 780, 580)
GUICtrlSetState(-1, $GUI_DISABLE)


; Area de diseño	-	Grilla y color de fondo	-
DibujarGrilla($hGUI, $iArea, 10, 0xFFFFFFFF)

; Mostrar GUIs
GUISetState(@SW_SHOW, $hGUI)

; Bucle Principal
While True
	$iMsg = GUIGetMsg()
	Switch $iMsg
		Case -3
			Exit
		Case $iLista
			ConsoleWrite(GUICtrlRead($iLista) & @CRLF)
	EndSwitch
	$aMouse = GUIGetCursorInfo()
	If Not @error Then
		ConsoleWrite($aMouse[4]&"------------"&$aMouse[2]&@CRLF)
		If $aMouse[4] = $iArea And $aMouse[2] Then
			$aPos = ControlGetPos($hGUI, "", $iArea)
			For $x = $aPos[0] To $aPos[2]+$aPos[0] Step 10
				$aMouse = GUIGetCursorInfo()
				If $aMouse[0] > $x - 6 And $aMouse[0] < $x + 6 Then
					For $y = $aPos[1] To $aPos[3]+$aPos[1] Step 10
						$aMouse = GUIGetCursorInfo()
						If $aMouse[1] > $y - 6 And $aMouse[1] < $y + 6 Then
							ExitLoop
						EndIf
					Next
					ExitLoop
				EndIf
			Next
			$Mx = $x
			$My = $y
			GUICtrlCreateButton("test", $Mx, $My, 1, 1)
			While $aMouse[2]
				$aMouse = GUIGetCursorInfo()
				For $x = $aPos[0] To $aPos[2]+$aPos[0] Step 10
					$aMouse = GUIGetCursorInfo()
					If $aMouse[0] > $x - 6 And $aMouse[0] < $x + 6 Then
						For $y = $aPos[1] To $aPos[3]+$aPos[1] Step 10
							$aMouse = GUIGetCursorInfo()
							If $aMouse[1] > $y - 6 And $aMouse[1] < $y + 6 Then
								ExitLoop
							EndIf
						Next
						ExitLoop
					EndIf
				Next
				GUICtrlSetPos(-1, $Mx, $My, $x - $Mx, $y - $My)
			WEnd
		EndIf
	EndIf
WEnd

Func _SnapToGrid($hGUI, $iPic)

EndFunc   ;==>_SnapToGrid
Func DibujarGrilla($iParent, $iPic, $iEspacio, $argbColor)
	Local $aPos = ControlGetPos($iParent, "", $iPic)
	Local $iAncho = $aPos[2]
	Local $iAlto = $aPos[3]
	_GDIPlus_Startup()
	Local $hBMP = _GDIPlus_BitmapCreateFromScan0($iAncho, $iAlto)
	Local $hGraphics = _GDIPlus_ImageGetGraphicsContext($hBMP)
	_GDIPlus_GraphicsClear($hGraphics, $argbColor)
	For $x = 0 To $iAncho Step $iEspacio
		For $y = 0 To $iAlto Step $iEspacio
			_GDIPlus_GraphicsDrawRect($hGraphics, $x, $y, 1, 1)
		Next
	Next
	Local $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBMP)
	_WinAPI_DeleteObject(GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap))
	_WinAPI_DeleteObject($hBitmap)
	_GDIPlus_GraphicsDispose($hGraphics)
	_GDIPlus_BitmapDispose($hBMP)
	_GDIPlus_Shutdown()
EndFunc   ;==>DibujarGrilla

Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iStride = 0, $iPixelFormat = 0x0026200A, $pScan0 = 0)
	Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "int*", 0)
	If @error Then Return SetError(@error, @extended, 0)
	Return $aResult[6]
EndFunc   ;==>_GDIPlus_BitmapCreateFromScan0
Imagen

EDIT: Ideas tengo un monton, como por ejemplo hacer un pequeño editor como para escribirle funciones para algunos eventos de los controles y luego exportar el codigo al SciTe. Tambièn si creas una listView que te cree ya el la funcion para el WM_NOTIFY con todas las opciones para cada evento de la lista, para que solo tengas que llenar lo que te intereza, lo mismo con el bucle con el GUIGetMsg() que te ponga los diferentes cases para los controles; También algunas cosas GDI+; Ademas de poder crear las GUI con los estilos que quieras y hasta algunas personalizadas con el efecto AERO o con una PNG de formulario... la idea es que la IDE esta te escriba todo el codigo ;) parece grande y lo es, por eso estarìa bueno que todos aporten algo, yo me puedo dedicar a la parte GDI+, pero primero deberiamos tener algo basico y funcional, para luego ir agregandole todas las caracteristicas que queramos, somos muchos y con ganas asi que no escatimen en ideas, que este proyecto salga como queramos y no nos quedemos en algo chico y diferente a lo que queremos, entre todos podemos sacarlo adelante. :smt035

PD: Esta bueno que pregunten todo lo que no entiendan de lo que otro escribio, ya que asi aprendemos todos y esta bueno que todos entendamos lo que va sucediendo ;)