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

#1
Estoy matandome a pruebas con "window.onbeforeunload" pero tiene que devolver una cadena si o si... y la idea esq llame a la pag salir.aspx, tiene que ser algo que se hace en todas las webs del tipo, pero no lo consigo xD
#2
Buenas a todos, tengo un problemilla y la verdad esq me he pateado google y no consigo la solución... lo planteo.

El espacio de usuario tiene sus variables de session con lo que se controla todo, cuando el usuario cierra la web, sale, necesito decirle a la base de datos que el usuario pasa de 1 (conectado) a 0 (desconectado) además de limpiar todas las variables de session, todo eso se hace desde una pag.aspx la cual tengo que llamar. La movida es como llamarla, he probado con javascritp a tope, pero lo que funciona en un navegador no funciona en el otro... Además me encuentro con el problema de que si el usuario va a la zona de configuración salta el control javascript y llama al archivo salir.aspx que es donde se limpia todo, puff, no sé si me habré explicado bien, muchas gracias y un saludo!
#3
Después de mucho buscar, o típico creo que me voy a decantar por:


http://www.junnark.com/blog/detail/2

No se si tenéis alguna opinión en contra xD
#4
Buenas, no estoy seguro de que sea la solución al problema con el que comencé, he probado tantas cosas.

En definitiva, he probado con diferentes versiones de la 3 pasando por 3.5 y 4, convirtiendo el proyecto y tal, ningún cambio, estaba claro al probar otros ejemplos que lo que fallaba era el proyect.

Etiqueta por defecto al crear nuevo elemento:

<%--<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="index.aspx.vb" Inherits="xXx.index" %>--%>


Etiqueta que siempre pongo para evitar algunos problemas:

<%@ Page Language="vb" AutoEventWireup="true" CodeFile="index.aspx.vb" Inherits="index" Title="xXx" %>


Con la segunda etiqueta sucede que el compilador en el aspx.vb no reconoce los controles que has ido montando en el aspx, pero salvo eso, que te lo marca como error, el funcionamiento es correcto. Aun así al hacer el nuevo proyecto he cuidado que en todos los archivos viniese la etiqueta por defecto (la primera). Por supuesto dejo el Global intacto, de fabrica.

Pongo punto de interrupción en el Global y zas, se para, elimino la web y se para también. Vuelvo a repetir tal cual, si hacer nada en el código y los puntos de interrupción en el Global hacen su función.

Acabando, pongo el código en el Global, que lo que hace es instanciar un objeto que llama a una función a la cual se la pasa un parámetro que es una variable session, y el objeto = Nothing.

Ejecuto, ZAS: Ya no se para la aplicación en el archivo Global, cierro navegador y tampoco se para, vamos quiero decir, los dos puntos de interrupción que tengo puestos en la entra y la salida.

Elimino código y vuelvo a repetir, se para correctamente. Pues nada problema localizado, ahora a ver que hago con esa sección de código que se debía ejecutar en ese momento para decirle a la BD que el usuario se había ido xD
Un Saludo!!!
#5
Buenas, pues nada, ahora ya no se genera error, pero el contenido de global no se ejecuta, vamos tan simple como poner un punto de interrupción y nada más ejecutarse la web debería parar, pero no hay manera.

He probado incluso a instanciar, pero nada xD La muerte
#6
Buenas, tengo un problema con el fichero Global, la verdad esq estoy ya un poco desconcertado, aunq también es la primera vez que lo utilizo por lo que el problema puedo ser yo.

Problema 1: El contenido del fichero Global no se ejecuta.
Problema 2: Después de hacer pruebas con el problema 1, al ejecutar el proyecto me dice que no encuentra el fichero Global y me pone lo siguiente:


<%@ Application Codebehind="Global.asax.vb" Inherits="xxx.Global_asax" Language="vb" %>


La solución en este punto es quitar "Inherits="xxx.Global_asax"", tema resuelto para el Problema 2, pero sigue sin ejecutarse el contenido del arch Global.

Me he descargado varios proyectos donde se utiliza Global y funcionan correctamente, lo que me llevo a cambiar de "maceta" el contenido del proyecto, abrí un nuevo proyect, lo primero que hice fue crear el archivo Global y trasplante todo, lo ejecute y ZAS, ejecutaba el contenido del Global, volví a ejecutar y empecé de nuevo desde el Problema 1.

Todo esto ha pasado con el contenido del archivo Global que viene por defecto, yo lo único que quiero es controlar cuando la aplicación se cierra, cuando una variable de session finaliza xD, solo eso.

Nota: He probado modificando la etiqueta en todos sus puntos, la que he puesto es la que se crea por defecto al crear el archivo Global.

Cómo lo veis? Muchas gracias y un saludo.
#7
Uno de los problemas que encuentro en muchos ejemplos, esq ya se utilice un Listbox o un BulletedList el scroll se "peta", o sea que el timer con un intervalo de "2" por ejemplo mantiene el scroll en una posición y no se puede bajar ni subir por su continua actualización.

Supongo que una de las soluciones sería javascript, mi killer xD
#8
.NET (C#, VB.NET, ASP) / Chat aspx.vb y Ajax
17 Marzo 2013, 19:04 PM
Buenas,

Llevo ya unas semanas haciendo un proyecto personal y ya de paso aprendiendo Ajax y tal, nunca he sido de web, pero aquí estoy dandolo todo.

Ahora me enfrento a un chat. He visto miles de ejemplo, me he descargado un montón de proyectos que cumplan con las condiciones en las que voy a trabajar y tal, que son las del título.

Después de ver tanta información he visto que hay mil maneras, una que me llama la atención es manejar la información con archivos xml, pero veo que no es la mejor, me ha parecido entender que mediante javascript ejecutandose del lado del cliente se machaca menos al servidor y es mejor, en plan conectandose un cliente con otro, si no lo entendí mal claro.

Luego otra cosa que me he planteado han sido los controles de asp que debería utilizar, esto es más fácil, ListBox y TextBox aunq hay personas que utilizan cosas que casi hacen que me caiga de la silla, como literales html con javascript, si no me confundo claro.

Otro tema es también como controlar las sesiones, cuando caducan y demás para dejar libre al usuario.

Lo que pretendo esq sean habitaciones y que si uno esta ocupado no puedan hablar con él. Bueno un poco al grano, un chat realmente es muy fácil de hacer no!??!

El secreto únicamente esta en el timer que actualice cada segundo!?

Tampoco quiero hacer una "basura", o sea que si me tengo que partir en dos hasta conseguirlo pues ya esta. xD
En definitiva pido vuestra opinión general para saber que se necesita tener en cuenta para hacer un chat.

Muchas gracias y un saludo.

#9
Buenas, a lo mejor para lo que deseas te viene mejor un archivo .ini


Public Class mcls_archivosIni
    ' Funciones API
    Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As System.Text.StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
    Private Declare Ansi Function GetPrivateProfileInt Lib "kernel32.dll" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer
    Private Declare Ansi Function FlushPrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As Integer, ByVal lpKeyName As Integer, ByVal lpString As Integer, ByVal lpFileName As String) As Integer
    Dim strFilename As String
    ' Constructor, acepta un nombre de fichero (si no existe se creará)
    Public Sub New(ByVal Filename As String)
        strFilename = Filename
    End Sub
    ' Propiedad para Read-only
    ReadOnly Property FileName() As String
        Get
            Return strFilename
        End Get
    End Property
    Public Function ObtenerString(ByVal sección As String, ByVal Clave As String, ByVal [Default] As String) As String
        ' Devuelve una cadena desde tu archivo INI
        Dim intCharCount As Integer
        Dim objResult As New System.Text.StringBuilder(256)
        intCharCount = GetPrivateProfileString(sección, Clave, [Default], objResult, objResult.Capacity, strFilename)
        If intCharCount > 0 Then
            'Devuelve el resultado encontrado
            ObtenerString = Left(objResult.ToString, intCharCount)
        Else 'En caso de que no se encuentre nada, se devuelve "".
            ObtenerString = ""
        End If
    End Function
    Public Function ObtenerInteger(ByVal sección As String, ByVal Clave As String, ByVal [Default] As Integer) As Integer
        ' Devuelve un número desde tu archivo INI
        Return GetPrivateProfileInt(sección, Clave, [Default], strFilename)
    End Function
    Public Function ObtenerBoolean(ByVal sección As String, ByVal Clave As String, ByVal [Default] As Boolean) As Boolean
        ' Devuelve un valo lógico desde un archivo INI
        Return ObtenerString(sección, Clave, [Default])
    End Function
    Public Sub EscrbirString(ByVal sección As String, ByVal Clave As String, ByVal Valor As String)
        ' Escribe una cadena a un archivo INI
        WritePrivateProfileString(sección, Clave, Valor, strFilename)
        Flush()
    End Sub
    Public Sub EscrbirInteger(ByVal sección As String, ByVal Clave As String, ByVal Valor As Integer)
        ' Escribe un número a un archivo INI
        EscrbirString(sección, Clave, CStr(Valor))
        Flush()
    End Sub
    Public Sub EscrbirBoolean(ByVal sección As String, ByVal Clave As String, ByVal Valor As Boolean)
        ' Escribe un valor logico a un arhcivo INI
        EscrbirString(sección, Clave, Valor)
        Flush()
    End Sub
    Private Sub Flush()
        ' Stores all the cached changes to your INI file
        ' Guarda todos los cambios al archivo INI
        FlushPrivateProfileString(0, 0, 0, strFilename)
    End Sub
End Class


Espero que te sirva. UN saludo.
#10
Buenas, pues ya esta solucionado, comprobado, verificado. La respuesta de Novlucker es correcta al 100%, para mi caso al menos, el problema de después estaba en como yo trataba el javascript de flexcroll.

http://www.hesido.com/web.php?page=customscrollbar

Un saludo y muchas gracias.