elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 [975] 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 ... 1235
9741  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets) en: 16 Enero 2013, 20:38 pm
Tienes que intentar mejorar tus conceptos  :¬¬ es algo bastante básico

Pues el que hizo la función original es un pedazo de Coder de CodeProject que ha hecho unos 10 controles extendido... así que quizás si usa ByVal es por algo... no sé, no me culpeis a mí xD.

PD: Cuanto más me adentro en .NET más me doy cuenta que es imposible saberlo todo al milímetro!

Saludos!
9742  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets) en: 16 Enero 2013, 19:15 pm
Podrías también, si quieres, pasar la imágen por referencia, como hago yo. Ésto es para no duplicarla, así trabajamos sobre la misma imágen de entrada. Ahorra memoria aunque realizará el cambio aunque no hagamos:

No conocía esos beneficios de ByRef, gracias!
9743  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Splitty v1.2 [Source code] en: 16 Enero 2013, 19:12 pm
He actualizado el programa con unos pequeños cambios...

El código fuente quizás no es muy bonito (Aviso xD), pero está todo ordenado por regiones...

Un saludo!
9744  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Application.DoEvents() en: 16 Enero 2013, 18:06 pm
Nov lo que pasa es que el backgroundworker me da mucho palo usarlo para hilos pequeños de menos de 50 líneas, porque si uso el BGW tengo que usar todos los subs que provee el BGW para que no me vengan posibles errores, dowork, reportprogress, y el resto, en fín son bastantes y es un coñazo xD.

En otra aplicación si que uso el backgroundworker porque el thread as grandísimo, pero aquí no me vale la pena, no lo domino y luego me acabo liando con tanta cosa.

Saludos!

9745  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Application.DoEvents() en: 16 Enero 2013, 16:45 pm
EDITO:

Ya lo he arreglado, era culpa de la maldita barra de progreso extendida y su propiedad "textshow",si le sumaba un valor sin que hubiera ningún valor que mostrar, da error".

Saludos!






Pues no, con lo de antes no me equivocaba, me salta error hasta por esto!:

Código
  1.   Thread_Split.Start()
  2.        MsgBox("a")

El msgbox me salta error de operación aritmética, juas!!!! no lo entiendo...

Ahora mismo me encuentro tocando todo el thread para intentar solucionarlo, lo siento si no es muy bonito ni uso técnicas tán avanzadas como la que ha comentado Kubox xD...


Este es el botón que llama al thread, bueno, es un botón para llamarlo, y otro para abortarlo.
Código
  1. #Region " Button Split "
  2.  
  3.    ' Button SPLIT
  4.    Private Sub Button_Split_ClickButtonArea(Sender As Object, e As MouseEventArgs) Handles Button_Split.ClickButtonArea
  5.  
  6.        'Try : Thread_Split.Abort() : Catch : End Try
  7.  
  8.        Thread_is_completed = False
  9.        Thread_Split = New Threading.Thread(AddressOf Split_Thread)
  10.        Thread_Split.IsBackground = True
  11.  
  12.        Thread_Split.Start()
  13.  
  14.        MsgBox("a") ' esto da error cuando inicio el thread por segunda vez....juas...
  15.  
  16.        While Not Thread_is_completed = True
  17.            Application.DoEvents()
  18.        End While
  19.  
  20.        'Thread_is_completed = True
  21.        Want_to_cancel_thread = False
  22.  
  23.    End Sub
  24.  
  25.  
  26.    ' Button STOP
  27.    Private Sub Button_Stop_ClickButtonArea(Sender As Object, e As MouseEventArgs) Handles Button_Stop.ClickButtonArea
  28.        Want_to_cancel_thread = True
  29.        ' Try : Thread_Split.Abort() : Catch : End Try
  30.        ' Thread_is_completed = True
  31.        Kill_Process("7z")
  32.        Kill_Process("rar")
  33.    End Sub
  34.  
  35. #End Region


el thread:


Código
  1. #Region " Split Thread "
  2.  
  3.    Sub Split_Thread()
  4.        TotalFiles_Number = 0
  5.  
  6.        If Copy_Mode = "Copy" Or Copy_Mode = "Move" And Not Want_to_cancel_thread = True Then
  7.            If Not Want_to_cancel_thread = True Then
  8.                Get_All_Files(New IO.DirectoryInfo(Selected_Directory))
  9.  
  10.                ' ProgressBar
  11.                InvokeControl(ProgBarPlus, Sub(x) x.Max = TotalFiles_Number)
  12.                If Copy_Mode = "Copy" Then : InvokeControl(ProgBarPlus, Sub(x) x.TextFormat = "Copying {0} of {2} files")
  13.                ElseIf Copy_Mode = "Move" Then : InvokeControl(ProgBarPlus, Sub(x) x.TextFormat = "Moving {0} of {2} files")
  14.                End If
  15.                InvokeControl(ProgBarPlus, Sub(x) x.TextShow = ProgBar.ProgBarPlus.eTextShow.FormatString)
  16.  
  17.                ' Copy /Move
  18.                Dim FolderNum As Integer = 1
  19.                For Each File In Files_List
  20.                    If Not Want_to_cancel_thread = True Then
  21.                        Cached_Size += File.Split("|")(2)
  22.                        If Not Cached_Size >= Selected_Disc_Bytes Then
  23.                            If Copy_Mode = "Copy" Then Copy_File(File.Split("|")(0) & "\" & File.Split("|")(1), Selected_Output_Directory & "\Disc " & FolderNum & Get_File_Info(File.Split("|")(0) & "\" & File.Split("|")(1), DirectoryName).ToString.Split(":")(1), True, True)
  24.                            'If Copy_Mode = "Move" Then Move_File(File.Split("|")(0) & "\" & File.Split("|")(1), Selected_Output_Directory & "\Disc " & FolderNum & Get_File_Info(File.Split("|")(0) & "\" & File.Split("|")(1), DirectoryName).ToString.Split(":")(1), True, True)
  25.                        Else
  26.                            Cached_Size = Nothing
  27.                            FolderNum += 1
  28.                            If Copy_Mode = "Copy" Then Copy_File(File.Split("|")(0) & "\" & File.Split("|")(1), Selected_Output_Directory & "\Disc " & FolderNum & Get_File_Info(File.Split("|")(0) & "\" & File.Split("|")(1), DirectoryName).ToString.Split(":")(1), True, True)
  29.                            'If Copy_Mode = "Move" Then Move_File(File.Split("|")(0) & "\" & File.Split("|")(1), Selected_Output_Directory & "\Disc " & FolderNum & Get_File_Info(File.Split("|")(0) & "\" & File.Split("|")(1), DirectoryName).ToString.Split(":")(1), True, True)
  30.                        End If
  31.                        InvokeControl(ProgBarPlus, Sub(x) x.Value += 1)
  32.                    Else
  33.                        Want_to_cancel_thread = False
  34.                        Thread_is_completed = True
  35.                        'Try : Thread_Split.Abort() : Catch : End Try
  36.                        Exit For
  37.                    End If
  38.                Next
  39.            End If
  40.  
  41.        ElseIf Copy_Mode = "7Zip" And Not Want_to_cancel_thread = True Then
  42.            InvokeControl(ProgBarPlus, Sub(x) x.TextFormat = "Progress is not avaliable for 7Zip")
  43.            InvokeControl(ProgBarPlus, Sub(x) x.TextShow = ProgBar.ProgBarPlus.eTextShow.FormatString)
  44.            Run_Process("7z.exe", " a " & """" & Selected_Output_Directory & "\Disc.7z" & """" & " " & """" & Selected_Directory & """" & " -v" & Selected_Disc_Bytes.ToString & "b " & " -m0=BCJ -bd -y", False, True)
  45.  
  46.        ElseIf Copy_Mode = "Rar" And Not Want_to_cancel_thread = True Then
  47.            InvokeControl(ProgBarPlus, Sub(x) x.TextFormat = "Progress is not avaliable for Rar")
  48.            InvokeControl(ProgBarPlus, Sub(x) x.TextShow = ProgBar.ProgBarPlus.eTextShow.FormatString)
  49.            Run_Process("RAR.exe", " a " & """" & Selected_Output_Directory & "\Disc.rar" & """" & " " & """" & Selected_Directory & """" & " -v" & Selected_Disc_Bytes.ToString & "b " & " -m0  -ibck -o+", False, True)
  50.  
  51.        ElseIf Copy_Mode = "Exe" And Not Want_to_cancel_thread = True Then
  52.            InvokeControl(ProgBarPlus, Sub(x) x.TextFormat = "Progress is not avaliable for Exe")
  53.            InvokeControl(ProgBarPlus, Sub(x) x.TextShow = ProgBar.ProgBarPlus.eTextShow.FormatString)
  54.            Run_Process("RAR.exe", " a -sfx " & """" & Selected_Output_Directory & "\Disc.exe" & """" & " " & """" & Selected_Directory & """" & " -v" & Selected_Disc_Bytes.ToString & "b " & " -m0  -ibck -o+", False, True)
  55.  
  56.        End If
  57.  
  58.        MessageBox.Show("All files compressed", "Splitty 1.2", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
  59.        Want_to_cancel_thread = False
  60.        Thread_is_completed = True
  61.        'Try : Thread_Split.Abort() : Catch : End Try
  62.        'Exit Sub
  63.    End Sub
  64.  
  65. #End Region
  66.  
9746  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Application.DoEvents() en: 16 Enero 2013, 16:12 pm
Gracias Kubox, luego intento hacer eso porque es un poco lío para mí xD


De todas formas creo que el problema no tiene nada que ver con el thread.

MsgBox(Thread_is_completed) ' el valor es False
Me da exactamente el mismo error que he comentado en el primer comentario... aritmetic bla bla bla...


Me he equivocado con eso.

¿Porqué? :(
9747  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Application.DoEvents() en: 16 Enero 2013, 15:55 pm
Se diferencia en que la aplicación no se "cuelga" al usar un while + aplication.doevents() :-/

De alguna manera tengo que esperar hasta que el thread mande una respuesta como diciendo "he acabado mi trabajo", por ejemplo para cambiar el estado de un botón:

Botón con texto "Start" > inicia el thread > cambia el texto a "STOP"
hasta que el thread no acabe el texto del botón no vuelve a ser "Start".

¿Me entienden?
9748  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Application.DoEvents() en: 16 Enero 2013, 15:30 pm
Edu,
¿Como le harías tu?

La intención del código de arriba es esto:

Código:
      Thread_Split.Start() ' Ejecutar el thread
           ' ( Al acabar el thread la variable booleana se vuelve TRUE )
           Hasta que "Variable booleana" séa igual a "True"
               No hacer nada de nada
           End While

Si no encuentro solución pronto arreglaré un poco el thread para postearlo...

Gracias y Saludos.
9749  Programación / Scripting / Busco aplicación commandline para crear Iso's en: 16 Enero 2013, 15:22 pm
Hola foreros,

Necesito ayuda para localizar un programa CommandLine que tenga estas características:

1. Crear una imagen ISO
2. Crear la ISO por volúmenes (Cada archivo ISO debe ser grabable, no debe depender del resto de volúmenes partidos).



WinRar no dispone de la creación de archivos ISO.

7zip no soporta el "cortado" de volúmenes en la creación de archivos ISO (-tiso).

PowerIso genera volúmenes que dependen entre sí, y además en formato DAA, por lo tanto no me sirve.

Si saben cualquier programa que cumpla las características háganmelo saber,
Gracias.

Un saludo!
9750  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Problema con Application.DoEvents() en: 16 Enero 2013, 14:19 pm
Estoy teniendo problemas con esto:
Código
  1.  Thread_Split.Start()
  2.        While Not Thread_is_completed = True
  3.            Application.DoEvents()
  4.        End While

Cuando inicio el thread por segunda vez, me salta este error:
Código:
Arithmetic operation resulted in an overflow.

¿Porqué?
Páginas: 1 ... 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 [975] 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 ... 1235
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines