Daniel

Respuestas de foro creadas

Viendo 31 entradas - de la 1 a la 31 (de un total de 31)
  • Autor
    Entradas
  • en respuesta a: Contratar consultoría #2225
    DanielDaniel
    Participante

    Buenas tardes,

    ¿podrían responderme?

     

    Gracias

    Loading spinner
    en respuesta a: Cambiar icono #2192
    DanielDaniel
    Participante

    Me respondo a mi mismo.

    Cambiar la propiedad :cIcon de la TwebPage() principal.

    Saludos

    Daniel

    Loading spinner
    en respuesta a: Error Complando Nefele_samples 1-4-0-0 #1924
    DanielDaniel
    Participante

    Pedro,

    Ahora si enlazó correctamente y tengo funcionando nefele_samples

    Muchas gracias por tu ayuda

    Saludos

    Loading spinner
    en respuesta a: Error Complando Nefele_samples 1-4-0-0 #1920
    DanielDaniel
    Participante

    Pedro,

    Muchas gracias por tu ayuda. El error inicial desapareció, pero ahora tengo un nuevo mensaje también al enlazar.

    Error2 nefele_samples

    Desde ya muchas gracias

    Daniel

    Loading spinner
    en respuesta a: Apache no ejecuta #1774
    DanielDaniel
    Participante

    Gabriel,

    El puero de escucha se lo cambié al TS-PLUS para liberar el 443 haciendo esto:  (puede variar según la versión que tengas), abres el AdminTool del TS-PLUS, ahí hay una opción que se llama WEB, dentro de esa hay una opción que se llama "HTTP/HTTPS Port Numbers" la cual permite cambiar los números de puertos a utilizar.

    Una vez cambiado, reinicias el equipo.

    Saludos

    Loading spinner
    en respuesta a: Alinear imágenes #1652
    DanielDaniel
    Participante

    Fredy,

    Muchas gracias. Lo estudiaré.

    Saludos

    Loading spinner
    en respuesta a: Servidor SSL #1595
    DanielDaniel
    Participante

    Fredy,

    Quedó funcionando perfecto.

    Muchas gracias

    Loading spinner
    en respuesta a: Servidor SSL #1582
    DanielDaniel
    Participante

    Hola Foro,

    Estoy probando por primera vez SSL y ya tengo funcionando correctamente el acceso por https://.....

    Ahora bien, siguiendo los consejos detallados en este hilo, e intentado hacer la redirección http a https pero no lo logro.

    He utilizado tanto la forma de Xevi como la de Pedro y ninguna me hace la redireccion, está claro que luego de cada cambio en httpd.conf reinicio Apache.

    Lo que he hecho es copiar y pegar las instrucciones ofrecidas, pero no se si es que, el contenido de dichas instrucciones dependen de cada servidor o deben ser colocadas en determinado lugar del httpd.conf  u otra razón, para que funcione bien.

    También he revisado el enlace que suguiere Alfredo pero me vi "superado".

    Agradecería cualquier orientación

    Un saludo

    Daniel

    Loading spinner
    en respuesta a: Personalizar textos en wItemListView #1460
    DanielDaniel
    Participante

    Xevi,

    Muchas gracias por la aclaración.

    Un saludo

    Loading spinner
    en respuesta a: Personalizar textos en wItemListView #1458
    DanielDaniel
    Participante

    Xevi,

    Funcionó perfecto.

    Disculpa mi ignorancia, ¿dónde podría obtener una "lista" de esos comandos?

    Muchas gracias

    Loading spinner
    en respuesta a: Apache no ejecuta #1405
    DanielDaniel
    Participante

    Resuelto.

    Resulta que en ese servidor hay otro servicio que "escucha" el puerto 443, por suerte dicho servicio admite cambiarle el puerto facilmente.

    Por si a alguno le sirve el dato, ese servico es TS-Plus, un servidor de escritorio remoto al cual tambien se puede acceder por web.

     

    Saludos

    Loading spinner
    en respuesta a: Url completa #1349
    DanielDaniel
    Participante

    Alfredo

    No conocía HTTP_REFERER.

    Lo probé y fui consultando  con oCGI:Console() y veo que solo HTTP_REFERER ya contiene todo el texto de la Url "original", así que quedó funcionando con esto

    Muchas gracias por la ayuda

    Loading spinner
    • Esta respuesta fue modificada 4 años, 1 mes por DanielDaniel.
    en respuesta a: Signo monetario en un wBadge #1346
    DanielDaniel
    Participante

    Gracias Pedro,

    Saludos

    Loading spinner
    en respuesta a: Pasaje de parámetros al CGI #1302
    DanielDaniel
    Participante

    Gracias Alfredo,

    Lo probaré.

    Saludos

    Loading spinner
    en respuesta a: Listas dentro de listas #1192
    DanielDaniel
    Participante

    Ante todo muchas gracias por vuestra ayuda.

    Algunos comentarios:

    Respecto a los ejemplos autocontenidos estoy totalmente de acuerdo, en el caso que puse, me ganó la ansiedad de poder compratir "algo" luego de tanta ayuda que he recibido y una vez que lo tuve andando copié y pegué sin más. Para la idea de "ejemplos de usuario" va mi +1

    En cuanto a las ñÑ çÇ y tildes, he observado que dentro de los prg que fuí creando, como algunos de ellos, salieron de copio y pego de los ejemplos y otros los creé de cero, tenía diferencia en la codificación, estando tanto en ANSI como en UTF-8, lo que explica porqué en algunos casos los caracteres en cuestón se ven bien y en otros no. Para traer y mostrar datos de un DBF (viejito de la época de MS-DOS) la solución que apliqué fue:

    StrToXml(OEMToAnsi(familias->detalle), teniendo el PRG en UTF-8

    Por último, comparto la alegría que sentí en el momento que mi primer aplicación con Néfele quedó funcional, es algo muy sencillo pero cumple con su cometido. Descontando el tiempo de aprendizaje, el ensayo y error y los largos minutos que invertí en elegir el aspecto (colores, fonts, etc.), podría decir que me tomó tan solo 1 hora de trabajo, sin saber absolutamente nada del mundo web.

    Mis felicitaciones al equipo Néfele por lo que están haciendo.

    Daniel

    Loading spinner
    en respuesta a: Listas dentro de listas #1157
    DanielDaniel
    Participante

    Me respondo y les envío un pequeño aporte

    He podido realizar una lista dentro de otra y comparto el código, seguramente se podrá hacer mucho mas linda pero bueno, paso a paso.

    Lo que no me funciona es que las Ñ, ñ y los tildes se muestren correctamente, ¿cual es el truco?

    Loading spinner
    en respuesta a: Variables publicas #1150
    DanielDaniel
    Participante

    Exelente, comprendido

    Muchas gracias

    Un saludo

    Loading spinner
    en respuesta a: Variables publicas #1146
    DanielDaniel
    Participante

    Muchas gracias por tu respuesta.

    Aver si voy entendiendo. Si bien nuestro programa estará formado por varios prg, cada uno de ellos tiene sus propias variables y para compartir los valores de las mismas entre unos y otros debemos utilizar los métodos mencionados, dado que los valores de las mismas néfele los guarda en "algún lugar" como para que sean visibles "como si fueran púbicas"; lo que me hace pensar que cada acción del usuario, como por ejemplo pulsar un boton o elejir una opción de un menú, ejecuta nuevamente nuestro cgi.

    ¿es así?

    Loading spinner
    en respuesta a: No comprendo ejemplo #1134
    DanielDaniel
    Participante

    Perfecto, comprendí.

    Muchas gracias por tu tiempo.

    Saludos

     

    Loading spinner
    en respuesta a: No comprendo ejemplo #1131
    DanielDaniel
    Participante

    xhermita,

    Muchas gracias por tu explicación. Al no saber nada de Json se me hace medio difícil comprender, pero mas hayá de eso, lo que nunca había visto es esta forma de llamar una función RecuperaBBDD()["Familias"], hasta donde yo sabía los parámetros siempre se ponen dentro de los paréntesis.

    Nuevamente gracias

    Saludos

    Loading spinner
    en respuesta a: No comprendo ejemplo #1120
    DanielDaniel
    Participante

    Alfredo,

    Mucha gracias por tu ayuda, me quedó clarísimo.

    Con respecto a la pretunta 2,

    2) LOCAL aTodos := RecuperaBBDD()["Articulos"] <- ¿que función cumple ["Articulos"] luego de nombrar una función que por su definición no recibe parámetros?

    Tu podrás explicarme o indicarme donde leer sobre esa sintaxis?

    Desde ya muchas gracias

    Saludos

    Loading spinner
    en respuesta a: Tipos de Font #1050
    DanielDaniel
    Participante

    Alfredo,

    Se entiende perfecto.

    Muchas gracias.

    Saludos

     

    Loading spinner
    en respuesta a: Tipos de Font #1049
    DanielDaniel
    Participante

    Comprendido,

    Muchas gracias.

    Saludos

    Daniel

    Loading spinner
    en respuesta a: Error en runtime #1045
    DanielDaniel
    Participante

    Lo que me sucedió es que estoy acostumbrado a crear .ch donde pongo solamente "defines" sin valor a los efectos de que se compile o no,  partes del código, según personalizaciones que hago de acuerdo al cliente

    En particular en este caso, el .ch solo tiene (por ahora) un linea:

     

    Muchas gracias a todos por la ayuda.

    Daniel

    Loading spinner
    en respuesta a: Error en runtime #1041
    DanielDaniel
    Participante

    Gracia Juan,

    Fucionó perfecto.

    Saludos

    Daniel

    Loading spinner
    en respuesta a: Error en runtime #1040
    DanielDaniel
    Participante

    Probando pegar codigo

    Loading spinner
    en respuesta a: Error en runtime #1035
    DanielDaniel
    Participante

    Resuelto,

    De todas las pruebas que hice ayer faltó esta:

    Comenté las lineas que tiene #ifdef y #endif y ahora anda bien.

    Gracias a todos.

    Saludos

    Daniel

    Loading spinner
    en respuesta a: Error en runtime #1034
    DanielDaniel
    Participante

    Alfredo,

    Gracias por tu ayuda.

    Este es mi código,

    //Función principal de la app Web
    PROCEDURE MainPage()

    // Comenzamos instanciando la Página Web que queremos crear
    With Object TWebPage():New()
    // Para no tener que estar repitiendo código, la construcción del wRebar y del wSideNav lo tengo en un PROCEDURE
    // que puedo llamar desde todo el proyecto
    AppMenu( :WO )
    :lValign := .T.
    // :cIcon := "MacroSistemas"
    :cTitle := "VirtualMenú"
    :cTitleFooter := "MacroVentas ®"
    :cSubTitle := "Sistema de punto de venta y gestión"
    :cCopyright := '© VirtualMenú By MacroSistemas'
    :cClrCrText := "blue"
    :cClrFootPane := "black"

    // Dentro de la web montamos un primer contenedor bEvel que ocupa 4/12 anchura en pantallas grandes
    // en una mediana o pequeña se adaptará responsivamente ya que no le damos tamaño
    With Object WBevel():New(:WO)
    :aWidth[xc_L] := 4

    With Object WLabel():New(:WO)
    :nFontSize := 5
    :lBold := .T.
    :cAlign := xc_Center
    :lBR := .T.
    :cText := "Hola Mundo"
    :Create()
    End With
    :Create()
    End With

    oCgi:SendPage( :Create() ) // Se crea el HTML final y se envía al navegador saliendo del ejecutable CGI

    End With

    RETURN

    //------------------------------------------------------------------------------
    // Aquí contruyo el wRebar y el wSideNav, al estar en un PROCEDURE aparte puedo crearlos dentro de cualquiera de
    // las tWebPage del proyecto
    // Necesito tWebPage donde he de crearlos, asi que se lo paso como parametro en oParent
    PROCEDURE AppMenu(oParent, cTitle)
    local cRestaurante

    #ifdef POPEYE
    cRestaurante := 'Restaurante Popei'
    cTitle := 'Restaurante Popei'
    #endif POPEYE

    // Instanciamos el wSideNav (El menú lateral)
    with object WSideNav():New(oParent)
    // Como todas las propiedades image de Néfele podemos asiganerle una URL, un path de nuestro Apache o un BASE64
    :cBackImage := "/images/Velero.jpeg"
    :cId := "Menu"
    :cTitle := cRestaurante
    :cClrTiTle := "white"
    :cText := "Menú"
    :cClrText := "white"
    :lShadow := .T. // Esta sombra afecta a los cText y a cTitle y se utiliza para que resalten sobre la imagen del fondo
    // vamos a añadirle opciones a nuesto menú
    // AddItem( cText, cFunction, cIcon, nStyle, aParams, cAction, aBadge {cText,cClass} )
    :AddItem("Inicio","Inicio","home", xc_SideNavOption)
    // :AddItem("Formularios","MainForms","note_add", xc_SideNavOption)
    // :AddItem("Listas","MainListViews","contacts", xc_SideNavOption,,,"Novedad")
    // :AddItem("Alertas","MainAlert","highlight", xc_SideNavOption,,,{"Novedad","red pulse"})
    // :AddItem("Charts","MainCharts","data_usage", xc_SideNavOption,,,{"Novedad","blue pulse"})
    // Como siempre, una vez definidas todas la propiedades procedemos a la creación
    :Create()
    end with

    // Vamos con el wRebar
    with object WRebar():New(oParent)
    // Por defecto el wRebar esta creado para estar dividido en 3 areas, MenuNav, Titulo y Logo
    // Podemos no poner cualquiera de los tres elementos, e incluso podemos utilizar el wRebar como un contenedor
    // y crear dentro de el otros controles.
    :cClrPane := "blue darken-1"
    :lBeforeMain := .T. // Forzamos a que el wRebar este fuera del <main>
    :lMenuNav := .T. // Lleva el icono de apertuta del wSideNav
    :lBlock := .T. // Se queda fijo en la parte alta aunque se produzca un scroll
    :cTitle := cTitle
    :cTitleAlign := xc_Center // Podemos colocar el MenuNav, el Titulo y el Logo en cualquira de las tres posiciones left, center y right
    :cLogo := "/images/MacroSistemas.jpg"
    :cLogoAlign := xc_Right
    // :cUrlToGo := "https://nefele.dev" // Cuando picamos en el Logo nos lleva a esta URL
    :Create()
    end with

    RETURN

    //------------------------------------------------------------------------------

     

    Loading spinner
    en respuesta a: Error en runtime #1033
    DanielDaniel
    Participante

    Gabriel,

    Una consulta, ¿como hiciste para "pegar" tu código y que quede dentro de un cuadrado bien formateado y coloreado?

    Muchas gracias

    Saludos

    Daniel

    Loading spinner
    en respuesta a: Error en runtime #1032
    DanielDaniel
    Participante

    Gabriel,

    Muchas gracias por compartir tu código, lo he revisado y salvo un #define que yo tengo, el resto está bastante parecido, propiedad mas propiedad menos.

     

    Saludos

    Daniel

    Loading spinner
    en respuesta a: Colores #1027
    DanielDaniel
    Participante

    Xevi,

    Mucha gracias

    Un saludo

    Daniel

    Loading spinner
Viendo 31 entradas - de la 1 a la 31 (de un total de 31)

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para «permitir cookies» y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en «Aceptar» estarás dando tu consentimiento a esto.

Cerrar