Interfaces de programación y herramientas (Actualizado)

Antes de ir al Soporte consultame aquí, gracias
Responder
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2083
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Interfaces de programación y herramientas (Actualizado)

Mensaje 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
Avatar de Usuario
chekok
Hacker del Foro
Mensajes: 111
Registrado: 16 Sep 2011, 11:50
Ubicación: Valencia / España
Contactar:

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

Mensaje 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.
La vida es larga y dura.
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

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

Mensaje 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.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

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

Mensaje 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...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Avatar de Usuario
chekok
Hacker del Foro
Mensajes: 111
Registrado: 16 Sep 2011, 11:50
Ubicación: Valencia / España
Contactar:

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

Mensaje 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
La vida es larga y dura.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2083
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

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

Mensaje 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:)
Avatar de Usuario
ms999
Hacker del Foro
Mensajes: 116
Registrado: 26 Ene 2011, 06:13

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

Mensaje 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 ;)
Responder