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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 [540] 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 ... 1236
5391  Foros Generales / Foro Libre / Re: Duda, quiero vuestras opiniones en: 1 Mayo 2015, 07:35 am
yo prefiero seguir dando ese dinero a homeless o a artistas callejeros que intentan ganarse la vida como pueden. Pero me ha hecho reflexionar

Quien debería reflexionar y madurar de mentalidad es tu amigo, si yo tuviese un amigo que le regalase constántemente dinero a los pobres me sentiría orgulloso de tener una persona tan benévola en mi círculo de amistades,
que no te coman el coco con estupideces, no dejes que la opinión de tu amigo te influya, lo que haces es genial y no debes cambiar a menos que sea para mejorar, tu amigo tiene un techo y unos padres que le cuidan mientras que los homeless no tienen nada, que recapacite sobre eso porque si ese amigo tuyo quiere ganarse tus favores entonces se lo debería ganar respetándote, respetando lo que haces por los demás, sin tener que recurrir al enfado solo por que cómo el dinero se lo regalas a otras personas eso no le beneficia a tu amigo, además por lo que has dicho también es un síntoma de envidia materialista hacia esas otras personas, menuda estupidez de comportamiento tiene tu amigo ...debería darle verguenza,
pf, lo que ocurre es que la amistad que se suele encontrar hoy en día no es amistad, es interés, hoy por ti y mañana por mi, si algún dia me fallas yo también, en fin.

¿Tú que harías?

Yo sinceramente no regalaría dinero a amigos por que se entiende que serían de clase media y por ese motivo ellos no necesitarían ese dinero más de lo que lo podría necesitar yo (o mi familia), tampoco le regalaría dinero a mendigos por que generalizando la gran mayoría tienen adicciones a la droga debido a la depresión que le causa vivir en la calle, y muchos de esos mendigos drogadictos pueden ganar bastante pasta al día (cerca de 100€ y más) pero al final se lo gastan en lo que se lo gastan, y eso es tirar mi dinero, ¿regalar dinero para contribuir a que una persona se mate?, no hombre no, prefiero regalar comida o ropa, que al menos se lo que harán con ella.

Saludos
5392  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 30 Abril 2015, 22:04 pm
repito la pregunta:
Citar
Dices que en este ejemplo solo debe quedar una secuencia (o eso entiendo por "registro"), ¿cual?, y ¿por qué?.

No se si esto produce el resultado que esperas:
Código
  1. Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  2. Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  3. Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
  4. Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}
  5. Dim max As Integer = 10
  6.  
  7. Dim cols As IEnumerable(Of IEnumerable(Of String)) =
  8.    From col As IEnumerable(Of Integer) In {col1, col2, col3, col4}
  9.    Group By String.Join("", col).AsEnumerable
  10.    Into Group
  11.    Select From value As Integer In Group.First.Distinct
  12.           Where Not (value > max)
  13.           Select value.ToString(format:="0#")
  14.  
  15. ListBox1.Items.AddRange((From col As IEnumerable(Of String) In cols Select String.Join(", ", col)).ToArray)

Resultado de ejecución:
Código:
01, 05, 06, 07, 08, 09, 10
01, 02, 08, 06, 09
02, 03

Saludos
5393  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 30 Abril 2015, 20:39 pm
Especifica claramente lo de los duplicados, dices que en este ejemplo solo debe quedar una secuencia (o eso entiendo por "registro"), ¿cual?, y ¿por qué?.

Citar
Código
  1. Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  2. Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  3. Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
  4. Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}

¿Quieres dscartar los valores duplicados entre cada decuencia?, ¿o quieres descartar la secuencia entera en caso de que algún valor esté repetido con los valores de otra de las secuencias?, por que ambas cosas son muy distintas.

Da más detalles

Saludos
5394  Programación / Programación General / Re: [Estimación]Controlar tiempo de desarrollo. en: 30 Abril 2015, 19:44 pm
yo lo tengo para ganarme un extra

Cómo todos xD.

A mi tampoco es que me salga un trabajo cada semana, cómo tu has dicho es jodido ...pues hay demasiada competencia, pero, dejando a un lado el tema de la estimación, si me permites unos consejos que creo que te podrían servir cómo me sirvieron a mi...

Si te lo puedes permitir entonces se selectivo evitando los clientes que lo quieran todo YA, generalizando suelen ser personas exigentes que no atiendan a razones, y desagradecidos, claro que es un trabajo donde lo que importa es el dinero por un trabajo bien hecho pero siempre llena de ánimos y motivación que alguien reconozca tú esfuerzo y yo eso lo he visto más en personas pacientes que impacientes, aunque habrá personas de todo tipo claro está.

Evita esas típicas webs archi-conocidas de oportunidades de trabajo freelance cómo Freelancer.com, no valen para nada (particulármente la que he mencionado), tienen muchas fisuras de todo tipo tanto bugs cómo aspectos que rozan la ilegalidad y te perjudican (que puedes leer en blogs buscando críticas constructivas en Google) y en el fondo ese tipo de webs es la peor opción por que tienes que tener mucha suerte para poder competir contra miles de Bots estafadores que siempre estan alerta como hienas y que encima son más baratos que tú (claro, estafando).

Suscríbete a boletines de correo (o RSS) para Freelancers, "véndete" en foros, blogs, facebook, youtube y/o chats, es decir en páginas de todo tipo haciendo spam sobre tus habilidades de programación (no hacer spam en elhacker.net), y regístrate en páginas de oportunidades freelancer que sean de calidad cómo por ejemplo www.guru.com, y también puedes vender tus servicios de una manera un poco distinta en páginas tipo www.fiver.es, www.gigsbag.com, o www.geniuzz.com.

Saludos
5395  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda en c# con poner imagen sobre imagen en: 30 Abril 2015, 18:34 pm
En un principio yo también veo mal ofrecer ayuda a quien lo pide todo hecho sin mostrar código alguno, pero me he dado cuenta de que un "ejercicio" o utilidad cómo esta me faltaba en mi librería personal de códigos y me ha llamado la atención el desarrollar este tipo de utilidad para un uso genérico, ya que lo hago pues lo comparto.

Imagen trasera e imagen delantera
   

Superposición (opaca)


Código fuente
Código
  1.    ''' <remarks>
  2.    ''' *****************************************************************
  3.    ''' Snippet Title: Overlay Images
  4.    ''' Code's author: Elektro
  5.    ''' Date Modified: 30-April-2015
  6.    ''' *****************************************************************
  7.    ''' </remarks>
  8.    ''' <summary>
  9.    ''' Overlay an image over a background image.
  10.    ''' </summary>
  11.    ''' <param name="backImage">The background image.</param>
  12.    ''' <param name="topImage">The topmost image.</param>
  13.    ''' <param name="topPosX">An optional adjustment of the top image's "X" position.</param>
  14.    ''' <param name="topPosY">An optional adjustment of the top image's "Y" position.</param>
  15.    ''' <returns>The overlayed image.</returns>
  16.    ''' <exception cref="ArgumentNullException">backImage or topImage</exception>
  17.    ''' <exception cref="ArgumentException">Image bounds are greater than background image.;topImage</exception>
  18.    Public Shared Function OverlayImages(ByVal backImage As Image,
  19.                                         ByVal topImage As Image,
  20.                                         Optional ByVal topPosX As Integer = 0,
  21.                                         Optional ByVal topPosY As Integer = 0) As Image
  22.  
  23.        If backImage Is Nothing Then
  24.            Throw New ArgumentNullException(paramName:="backImage")
  25.  
  26.        ElseIf topImage Is Nothing Then
  27.            Throw New ArgumentNullException(paramName:="topImage")
  28.  
  29.        ElseIf (topImage.Width > backImage.Width) OrElse
  30.               (topImage.Height > backImage.Height) Then
  31.            Throw New ArgumentException(message:="Image bounds are greater than background image.", paramName:="topImage")
  32.  
  33.        Else
  34.            topPosX += CInt((backImage.Width / 2) - (topImage.Width / 2))
  35.            topPosY += CInt((backImage.Height / 2) - (topImage.Height / 2))
  36.  
  37.            Dim bmp As New Bitmap(backImage.Width, backImage.Height)
  38.  
  39.            Using canvas As Graphics = Graphics.FromImage(bmp)
  40.  
  41.                canvas.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
  42.  
  43.                canvas.DrawImage(image:=backImage,
  44.                                 destRect:=New Rectangle(0, 0, bmp.Width, bmp.Height),
  45.                                 srcRect:=New Rectangle(0, 0, bmp.Width, bmp.Height),
  46.                                 srcUnit:=GraphicsUnit.Pixel)
  47.  
  48.                canvas.DrawImage(image:=topImage,
  49.                                 destRect:=New Rectangle(topPosX, topPosY, topImage.Width, topImage.Height),
  50.                                 srcRect:=New Rectangle(0, 0, topImage.Width, topImage.Height),
  51.                                 srcUnit:=GraphicsUnit.Pixel)
  52.  
  53.                canvas.Save()
  54.  
  55.            End Using
  56.  
  57.            Return bmp
  58.  
  59.        End If
  60.  
  61.    End Function

Traducción online a C#
Código
  1. /// <remarks>
  2. /// *****************************************************************
  3. /// Snippet Title: Overlay Images
  4. /// Code's author: Elektro
  5. /// Date Modified: 30-April-2015
  6. /// *****************************************************************
  7. /// </remarks>
  8. /// <summary>
  9. /// Overlay an image over a background image.
  10. /// </summary>
  11. /// <param name="backImage">The background image.</param>
  12. /// <param name="topImage">The topmost image.</param>
  13. /// <param name="topPosX">An optional adjustment of the top image's "X" position.</param>
  14. /// <param name="topPosY">An optional adjustment of the top image's "Y" position.</param>
  15. /// <returns>The overlayed image.</returns>
  16. /// <exception cref="ArgumentNullException">backImage or topImage</exception>
  17. /// <exception cref="ArgumentException">Image bounds are greater than background image.;topImage</exception>
  18. public static Image OverlayImages(Image backImage, Image topImage, int topPosX = 0, int topPosY = 0)
  19. {
  20.  
  21.        if (backImage == null) {
  22. throw new ArgumentNullException(paramName: "backImage");
  23.  
  24. } else if (topImage == null) {
  25. throw new ArgumentNullException(paramName: "topImage");
  26.  
  27. } else if ((topImage.Width > backImage.Width) || (topImage.Height > backImage.Height)) {
  28. throw new ArgumentException("Image bounds are greater than background image.", "topImage");
  29.  
  30. } else {
  31. topPosX += Convert.ToInt32((backImage.Width / 2) - (topImage.Width / 2));
  32. topPosY += Convert.ToInt32((backImage.Height / 2) - (topImage.Height / 2));
  33.  
  34. Bitmap bmp = new Bitmap(backImage.Width, backImage.Height);
  35.  
  36. using (Graphics canvas = Graphics.FromImage(bmp)) {
  37. canvas.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic;
  38. canvas.DrawImage(image: backImage, destRect: new Rectangle(0, 0, bmp.Width, bmp.Height), srcRect: new Rectangle(0, 0, bmp.Width, bmp.Height), srcUnit: GraphicsUnit.Pixel);
  39. canvas.DrawImage(image: topImage, destRect: new Rectangle(topPosX, topPosY, topImage.Width, topImage.Height), srcRect: new Rectangle(0, 0, topImage.Width, topImage.Height), srcUnit: GraphicsUnit.Pixel);
  40.  
  41. canvas.Save();
  42. }
  43. return bmp;
  44. }
  45. }
  46.  
  47. //=======================================================
  48. //Service provided by Telerik (www.telerik.com)
  49. //=======================================================

Modo de empleo (el mismo que he usado para generar el ejemplo de superposición de arriba)
Código
  1. Dim backImg As Image = Image.FromFile("C:\back.jpg")
  2. Dim topImg As Image = Image.FromFile("C:\top.png")
  3. Dim overlay As Image = OverlayImages(backImg, topImg, topPosX:=+5, topPosY:=-15)
  4. overlay.Save("C:\Overlay.jpg", Imaging.ImageFormat.Jpeg)
  5. Process.Start("C:\Overlay.jpg")

Saludos
5396  Programación / .NET (C#, VB.NET, ASP) / Re: Dónde debo de colocar el .Clear(); en: 30 Abril 2015, 04:50 am
Buenas

1. Los índices empiezan por 0, si quieres determinar que haya un item seleccionado en un combobox de la manera en que lo estás haciendo entonces debes evaluar el valor -1, donde -1 es ninguno, 0 el el primer item, 1 el segundo item, etc...
Código
  1. if (ComboBox.SelectedIndex != 1) {
  2.    // ...
  3. }

2. Eliminar el texto del combobox no altera el índice de selección, el valor de la propiedad SelectedIndex seguirá siendo el mismo que estaba seleccionado antes de eliminar el texto, a menos que tengas un item vacío (una linea en blanco) y tu intención sea seleccionar ese item vacío, cosa que no has especificado.

Si lo que quieres es deseleccionar el item entonces puedes hacer:
Código
  1. ComboBox1.SelectedItem = Nothing;
o también:
Código
  1. ComboBox1.SelectedIndex = -1;

3. ¿Porque limpias el DataSet en cada comparación de cada ComboBox?, se que tienes dudas sobre eso, pero no llego a entender con que intención lo haces tantas veces seguidas, obviamente es innecesario. No me manejo con tareas que requieran el uso de SQL, pero si necesitases limpiar las filas de las tablas del dataset entonces hazlo una vez y justo antes de rellenar usando el método Fill del SQLAdapter, en el método cargarActas2:

Código
  1. ...
  2. ds.Clear();
  3. dataAdap.Fill(ds);
  4. ...

Y digo "si necesitases", por que realmente no se si es necesario ya que no he comprobado que el método Fill del SQLAdapter las limpie antes de rellenar, cabría esperar que si lo hiciese, pero repito de nuevo que no manejo SQL, si no estás seguro compruébalo por ti mismo para salir de dudas.

4. No estás respetando el buen uso de la cantidad de espacios en blanco en la query de SQL ni los valores de String que debes encerrar entre comillas, aunque repito que no manejo SQL, pero algo conozco sin haberlo llegado a usar, de todas formas toda esa maraña de ifs lo puedes simplificar para construir esa parte de la query de manera más dinámica, por ejemplo así:
 
Código
  1.    Private filterList As New List(Of String)
  2.  
  3.    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
  4.    Handles MyBase.Load
  5.  
  6.        ' Set property names as tags
  7.        Me.ComboBox1.Tag = "iddpto"
  8.        Me.ComboBox2.Tag = "idprofe"
  9.        Me.ComboBox3.Tag = "idmate"
  10.        Me.ComboBox4.Tag = "idperi"
  11.        Me.ComboBox5.Tag = "idtiposem"
  12.  
  13.    End Sub
  14.  
  15.    Private Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) _
  16.    Handles ComboBox1.SelectedIndexChanged,
  17.            ComboBox2.SelectedIndexChanged,
  18.            ComboBox3.SelectedIndexChanged,
  19.            ComboBox4.SelectedIndexChanged,
  20.            ComboBox5.SelectedIndexChanged
  21.  
  22.        Dim cb As ComboBox = DirectCast(sender, ComboBox)
  23.  
  24.        Me.filterList.Remove(Me.filterList.Find(Function(item As String) item Like String.Format("AND A.{0}*", cb.Tag.ToString)))
  25.  
  26.        If cb.SelectedIndex <> -1 Then
  27.            Me.filterList.Add(String.Format("AND A.{0}='{1}'", cb.Tag.ToString, cb.SelectedItem.ToString))
  28.        End If
  29.  
  30. #If DEBUG Then
  31.        Debug.WriteLine(String.Join(" ", Me.filterList))
  32. #End If
  33.  
  34.    End Sub

Traducción a C#:
Código
  1. private List<string> filterList = new List<string>();
  2.  
  3. private void Form1_Load(object sender, EventArgs e) {
  4.  
  5. // Set property names as tags
  6. this.ComboBox1.Tag = "iddpto";
  7. this.ComboBox2.Tag = "idprofe";
  8. this.ComboBox3.Tag = "idmate";
  9. this.ComboBox4.Tag = "idperi";
  10. this.ComboBox5.Tag = "idtiposem";
  11. }
  12.  
  13. // nota: Este event-handler lo usas para suscribirte al evento 'SelectedIndexChanged' de TODOS los ComboBoxes.
  14. private void ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
  15.  
  16. ComboBox cb = (ComboBox)sender;
  17.        this.filterList.Remove(this.filterList.Find((string item) => item.StartsWith(string.Format("AND A.{0}", cb.Tag.ToString))))
  18.  
  19. if (cb.SelectedIndex != -1) {
  20. this.filterList.Add(string.Format("AND A.{0}='{1}'", cb.Tag.ToString, cb.SelectedItem.ToString));
  21. }
  22.  
  23. // #if DEBUG
  24.     Debug.WriteLine(string.Join(" ", this.filterList));
  25. // #endif
  26. }

Haznos saber si alguna de estas correcciones o sugerencias ha corregido el problema que tienes.

Saludos
5397  Foros Generales / Foro Libre / Re: Los mitos de las computadoras en: 30 Abril 2015, 03:17 am
La música del final de estilo Chiptune me ha gustado mucho, ¿podrías indicar como se llama el tema? :xD

El mito de los pedófilos no es un mito, es la realidad, no está todo lleno de pedófilos criminales, pero hoy en día es algo parecido, pues solo hay que entrar en cualquier chat para comprobar que el 99% de usuarios son gente masculina y con el pito tan salido que se tirarían hasta a su hermana de 14 años si se la encontrasen chateando en la sala sin saber quien es.

Saludos
5398  Foros Generales / Dudas Generales / Re: Glosario en: 30 Abril 2015, 02:29 am
No se podría hacer un glosario para los mas novatos para entender su lenguaje avanzado?

Yo no lo consideraría lenguaje avanzado, más bien es sinónimo de vagancia y todos hemos pecado de vagos en ese sentido, pero a mi me gusta más escribir y decir "Sistema Operativo" que "S.O",
de hecho en el foro casi siempre intento traducir o incluso evitar la terminología yankee cuando se que otra persona con menos experiencia no va a entender el significado de lo que expresa ese término y entonces le suelto la traducción, un término similar más sencillo de entener ...quizás más de un sinónimo, o una breve explicación del significado sin nombrar el término en cuestión para intentar que lo entienda mejor, aunque también es que a mi me gusta escribir más de la cuenta y dar la lata como te la estoy dando a ti ahora xD.

Si ya existe disculpen mi ignorancia y díganme donde lo encuentro.

Abreviaciones:
List of computing and IT abbreviations - Wikipedia

Términos:
Glossary of Computer and Internet Terms - PC.net
The Tech Terms Computer Dictionary
Glossary of computer hardware terms - Wikipedia
Glossary of Internet-related terms - Wikipedia

Saludos
5399  Programación / Programación General / Re: [Estimación]Controlar tiempo de desarrollo. en: 30 Abril 2015, 02:13 am
¿Cómo estimar el tiempo de desarrollo?, bueno, para empezar, la primera estimación para un proyecto que dure más de unas pocas semanas podría tener que ser re-estimado con regularidad, lo mejor para no comerse marrones es comunicarle al cliente tu intención de volver a contactar con él tras pasar un tiempo indefinido y/o mantenerle informado eventuálmente de los avances del proyecto.

Poder realizar una buena estimación depende de cada programador, de la persona y de la magnitud de la tarea en cuestión, hay que desarrollar un modelo mental para evaluar/estimar distintos factores por separado, cómo los requisitos del proyecto, el riesgo (margen de error), la validación, y factores referentes a tus habilidades de programación cómo la velocidad, y el tiempo que duermes o que puedes programar, aparte, a ser posible se debe recurrir a referencias de proyectos anteriores que sean parecidos a la tarea que el cliente te está pidiendo para así poder elaborar una estimación más aproximada.

Yo también tuve problemas en ese sentido cuando empecé de forma freelance (sigo siendo freelance, no profesional), estimaba un plazo de entrega bastante corto superando mis espectativas para satisfacer al cliente (sin mala intención), a veces yo podía cumplir ese plazo de entrega pero otras veces tenía que alargarlo unos días o semanas más (o lo que fuese),
con la experiencia uno se da cuenta de que el cliente siempre se agarra a lo primero que le dices, lo primero que salga de tu boca es lo único que va a contar durante el periodo de ese trabajo, cualquier reectificación va a generar problemas, es decir, si al cliente le dices que en 3 semanas puedes desarrollar la aplicación y a la semana no se lo puedes entregar, hay muchas probabilidades de que ese cliente te lo acabe hechando en cara que le dijiste "3 semanas" y éste te empiece a agobiar cada día por que estás tardando "más de lo esperado", por ese motivo, siempre es mejor exagerar un poquito el plazo de entrega, por que aparte de que siempre pueden surgir imprevistos, si se lo puedes entregar antes de ese plazo de tiempo "exagerado" será algo positivo por que tecnicamente lo acabaste antes de tiempo.

EDITO:
Este libro te serviría de ayuda:
Software Estimation: Demystifying the Black Art (Developer Best Practices)

Saludos
5400  Programación / Scripting / Re: Como comprobar registro en: 29 Abril 2015, 23:31 pm
un .bat que compruebe  si una clave con su valor se agregó correctamente en el registro de Windows.

Si estás agregando tú la clave utilizando el comando REG, entonces solo debes evaluar el código de salida del proceso, siendo 0 satisfactorio, y no-0 error:
Código:
Reg.exe Add "HKCU\Test" /V "Valor" /D "Datos" /F 1>NUL 2>&1
If %ErrorLevel% EQU 0 (
Echo Success
) Else (
Echo Failed
)

Lo mismo pero utilizando los operadores:
Código:
(Reg.exe Add "HKCU\Test" /V "Valor" /D "Datos" /F)1>NUL 2>&1 && (
Echo Success
) || (
Echo Failed
)

En cambio, si la clave ya está añadida en el registro, entonces puedes utilizar el parámetro Query del comando Reg para hallar la clave (y buscar los datos del valor con el comando Find/Findstr):
Código:
( (Reg Query "HKCU\Test" /V "Valor" /T "Reg_SZ") | (Findstr "\<Datos\>") )1>Nul 2>&1 ^
&& (Echo Success) ^
|| (Echo Failed)

Saludos
Páginas: 1 ... 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 [540] 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines