Goto o func dentro de while
Publicado: 28 Ene 2011, 13:18
Hola buenas, estoy buscando alguna función que me haga lo mismo que GOTO en baht o crear un While con funciones dentro pero por lo que veo no es posible.
Ponga el código.
Gracias..
Ponga el código.
Código: Seleccionar todo
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
;###################################
;QUIERO UN GOTO o algo parecido AQUI
;####################################
$1 = @ScriptDir & "/fotos/1.jpg"
_GDIPlus_Startup()
;$fname1=FileOpenDialog("First image","","All images(*.bmp;*.jpg;*.png;)")
$fname1 = @ScriptDir & "/captura.jpg"
If $fname1="" Then Exit
;$fname2=FileOpenDialog("Second image image","","All images(*.bmp;*.jpg;*.png;)")
$fname2 = $1
If $fname2= "" Then Exit
$bm1 = _GDIPlus_ImageLoadFromFile($fname1)
$bm2 = _GDIPlus_ImageLoadFromFile($fname2)
;################Variables##############
$dato1 = (dato1($bm1, $bm2))
;################Variables##############
_GDIPlus_ImageDispose($bm1)
_GDIPlus_ImageDispose($bm2)
_GDIPlus_Shutdown()
Func dato1($bm1, $bm2)
$Bm1W = _GDIPlus_ImageGetWidth($bm1)
$Bm1H = _GDIPlus_ImageGetHeight($bm1)
$BitmapData1 = _GDIPlus_BitmapLockBits($bm1, 0, 0, $Bm1W, $Bm1H, $GDIP_ILMREAD, $GDIP_PXF32RGB)
$Stride = DllStructGetData($BitmapData1, "Stride")
$Scan0 = DllStructGetData($BitmapData1, "Scan0")
$ptr1 = $Scan0
$size1 = ($Bm1H - 1) * $Stride + ($Bm1W - 1) * 4
$Bm2W = _GDIPlus_ImageGetWidth($bm2)
$Bm2H = _GDIPlus_ImageGetHeight($bm2)
$BitmapData2 = _GDIPlus_BitmapLockBits($bm2, 0, 0, $Bm2W, $Bm2H, $GDIP_ILMREAD, $GDIP_PXF32RGB)
$Stride = DllStructGetData($BitmapData2, "Stride")
$Scan0 = DllStructGetData($BitmapData2, "Scan0")
$ptr2 = $Scan0
$size2 = ($Bm2H - 1) * $Stride + ($Bm2W - 1) * 4
$smallest = $size1
If $size2 < $smallest Then $smallest = $size2
$call = DllCall("msvcrt.dll", "int:cdecl", "memcmp", "ptr", $ptr1, "ptr", $ptr2, "int", $smallest)
_GDIPlus_BitmapUnlockBits($bm1, $BitmapData1)
_GDIPlus_BitmapUnlockBits($bm2, $BitmapData2)
Return ($call[0]=0)
EndFunc ;==>CompareBitmaps
;############################################################################# Si coincide te salta el MsgBox "Coincide" si no lo vuelve a comprobar.
Select
Case $dato1 = True ;1
MsgBox(0, "Ejemplo", "Coincide")
Case $dato1 = True ;2
MsgBox(0, "Ejemplo", "No coincide, Comprobar otra vez")
;volver a goto de arriba.
EndSelect
Gracias..