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 - MauriH

#1
Cita de: Eleкtro en 20 Enero 2016, 02:18 AM
Lo primero lo puedes hacer con el Notepad mismo, Archivo -> Guardar Como... -> codificación: UTF-8

Gracias por la respuesta, justamente utilizo el notepad++ lo que quiero es lo primero q dijiste, pero en masa, tengo 17583 ficheros que quiero convertir de ansi a utf-8, si lo hago manualmente no termino nunca.

Mira, lo que ocurre en si, es que esos 17583 archivos son creados a partir de la captura de ciertas lineas de otro documento de texto que es muy largo y esta codificado en utf-8, con un script hecho en ruby que fue creado en notepad++ por tanto tb esta codificado en utf-8, de todos modos en la parte superior pongo el comentario magico #encoding: utf-8, lo que hace es practicamente copiar fragmentos del documento largo, y crear nuevos archivos con extension html para guardar esos fragmentos, lo cuales son documentos html que tienen la etiqueta <meta charset="utf-8">. Una vez hecho esto los documentos html al ser mostrados en el navegador no muestran algunos caracteres correctamente como el simbolo de interrogación abierto. Solo se ven unos cuadraditos en Internet Explorer. Claro, yo habia pensado en fragmentar el archivo largo convirtiendo la codificación a ANSI con el notepad++ para que salgan bien los carateres y luego una vez creados los archivos html en ANSI convertirlos a utf-8, pero creo q debe haber una mejor manera de hacer eso, algo así como un codigo que directamente al crear el archivo te salga en utf-8 y te muestre correctamente los caracteres. Espero haberme explicado bien.
Gracias.
#2
Por favor alguien ayúdeme, no puedo cambiar la codificación de carácteres de un archivo de texto, de ANSI a UTF-8, :-\ tengo instalado el interprete de ruby. Tengo conocimientos básicos en este lenguaje. He investigado pero no he encontrado mucha info en español y la que he encontrado no me ha servido. Gracias de antemano.
#3
Cita de: EleKtro H@cker en 14 Octubre 2013, 04:37 AM
@MauriH

Vuelve a leer este post hasta el final: http://foro.elhacker.net/net/libreria_de_snippets_posteen_aqui_sus_snippets-t378770.0.html;msg1891125#msg1891125

Solo quiero decir una cosa:

Un millón de gracias!!  ;D
Estuve averiguando y al parecer tengo q usar Visual Studio para utilizar los codigos posteados o me equivoco?

Saludos.
#4
Cita de: EleKtro H@cker en 13 Octubre 2013, 03:55 AM
Este código reemplaza una palabra en un string, por una secuencia numérica:

Código (vbnet) [Seleccionar]
#Region " Replace Word (Increment method) "

   ' [ Replace Word (Increment method) ]
   '
   ' // By Elektro H@cker
   '
   ' Examples :
   ' MsgBox(Replace_Word_By_Increment("Hello World!, Hello World!", "Hello", , 3)) ' Result: 001 World!, 002 World!

   Private Function Replace_Word_By_Increment(ByVal str As String, _
                                              ByVal replace As String, _
                                              Optional ByVal IgnoreCase As System.StringComparison = StringComparison.CurrentCulture, _
                                              Optional ByVal DigitLength As Long = 0) As String

       Dim str_split() As String = str.Split
       Dim replacement As String = Nothing
       Dim IndexCount As Long = 0

       DigitLength = If(DigitLength = 0, replace.Length, DigitLength)

       For Item As Long = 0 To str_split.LongCount - 1

           If str_split(Item).Equals(replace, IgnoreCase) Then

               replacement &= Threading.Interlocked.Increment(IndexCount).ToString

               While Not replacement.Length >= DigitLength
                   replacement = replacement.Insert(0, "0")
               End While

               str_split(Item) = replacement
               replacement = Nothing

           End If

       Next Item

       Return String.Join(Convert.ToChar(Keys.Space), str_split)

   End Function

#End Region



Este código reemplaza un patrón de búsqueda en un string, por una secuencia numérica:

Código (vbnet) [Seleccionar]
#Region " Replace String (Increment method) "

    ' [ Replace String (Increment method) ]
    '
    ' // By Elektro H@cker
    '
    ' Examples :
    ' MsgBox(Replace_String_By_Increment("Hello World!, Hello World!", New System.Text.RegularExpressions.Regex("Hello\sWorld", RegexOptions.IgnoreCase), 3)) ' Result: 001!, 002!

    Private Function Replace_String_By_Increment(ByVal str As String, _
                                                 ByVal replace As System.Text.RegularExpressions.Regex, _
                                                 Optional ByVal DigitLength As Long = 0) As String

        DigitLength = If(DigitLength = 0, replace.ToString.Length, DigitLength)

        Dim IndexCount As Integer = 0
        Dim replacement As String = Nothing
        Dim matches As System.Text.RegularExpressions.MatchCollection = replace.Matches(str)

        For Each match As System.Text.RegularExpressions.Match In matches

            replacement &= Threading.Interlocked.Increment(IndexCount).ToString

            While Not replacement.Length >= DigitLength
                replacement = replacement.Insert(0, "0")
            End While

            str = replace.Replace(str, replacement, 1, match.Index - (match.Length * (IndexCount - 1)))
            replacement = Nothing

        Next

        matches = Nothing
        replacement = Nothing
        IndexCount = 0
        Return str

    End Function

#End Region


Disculpen la ignorancia, apenas conozco algo de batch, este codigo me interesa, pero la verdad es q no sé como utilizarlo, q se supone q debo hacer con el codigo? lo copie a un archivo de texto y le puse la extension .vbs, hice bien? crei q funcionaría como un batch, lo ejecuté y me salio error de compilación o algo así, por favor q alguien me ayude  :-\
#5
Ayuda, tengo una consulta, por favor,

Como podría hacer con un batch reemplazar una palabra por una secuencia de números, por ejemplo si quiero reemplazar la palabra "amigo":

Texto de entrada:

texto texto texto amigo texto y más texto
texto amigo texto y más textoamigo
amigotexto y más texto.

Salida:

texto texto texto 0001 texto y más texto
texto 0002 texto y más texto0003
0004texto y más texto.

Gracias,
Saludos.
#6
Buena aplicación, a mi me sirvió de mucho para pasar cuestionarios a codigo html, es facil de usar y hace lo q promete.
;-)
#7
@EleKtro H@cker

Entiendo lo q dices, hice una modificación de mi anterior comentario, una muy pequeña, leelo y dime q opinas, gracias de nuevo.

Saludos.
#8
@EleKtro H@cker

Siento decirte q aun no me funciona como quisiera, me sigue marcando varias opciones como correctas en la misma pregunta, y algunas no me marco nada. Pienso q de pronto lo q esta haciendo es buscar la primera linea, encuentra la coincidencia y luego busca la segunda linea a partir de la primera coincidencia marcada, pero la tercera q deberia buscar a partir de la 2 coincidencia marcada sigue buscando a partir de la primera, no sé si me equivoco, pero aun estoy en problemas. Gracias por el interés, pero aún no doy con la solución, espero tu puedas.  :-[

Modifico:

Bueno acabo de revisar minuciosamente lo q hizo el codigo y me di cuenta de dos cosas, hizo lo q te dije en mi parrafo anterior, y la otra es q al parecer esto del Batch da para mucho, así q tuve una nueva idea para q eso no vuelva suceder, idea q por supuesto no podré lograr sin tu ayuda. Así q aqui te adjunto una extracto de ambos archivos tal y como son:



Preguntas.txt


#En la evaluación preoperatoria de un paciente ASA I de 30 años es indispensable:
• Solicitar un ECG de rutina
• Rx de tórax
• Realizar un examen clínico completo
• Solicitar un coagulograma de rutina
• Todas
#La detención súbita y completa de circulación se expresa:
• Midriasis a los 60 seg.
• Por pCO2 en sangre arterial baja
• Por acumulo de acido láctico en los tejidos periféricos
• Respiración boqueante o apnea
• Todas
#El masaje cardiaco externo puede producir un cierto grado de flujo sistémico y pulmonar por:
• Acción de la bomba cardiaca y torácica durante las compresiones
• Diferencias de presión entre la aurícula y el ventrículo
• Diferencias de presión aortico pulmonares
• Mecanismo valvular aortico
• Ninguna
#Cual es la conducta terapéutica en UTI en el síndrome de Stokes Adams:
• Atropina
• Beta adrenergicos
• Inserción de marcapaso definitivo
• Isoproterenol
• Todas
#La toxicidad de los anestésicos locales por lo general se debe:
• Uso de concentraciones altas de anestésicos
• Absorción rapida en un sitio vascularizado
• Inyección intravascular inadvertida
• Al uso de dosis excesivas
• Todas


Respuestas.txt


• Realizar un examen clínico completo
• Todas
• Acción de la bomba cardiaca y torácica durante las compresiones
• Isoproterenol
• Todas


Mi Archivo de salida fue:


#En la evaluación preoperatoria de un paciente ASA I de 30 años es indispensable:
• Solicitar un ECG de rutina
• Rx de tórax
nothing• Realizar un examen clínico completonothing
• Solicitar un coagulograma de rutina
nothing• Todasnothing
#La detención súbita y completa de circulación se expresa:
• Midriasis a los 60 seg.
• Por pCO2 en sangre arterial baja
• Por acumulo de acido láctico en los tejidos periféricos
• Respiración boqueante o apnea
nothing• Todasnothing
#El masaje cardiaco externo puede producir un cierto grado de flujo sistémico y pulmonar por:
nothing• Acción de la bomba cardiaca y torácica durante las compresionesnothing
• Diferencias de presión entre la aurícula y el ventrículo
• Diferencias de presión aortico pulmonares
• Mecanismo valvular aortico
• Ninguna
#Cual es la conducta terapéutica en UTI en el síndrome de Stokes Adams:
• Atropina
• Beta adrenergicos
• Inserción de marcapaso definitivo
nothing• Isoproterenolnothing
• Todas
#La toxicidad de los anestésicos locales por lo general se debe:
• Uso de concentraciones altas de anestésicos
• Absorción rapida en un sitio vascularizado
• Inyección intravascular inadvertida
• Al uso de dosis excesivas
• Todas


Archivo Final requerido:


#En la evaluación preoperatoria de un paciente ASA I de 30 años es indispensable:
• Solicitar un ECG de rutina
• Rx de tórax
nothing• Realizar un examen clínico completonothing
• Solicitar un coagulograma de rutina
• Todas
#La detención súbita y completa de circulación se expresa:
• Midriasis a los 60 seg.
• Por pCO2 en sangre arterial baja
• Por acumulo de acido láctico en los tejidos periféricos
• Respiración boqueante o apnea
nothing• Todasnothing
#El masaje cardiaco externo puede producir un cierto grado de flujo sistémico y pulmonar por:
nothing• Acción de la bomba cardiaca y torácica durante las compresionesnothing
• Diferencias de presión entre la aurícula y el ventrículo
• Diferencias de presión aortico pulmonares
• Mecanismo valvular aortico
• Ninguna
#Cual es la conducta terapéutica en UTI en el síndrome de Stokes Adams:
• Atropina
• Beta adrenergicos
• Inserción de marcapaso definitivo
nothing• Isoproterenolnothing
• Todas
#La toxicidad de los anestésicos locales por lo general se debe:
• Uso de concentraciones altas de anestésicos
• Absorción rapida en un sitio vascularizado
• Inyección intravascular inadvertida
• Al uso de dosis excesivas
nothing• Todasnothing

Mi idea es la siguiente:
Como ves todas las opciones comienzan con una Viñeta (•), las preguntas en cambio tienen el simbolo numeral (#). Entonces quisiera poder hacer q el batch busque la primera linea de Respuestas.txt en Preguntas.txt, desde la primera linea q comience con #, y marque la primera coincidencia, luego q busque la segunda linea de Respuestas.txt desde la 2° linea q comience con # en preguntas.txt, y luego la tercera y así sucesivamente. Gracias por toda la ayuda, disculpa las molestias, te estaré eternamente agradecido.

Saludos.
#9
@EleKtro H@cker

Pues verás básicamente si, esa es una de las ideas q tuve para evitar q se marcaran por error dos opciones como correctas en una misma pregunta. La otra idea es q una vez q sea encontrada una coincidencia en el archivo de preguntas, ya no siga buscando, por que ahorita eso es lo q hace, busca una linea en todo el archivo de preguntas y marca todas las coincidencias q encuentra, pero yo quisiera q solo marque la primera y así se evitaría marcar otras opciones q no son correctas, y si se podría hacer q la segunda linea del archivo de preguntas comenzase a buscar partir de la coincidencia marcada por la primera seria genial, bueno eso es lo q se me ocurrió, pero en verdad no pude lograrlo escribiendo código, recién llevo poco tiempo practicando batch. Es q como te dije hay muchas opciones q se repiten en el archivo de preguntas y no necesariamente son correctas. Hay q tener en cuenta q todas las preguntas tienen una sola opción correcta y q hay exactamente la misma cantidad de preguntas en el archivo de preguntas como lineas en el archivo de respuestas, por ejemplo si tengo 600 preguntas, tengo 600 respuestas (en 600 lineas) y estas están en el mismo orden.
:¬¬ Gracias.

PD. Te parece si te envío los archivos de preguntas y respuestas para q puedas ver su estructura?
#10
Cita de: EleKtro H@cker en 23 Septiembre 2013, 20:33 PM
@MauriH

Código (dos) [Seleccionar]
@Echo OFF

Set "Questions=C:\Preguntas.txt"
Set "Answers=C:\Respuestas.txt"

Set "Prefix=nothing"
Set "Suffix=nothing"

FOR /F "Usebackq Delims=" %%R IN ("%Answers%") DO (
FOR /F "Usebackq Delims=" %%P IN ("%Questions%") DO (
(
If /I "%%R" EQU "%%P" (Echo %PREFIX%%%P%SUFFIX%) Else (Echo %%P)
)>>"%TEMP%\Questions.tmp"
)
Move /Y "%TEMP%\Questions.tmp" "%Questions%" 1>NUL || (Echo ERROR al reemplazar archivo & Goto :OnError)
)

:OnError
Pause&Exit


PD: Antes de usar haz una copia del archivo original por precaución.

Saludos!

Hola, me parece muy bueno el codigo, gracias por la pronta respuesta  ;-), nada más tengo el problema de q busca cada linea del archivo de respuestas en todo el archivo de preguntas y marca todas las coincidencias, y eso no es bueno ya q muchas veces las opciones se repiten en varias preguntas (por ejemplo la ultima opción en las preguntas 3, 4 y 5) y no necesariamente son correctas todas, eso provoca q se marquen 2 o más opciones como correctas. Lo q quisiera es q una vez q encontró una coincidencia ya no siga buscando y pase a buscar la siguiente linea del archivo de respuestas, en el archivo de preguntas, pero q continue buscando a partir de donde se quedó en archivo de preguntas y no desde el principio.
No sé si me explique correctamente y tampoco sé si tal cosa es posible, espero vuestras respuestas. Muchas gracias por la ayuda.