Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Serapis

#1271
CitarEl discurso de la imposición de los "progres" como los llaman a mi me llega y seguro que a millones de españoles también.

No paran de decirnos en los medios y redes lo que tenmos que pensar y ante mínimas discrepancias te catalogan y te crucifican de machista, homofogo, violador, facha, franquista o el recurso populista de turno para que la sociedad te rechace en su conjunto impidiendo el más mínimo diálogo.

Totalmente de acuerdo SM.

Sánchez, confiaba que 'el resucitar la figura de Franco', le atraería más votos, sin contar que ya tenían todos los posibles y lo que ha sucedido es que todos los que están hasta los mismo C0J0N3X de que un muerto hace ya 44años, lo quieran presentar como una figura dominante, y todos los otros etc... haya provocado que los que militaban en las filas del 'centro-derecha', se hayan basculado (en esta ocaisón) mas a la derecha.
...y digo 'en esta ocasión', porque si cree VOX que son votos ganados, incurre en el mismo error que Sánchez de asumir, lo puntual como lo firme.

El gran perdedor parece ser Rivera, pero el realidad ellos ya perdieron la oportunidad, cuando decidieron no pactar con el PSOE. Pienso yo, que en las elecciones previas la coalición PSOE-Ciudadanos les otorgaba mayoría absoluta (salvo acuerdo entre ambos extremos, desde luego impensables), y como digo "pienso yo", que era la mejor opción para todos, una unión entre los partidos que se consideran más al centro de ambos bandos. Riverá perdió entonces, al negarse. Desde ese momento, Ciudadanos era la patata caliente que no encajaba en ningún lado (tampoco parecía querer coaligarse con PP, por miedo a que parte de su electorado pensara que ha virado a la derecha y se marchara, cosa por supuesto de la que siempre se les ha acusado (es parte de la estrategia de prácticamente todos los partidos, aunque curiosamente diría que más de la izquierda, acusar a los opuestos con los temores de sus votantes)). En fin Rivera, no ha perdido, más bien ha sido cizallado por el choque de extremos.

Cuando se eleva el tono con acusaciones y promesas extremas (como esa de "Franco ya está, ahora vamos a por los demás..", como si hubiera habido una guerra de la que ellos hubierna salido vencedores), sembrando la discordia y desterrando la paz... el centro de dispersa hacia los extremos. Tengo la sensdación de que caminamos hacia una escalada de odio, abanderada por el discurso izquierdista de 'todos los que no comunguen con nosotros, son fachas y...' a lo que respnde del otro lado (también los otros extremos) con la aparición de VOX.

Me parece extremadamente llamativo, que por ejemplo en el discruso de la izquierda, jamás haya sido nombrado el 'asundo d ela SICAV', tampoco es que haya escuchado todos los discursos, pero es algo de calado profundo, algo imposible de menoscabo... (haciendo cuentas por lo bajo, cada año Hacienda deja de ingresar en las arcas del Estado unos 500.000 millones de euros, en gran parte debido a las SICAV), desde que se 'declaró Crisis'  en el 2008, habria habido dinero, para sufragar todo aquello para lo que ahora dicen que no hay dinero y todavía habría superhavit.


Yo (como siempre me pasa), encuentro dos o tres cosas interesantes en cada partido (incluso de VOX y Podemos), pero el resto detestable y como siempre, me encuentro con que los partidos se aglutinan en 'derecha' o 'izquierda' (incluso 'centro'), peor como jamás veo un partido donde brille la inteligencia y no ideales caducos propios de la propaganda comercial... pués seguiré esperando, porque me parecen todos la misma *****, solo que con distintos colores.

En fin, siento una vez más que no ha ganado nadie, pero hemos perdido todos. Otra vez han creído en promesas y se han tragado discursos cargados de falacias, mentiras, odio y promesas vanas. Cada país tiene lo que merece, y España, pués tampoco iba a ser disitnto, con tanto analfabeto mental dejandose arrastrar por promesas y cuentos chinos... por dar más valor a las palabras que a los hechos.

...al final el 'coletas' ha conseguido lo que quería (vamos, lo que venía llorando a Sánchez), un puesto en la Moncloa... el "ansia viva", tendrá oportunidad de demostrar por fin algo, y no solo bla, bla, bla...
#1272
Programación Visual Basic / Re: VBS a Exe
12 Noviembre 2019, 14:55 PM
Resescribe el código en el IDE de VB6.
Ten en cuenta que VB6 tiene una sintaxis estructurada y no acepta la sintaxis de VBS, que como todos los lenguajes de script, más o menos precisan mantener una sintaxis de espagueti precisamente por ser lenguajes interpretados y tener que traducir/ejecutar al vuelo.

Si no es un virus, no hay nada que temer... a todos nos ha pasado que algún que otro ejecutable un antivirus se empeña en que es un virus, simplemente porque detecta algún patrón que coincide con la firma de algún virus... pásalo por la página de Virustotal.com y a ver como responden, de no ser un virus, para ellos será una 'novedad' que estudiarán más a fondo y descubrirán que no es un virus...

...y si realmente es un virus, y quieres hacerlo pasar como que no, pués tendrás que usar cierto ingenio, el caso dependerá precisamente dle detalle que sea preciso 'ingeniar'...
#1273
Cita de: Machacador en 10 Noviembre 2019, 20:34 PM
Never... hindú son los practicantes del hinduismo... y no todos los indios de la India lo son...
Es otra acepción válida, pero también hindú, es cualquier habitante de la península del Hindostán (o Indostán, ambos palabros son correctos).



Cita de: Eternal Idol en 10 Noviembre 2019, 21:01 PM
Asi que Evo hizo trampa, no, si lo dice NEBIRE o la OEA yo les creo todo, especialmente a los pobres de derecha les creo absolutamente todo y espero ansioso sus opiniones.
No lo tiene que decir nadie...

Es suficiente prueba el hecho de que se cierren las mesas con unos resultados y se continúe el recuento al día siguiente con un repentino 'zarpazo' de votos salido de la nada a su favor.
¿Por qué cerrar las mesas y continuar al día siguiente?. Esencialmente para tener la oportunidad de hacer las trampas. Ni más ni menos.
#1274
Cita de: Eternal Idol en 10 Noviembre 2019, 15:44 PM
Va a ganar de nuEvo  ;D
Si vuelve a hacer trampas, sin duda que volverá a ganar.
Si no las hace estará más reñido que lo estaba antes, incluso podría perder. Gracias a sus trampas, ahora tiene más gente en contra.


Cita de: MCKSys Argentina en 10 Noviembre 2019, 15:51 PM
Aborigen. Los indios son de la India...
La RAE en su 3ª y 4ª acepción para indio, dice:
3. adj. Dicho de una persona: De alguno de los pueblos o razas indígenas de América. U. t. c. s.
4. adj. Perteneciente o relativo a los indios de América. Traje indio. Lengua india.

Yo prefiero llamar hindú a los nativos de la India, aunque técnicamente también incluye a los nativos de Paquistán y Nepal (por ejemplo). E indio a los nativos de América.
#1275
Eso se llaman ventanas MDI (Interfaz de Multiples Documentos).

Crea un proyecto vacío y luego:
Menú Proyecto --> Agregar Windows Forms --> Formulario Primario MDI y le das a aceptar.

Las ventanas MDI, generalmente se hacen para contener múltiples instancias de una misma ventana... es decir si por ejemplo tienes una aplicación que (por ejemplo) es un procesador de textos, pues en esa misma ventana puedes tener múltiples instancias de dicha ventana tratando cada una un texto/fichero de texto distinto...

También puedes crear un formulado de tipo MDI, cambiando la propiedad "IsMDIContainer = TRUE", pero al hacelro de la otra forma ya te proporciona cierto código hecho que quizás puedas aprovechar.

Puedes tener tantas ventanas hijas como qieras y de tantos modelos como quieras, aquí un simple código para tener múltiples instancias de 2 modelos de ventanas de ejemplo...
Código ( vbnet) [Seleccionar]

Private f_CalCount As Integer
Private Sub Form1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form1ToolStripMenuItem.Click
   Dim FrmCalendar As New Form1   'New System.Windows.Forms.Form

   FrmCalendar.MdiParent = Me
   f_CalCount += 1
   FrmCalendar.Text = "Calendario " & f_CalCount
   FrmCalendar.Show()
End Sub

Private f_ToolCount As Integer
Private Sub Form2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form2ToolStripMenuItem.Click
   Dim FrmTool As New Form2   'New System.Windows.Forms.Form

   FrmTool.MdiParent = Me
   f_ToolCount += 1
   FrmTool.Text = "Herramientas " & f_ToolCount
   FrmTool.Show()
End Sub

Y aquí una imagen de como se vería tras añadir algunas instancias de cada una...



P.d.: Desde WPF, la verdad es que nunca he tenido la necesidad de crear una interfaz MDI, así que no sabría decirte cuan distinto resulta...
#1276
Cita de: El_Andaluz en  8 Noviembre 2019, 14:01 PM
... esta claro que el cambio del clima esta haciendo que por todo el mundo haya plagas de ratas...
Esto no cabe achacarlo al cambio climático, si no más bien a asuntos de internacionalización.  ...desplazamiento de mercancías básicamente.
Cualquier avión, barco, contenedor chino (asíatico por extensión), puede portar sin saberlo (o sabiéndolo pero sin importarle nada), polizones en la forma de dichas ratas, una vez atracados en un destino, las ratas son libres de circular y extenderse a sus anchas.
En este caso el clima, basta que sea similar al de origen de procedencia, donde puedan adaptarse fácilemtne si no hay cambios bruscos.
#1277
Cita de: CalgaryCorpus en  7 Noviembre 2019, 22:34 PM
El enunciado no indica que los vectores que se ingresan estan ordenados, que parece ser asumido por las soluciones presentadas.

Refundir un contenido sin ordenar, supone una de tres cosas:
A ) Se concatena el contenido de ambios arrays y luego se ordena ese array.
E perfectamente válido pero no es lo que se solicita en el enunciado.
Es trivial este caso, siendo el ejercicio de un estudiante carece de interés, porque no ofrece nada más interesante que ordenar un array.
Si el estudiante está tratando de aprender a concatenar arrays, ordenarlo después es exigirle en tal momento demasiado.
Si el estudiante ya sabe ordenar un array, concatenar dos arrays, debe serle sencillo pero dicha trivialidad distrae de lo que realmente se trata de enseñar/aprender.




B ) Los arrays no están ordenados, pero todavía se refunde ordenadamente.
Este caso, es bastante más ineficaz de cara al rendimiento, pués para ordenar sobre la marcha, ambos arrays, no se presta fácilmente cualquier algoritmo.
Los más aptos son aquellos que en cada iteración van dejando ordenado uno de sus extremos, como es el caso por ejemplo del algoritmo 'Selection Sort'.
Mezclar el algortimo de refundición (que en sí mismo es un algoritmo de ordenamiento), con otro de ordenamiento, solo oscurece el código resultante al tiempo que se le priva de la eficacia de 'pasar' previamente los arrays por un algoritmo más eficiente.

De todos modos, para despejar dudas se propone una implementación en pseudocódigo para este caso, es básicamente el pseudocódigo anterior mezclado con el algoritmo selection sort.
El algoritmo 'Selection-sort' es el que mejor acomoda a la situación sin complicar en exceso el algoritmo final, dado que 'Selection' puede entenderse como un algoritmo de dos pasos:

Puede exhibirse un caso procediendo con la refundición estando aún los arrays desordenados, para ello, se procede a buscar los elementos mayores (o menores en sendos arrays).

entero j, k, n, sizeA, sizeB
entero vA, vB, tmp

sizeA = size(arrayA)
sizeB = size(arrayB)

entero arrSalida(0 a sizeA + sizeB -1)

// buscar el mayor en el arrayB, entre la posición tmp (K) y sizeB, e intercambiar valores entre las posiciones tmp y k.
tmp = k
vB = BuscarValorMayor(arrayB, tmp, sizeB)
arrayB(tmp) = arrayB(k): arrayB(k) = vb // poco a poco se va ordenando el arrayB

Hacer mientras (limite = 0)
    // buscar el mayor en el arrayA, entre la posición tmp (j) y sizeA, e intercambiar valores entre las posiciones tmp y j.
    tmp = j
    vA = BuscarValorMayor(arrayA, tmp, sizeA)
    arrayA(tmp) = arrayA(j): arrayA(j) = vA  // poco a poco se va ordenando el arrayA

    Hacer mientras (vA => vB)
        arrSalida(n) = vA
        n +=1
        j +=1
        si (j> sizeA)
            limite=1        // señalaría que el arrayB debe depositar lo que reste en salida
            // podría hacerse aquí, pero queda más claro si se hace fuera de ambos bucles.
            salir del bucle
        fin si

        tmp = j
        vA = BuscarValorMayor(arrayA, tmp, sizeA)
        arrayA(tmp) = arrayA(j): arrayA(j) = vA   
    repetir   
   
    si limite = 0
        Hacer mientras (vB > vA)
            arrSalida(n) = vB
            n +=1
            k +=1
            si (k> sizeB)
                limite=2        // señalaría que el arrayB debe depositar lo que reste en salida
                // podría hacerse aquí, pero queda más claro si se hace fuera de ambos bucles.
                salir del bucle
            fin si

            tmp = k
            vB = BuscarValorMayor(arrayB, tmp, sizeB)
            arrayB(tmp) = arrayB(k): arrayB(k) = vb   
        repetir
    fin si
repetir

Si limite = 1
    bucle para k desde k hasta sizeB
        tmp = k
        vB = BuscarValorMayor(arrayB, tmp, sizeB)
        arrayB(tmp) = arrayB(k): arrayB(k) = vb
        arrSalida(n) = vB
        n +=1
        k +=1
    siguiente
sino // limite = 2
    bucle para j desde j hasta sizeA
        tmp = j
        vA = BuscarValorMayor(arrayA, tmp, sizeA)
        arrayA(tmp) = arrayA(j): arrayA(j) = vA

        arrSalida(n) = vA
        n +=1
        j +=1
    siguiente
fin si


A continuación se presenta el algoritmo SelectionSort  expuesto en la forma de dos pasos, para terminar de entender como opera.
No obstante se puede ver como complica innecesariamente acometer el ordenamiento de ambos arrays al tiempo que se procede con la refundición y como decía, al tiempo que se priva ordenar ambos arrays por un algoritmo mucho más eficiente.
La máxima 'divide y vencerás', no es trivial en programación...

He aquí el algoritmo expuesto en esos dos pasos...
Se propone al tiempo dos parámetros para ordenar solo un rango específico del array (pués no lo hace distintto ni más complejo), y que, en caso del rango completo sus valores serán 0 y el tamaño del array -1.

Funcion Selectionsort(array de enteros Matriz(), entero Min, entero Max )
    entero k, t
   
    Hacer mientras (Min < Max)
        k = Min
        t = BuscarValorMayor(Matriz, k, Max)   // 'k' es pasado por referencia, con lo que a su vuelta es contiene el índice que ocupa el valor devuelto.
        Matriz(k) = Matriz(Min): Matriz(Min) = t
       
        Min += 1
    Siguiente
Fin funcion


Y aquí la funció que localiza el mayor en un array, que tampoco tiene más complejidad...
Baste decir que por eficiencia, devuelve tanto el valor como el índice de dicho valor.

entero = Funcion BuscarValorMayor(array de enteros Matriz(), entero *Desde , entero Hasta)
    entero i, v
   
    v = Matriz(Desde)
    i = (Desde + 1)
    Hacer mientras (i <= Hasta)
        Si (Matriz(i) > v) Then      // si enésimo es mayor que el actual mayor...
            Desde = i: v = Matriz(i) // recordamos índice y valor.
        fin si
        i += 1
    Siguiente
   
    devolver v
Fin funcion

Por razones de eficiencia es habitual no separar el algoritmo en dos funciones sino hacer la búsqueda del mayor/menor en el rango restante, in situ, razón quizás por la que no se repare en su sencillez.





C ) Que ambos arrays deben estar ordenados antes de proceder a la refundición.
Así que sí, es razonablemente correcto asumir por defecto este caso.
Bien es cierto, que faltaba una aclaración al respecto al menos, aunque debiera ser deducible por el interesado.

#1278
Lo primero es que la respuesta de Android me parece acertada, aunque quizás exagerada a veces.. quiero decir que el usuario puede elegir que aplicaciones tratar de modo privilegiadas para que se mantengan en segundo plano sin cerrarse. Aunque esto, eviendentemente no soluciona tu caso, ya que lo deja en manos del usuario... si la considera lo suficientemente importante la marcaría y si no, no.

Otra opción más interesante aún por parte de Android, sería tener alguna casilla que al marcarla permitiera mantenerla en segundo plano, debería ser preferiblemente una acción hardware, porque si no cualquiera se la saltaría a la torera... así que no va hacer el caso. La diferencia del caso previo, es en el previo, el usuario elegiría las aplicaciones desde 'Ajustes', por lo que sería ianlterable hasta que el usuario de nuevo las cambiara... este otro modelo, sería al instante (sin necesidad de ir a ajustes) y solo tendría efecto hasta que el usuario cerrase él mismo la aplicación.

Si no recuerdo mal, una aplicación declarada como servicio, se mantiene en segundo plano, salvo que el propio usuario la cierre. Declarar una aplicación como servicio, tiene sus requisitos... si no los cumples es mejor que tampoco lo fuerces.

Una solución mejor sería prever por tu parte la posibilidad de que Android la cierre, así que lo adecuado sería guardar correctamente TODO el estado actual, salvo que el estado, sea un estado crítico de seguridad, que en tal caso, no conviene guardar, si no tener un punto anterior guardado para acometer ese proceso de una sola pasada o rechazarlo...

Una opción intermedia, aunque indeseable, sería guardar cada cierto tiempo el  estado del programa, ante un cierre inesperado siempre se podrá rescatar desde la última vez que guardaste y continuar desde allí. Pero sería el caso más desafortunado.
#1279
Programación General / Re: el futuro ahora
8 Noviembre 2019, 03:26 AM
El lenguaje del futuro está aún por inventarse y salir.

Definitivamente no puede ser un solo lenguaje porque hay diferentes tecnologías, que básicamente están enfrentadas y cada una pugnará por lo 'suyo'.

Yo te diría que no pierdas tiempo en una diversidad de lenguajes. si yas aprendido lo básico de varios, ahora céntrate y profundiza en solo uno o dos...
Para los entornos windows, sin duda C#.
Para los entornos Linux, sin duda Java.

Luego elige también el ámbito donde te sientes más cómoda, si redes, Sistemas operativos, estructuras y algoritmos, Bases de datos, gráficos, sonido, criptografía, IA, etc... y te epecializas más a fondo en ello. Nota la diferencia entre lenguaje y el ámbito destino. El lenguaje refiere la 'capacidad de solución', el ámbito de destno, el 'origen del problema' que requiere soluciones...

Como ahora Google se ha 'desprendido' como un iceberg, de Java, por las pegas que Sun... pues hay un manantial sangrante y se sucederán diferentes lenguajes en los próximos años, en el entorno de la tecnología móvil, hasta que la 'herida' se cierre... El teléfono móvil lo que menos es ya es un teléfono y cada vez más un 'ordenador de bolsillo'...

Pero ninguno es definitivo, en un futuro a medio plazo, se avecinan muchos cambos por luchas estratégicas y control del espionaje, lo que forzará cada vez más a sacar más plataformas distintas por países y que a su vez supondrá el nacimiento de nuevos S.O. y lenguajes...

Hubiera sido ideal concentrar todo el esfuerzo internacional en un único lenguaje y yo propondría en tal caso Eiffel, aunque la versión actual tiene algunos bugs de bulto... pero a causa de los dilemas políticos, una solución así parece irreconciliable y por tanto como ya dijo, Jean Sammet allá por el 66, "...los próximos 1500 lenguajes..."
#1280
No había recalado en este tema y sin haber leído dicha ley al menos la parte que se dice principal, estoy de acuerdo...
Citar
la implicación más grande
del texto aprobado, que entra en vigor hoy martes es que se obliga a que todos los servidores que hagan uso de ciertos datos de las administraciones públicas españoles estén localizados en territorio comunitario de la Unión Europea.

Y estoy de acuerdo, no tanto por el asunto 'catalodestroyer', sino por sentido común. Los datos de un gobierno no deberían ser mantenidos en un país distinto al propio. Yo incluso veo demasiado laxo esa extensión a 'la comunidad europea'...

Un gobierno debe responsabilizarse de los datos de sus ciudadanos y el único modo de poder garantizarlo, es que la custodia de los datos se guarden precisamente en el propio país... mientras estén en 'la nube', no existe custodia ninguna, solo la creencia de que lo es... hasta que en un futuro quien realmente tenga el poder de 'la nube' (o mejor dicho la capacidad de acceso y control de los datos en destino), tenga intereses en manipularlos, secuestrarlos, destruirlos, etc...