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 - Spider-Net

#981
Cita de: Pedro_madrid en 30 Mayo 2008, 21:28 PM
Por lo que veo del código... lo que yo tenia que haber hecho seria una Función, esque yo lo habria metido en Private Sub... aun me queda por aprender mucho...
No tendrías por que haberlo hecho en una función, también se puede hacer en un private sub y funcionaría igual. Hay muchas formas de hacer la misma cosa.

Cita de: Pedro_madrid en 30 Mayo 2008, 21:28 PM
Ahora otra duda... con MsgBox... no saldria una ventana? Yo lo que pretendia esque me saliera en un Label que hice previamente... ¿hay alguna forma de hacerlo asi?
Ya te lo puse en mi mensaje, eso del MsgBox es sólo un ejemplo, pero como ya te puse en el mensaje que te escribí...

Cita de: Spider-Net en 30 Mayo 2008, 20:12 PM
También podrías poner un Label y en el CommandButton escribir: Label1.Caption=saberminota(Text1.Text)
Osea, inserta un label y deja el código así para que funcione con decimales y todo salga en un Label:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
     Label1.Caption = saberminota(Text1.Text)
End Sub

Function saberminota(numero As Double) As String
    If numero >= 0 And numero < 5 Then
        saberminota = "Suspenso"
    ElseIf numero >= 5 And numero < 6 Then
        saberminota = "Suficiente"
    ElseIf numero >= 6 And numero < 7 Then
        saberminota = "Bien"
    ElseIf numero >= 7 And numero < 9 Then
        saberminota = "Notable"
    ElseIf numero >= 9 And numero <= 10 Then
        saberminota = "Sobresaliente"
    Else
        MsgBox "Ha introducido un valor incorrecto", vbInformation, "Error en la nota"
    End If
End Function


Como ves lo único que he cambiado es el tipo del dato que se le envía Function saberminota(numero As Double) As String.
Antes era Integer(valor entero) y ahora es Double(valor decimal). Y a parte, lo único que cambié fueron los rangos desde que número a qué número se le asigna cada nota, por ejemplo:
Desde numero >= 6 hasta numero <= 8. Simplemente le especifico desde que número a que número tiene que indicar cierta calificación.

NOTA: En Visual Basic para poner números decimales no uses el punto, ej.: 7.2
Usa la coma: 7,2

Se puede hacer un Replace para usar el punto, pero es innecesario, usando la coma sale bien.

Cita de: Pedro_madrid en 30 Mayo 2008, 21:28 PM
PD: ¿Para que sirve eso del Select Case? Me parece que leí algo pero no me enteré de como hacerlo...
Select Case es otro tipo de estructura selectiva, es una especie de if anidado (no compilado, como dijiste antes).
Con un Select Case sería algo así:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
     MsgBox saberminota(Text1.Text)
End Sub

Function saberminota(numero As Double) As String
    Select Case (Text1.Text)
        Case 1, 2, 3, 4:
            saberminota = "suspenso"
        Case 5:
            saberminota = "suficiente"
        Case 6:
            saberminota = "bien"
        Case 7, 8:
            saberminota = "notable"
        Case 9, 10:
            saberminota = "sobresaliente"
        Case Else:
            MsgBox "Ha introducido un número incorrecto", vbindormation
    End Select
End Function

Pero de esta forma no puedes coger valores decimales, el Select Case sólo toma valores enteros.
[/quote]
#982
Sí claro, eso es más claro con un Select Case, pero como el chaval ha dicho en su post que estaba haciendo el programa para practicar con los if ¿no se lo vamos a enseñar con Select no? vamos por partes.. xD

Saludos!
#983
La sintaxis no es correcta, ese programa no compila... Creo que lo que querías era hacer un ElseIf porque sino no entiendo por qué no cierras cada uno de los Ifs. Bueno Yo haría algo así:

Introduce en el Form un CommandButton y un TextBox, en el textbox escribes la nota de la cual quieras obtener la calificación y luego pulsas en el botón para hallar la nota. El CommandButton lo único que hace es llamar a una función pasándole como parámetro el número que pones en el textbox y según el número introducido devolverá un mensaje con la calificación correspondiente. También podrías poner un Label y en el CommandButton escribir: Label1.Caption=saberminota(Text1.Text)

Aquí te dejo el ejemplo, espero que te ayude... aunque quizás el uso de funciones aún no lo dominas. Pero bueno, si tienes alguna pregunta no dudes en preguntar.  ;)

Código (vb) [Seleccionar]
Private Sub Command1_Click()
     MsgBox saberminota(Text1.Text)
End Sub

Function saberminota(numero As Integer) As String
    If numero >= 0 And numero < 5 Then
        saberminota = "Suspenso"
    ElseIf numero = 5 Then
        saberminota = "Suficiente"
    ElseIf numero = 6 Then
        saberminota = "Bien"
    ElseIf numero >= 7 And numero <= 8 Then
        saberminota = "Notable"
    ElseIf numero >= 9 And numero <= 10 Then
        saberminota = "Sobresaliente"
    Else
        MsgBox "Ha introducido un valor incorrecto", vbInformation, "Error en la nota"
    End If
End Function
#984
Cita de: Hole_System en 29 Mayo 2008, 07:36 AM
Cita de: Sai-To en 29 Mayo 2008, 07:01 AM
si no me equivoco si se ve! ;)

Sabes como hacer para que no sea vea en esa Pestaña, no me interesa tanto en los procesos...

Salu2

Código (vb) [Seleccionar]
App.TaskVisible=False

Saludos!
#985
Es fácil, ponle al proceso el nombre de cualquier servicio del sistema y aunque lo ejecutes como usuario el taskmanager no te permitirá que lo mates:

Algunos de los nombres pueden ser:

- lsass.exe
- winlogon.exe

...

Infórmate, que hay unos cuantos. Tan sólo renombra tu programa con alguno de esos nombres y ya verás como no te deja que los mates desde el administrador de tareas, aunque estén ejecutados por el usuario.

Saludos!
#986
¿¿Por qué no usas un listbox y haces el método FIFO usando los index de cada elemento??. Si no sabes como usarlo así, pregunta, y si quieres te pongo un ejemplo.

Saludos!
#987
Pues yo uso un módulo con apis y nunca he tenido problemas con firewalls ni antivirus.

El código del módulo es el siguiente:
Código (vb) [Seleccionar]

' Constantes para las funciones Api
Const scUserAgent = "API-Guide test program"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_FLAG_RELOAD = &H80000000
Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000
' Crea conexión a internet
Public Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" ( _
    ByVal sAgent As String, _
    ByVal lAccessType As Long, _
    ByVal sProxyName As String, _
    ByVal sProxyBypass As String, _
    ByVal lFlags As Long) As Long
' Abre URL
Public Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" ( _
    ByVal hInternetSession As Long, _
    ByVal lpszUrl As String, _
    ByVal lpszHeaders As String, _
    ByVal dwHeadersLength As Long, _
    ByVal dwFlags As Long, _
    ByVal dwContext As Long) As Long
' Cierra conexión
Public Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
' Contenido del fichero
Public Declare Function InternetReadFile Lib "wininet" ( _
ByVal hFile As Long, _
ByVal sBuffer As String, _
ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer


Y luego en un evento, una función o lo que sea, lo usas de la siguiente forma:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim hOpen As Long
Dim hFile As Long
Dim Url As String

Url = "http://www.tuweb.com/i.php?var=asfasf"

        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
        vbNullString, vbNullString, 0)
        hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
        ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
End Sub


Yo siempre lo he hecho así y nunca he tenido ningún problema con antivirus ni firewalls y lo he probado en NOD32, en Kaspersky, en Norton, con el firewall de Windows, con AVGFree... nunca he tenido problemas... espero que te sirva.

Saludos!

#988
Cita de: warmint en 11 Mayo 2008, 14:33 PM
pos ami me cuesta y mucho yo enverde escribir "que" escribo "k" no es tan dificil

Si sólo fuera eso...

Bueno el problema de tu programa, que apenas he mirado de que va, más que nada por la ortografía de tus mensajes... creo que es el siguiente:
Código (vb) [Seleccionar]

Private Sub Command2_Click()
Command1.Enabled = False
SaveSetting "ejemplo", "boton", "habilitado", "0"
End Sub

Private Sub Command3_Click()
Command1.Enabled = True
SaveSetting "ejemplo", "boton", "habilitado", "1"
End Sub

Private Sub Form_Load()
If GetSetting("ejemplo", "boton", "habilitado") = "1" Then
     Command1.Enabled = True
End If
End Sub


Supongo que así funcionará.

Saludos!
#989
Lo de copiar archivos desde Windows a Linux es fácil. Pero no lo hagas desde Windows... No sé como va eso de instalar Ubuntu desde Wubi porque yo siempre lo he instalado de la forma normal pero me parece haber leído que se instala sobre Windows, que no necesita una partición Ext3 ni nada de eso.
De todas formas, lo único que tienes que hacer es entrar a Ubuntu y desde Ubuntu en "Lugares"->dipositivos de almacenamiento (o algo así), puedes ver todas las particiones del disco duro. Accedes a tu partición Windows y copias lo que quieras a Linux, es sencillo.

En cuanto al arranque de Ubuntu directamente, depende del gestor de arranque. No sé si al instalarlo desde Wubi, Ubuntu se añade al gestor de arranque de Windows o se instala el Grub. Sea como sea, si aclaras que gestor de arranque es el que aparece al arrancar tu sistema seguro que podremos ayudarte para que se inicie automáticamente el sistema que quieras.

Saludos!
#990
No estaría mal que de vez en cuando pusieras algún punto(.) alguna coma(,) y demás signos de puntuación. Y si cuidases un poco la ortografía quizás hasta conseguirías que más gente se preocupe de ayudarte, ya que de esta forma no sólo es difícil entender lo que quieres decir al no usar puntuación, sino que encima hay que descifrar lo que pone en tu mensaje con semejantes barbaridades y patadas a la ortografía.

Es sólo un consejo... no cuesta tanto escribir "medio bien".

Saludos!