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

#681
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:32:39 AM
Registro de Windows XP

Windows consulta continuamente su información durante su funcionamiento, por lo que un registro mal configurado nos reportará errores y fallos inesperados. Este registro sustituye a la mayoría de los archivos .ini (pero no a todos) que se usaban en Windows 3.x y MS-DOS, así como a AUTOEXEC.BAT y CONFIG.SYS. En el registro, los datos se organizan en una base de datos jerárquica, donde se ramifican en forma arbórea, de modo que cada una de las ramas recoge claves de la configuración.

Para tener acceso al editor de registro deberás seleccionar Inicio y luego Ejecutar, sobre la línea de ejecución, escribe regedit, y luego pulsa sobre Aceptar. Con esto accederás a la ventana del Regedit, si te desplazas por las claves: HKEY_CURRENT_CONFIG/Display/Settings/Resolution, aquí encontrarás la resolución de tu monitor, como por ejemplo 800 x 600).

Algunas de estas claves son:

HKEY_USERS: recoge la información de todos los usuarios que usan la máquina. Aquí se encuentra información acerca de las aplicaciones instaladas, conexiones de red, etc. de cada usuario. HKEY_LOCAL_MACHINE: identifica la información del estado físico del hardware de nuestro ordenador, como el tipo de memoria usada, bus del sistema, tarjetas instaladas, etc.

HKEY_CLASSES_ROOT: es una subclave de HKEY_LOCAL_MACHINE/Software y contiene las claves que aseguran que los archivos serán abiertos de manera efectiva por sus respectivos programas.

HKEY_CURRENT_CONFIG: engloba la información acerca de los perfiles del hardware de nuestro sistema y acerca del arranque del mismo, y está vinculada a HKEY_LOCAL_MACHINE
#682
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:32:01 AM
Mas memoria para tus programas

Al iniciar Windows siempre pierde tiempo en buscar los programas que va a utilizar, hasta que nos muestra el Escritorio o la pantalla de bienvenida. Si cierras un programa y lo abres de nuevo verás que tarda menos tiempo que la primera vez que lo abres. Para que los programas que mas utilizas se abran siempre así de rápido realiza este truco.

Haz clic en el botón Inicio y a continuación sobre Ejecutar, escribe regedit y pulsa el botón Aceptar

Ahora te desplazas por la siguiente cadena

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Sesion Manager/Memory Management

Haces doble clic sobre la entrada LargeSystemCache y le pones el valor 1.

Cierras todas las ventanas y reinicias el ordenador, ahora todo te funcionará mas rápido.
#683
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:31:39 AM
Esperar menos tiempo para cerrar el sistema

Windows XP también tarda lo suyo en cerrar el sistema lo mismo que ocurría con los anteriores Windows, pues bien hay algo que podemos hacer para acelerar el tiempo de cierre del sistema, para realizar este truco sigue estos pasos:

Haz clic en el botón inicio y luego en Ejecutar, a continuación escribe Regedit y pulsa el botón Aceptar.

Ahora dentro de Regedit te desplazas por las siguientes claves.

HKEY_CURRENT_USER/Control Panel/Desktop

Localiza la clave WaitToKillAppTimeout luego haces doble clic sobre ella y cambia el valor 20.000 por 4.000.

Sin salir de editor de registro, accede a la siguiente clave:

HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control

Localiza nuevamente la clave WaitToKillAppTimeout y vuelve a cambiar el valor de 20.000 por 4.000

Cierra el Editor del Registro y ahora Windows esperará menos tiempo para cerrar las aplicaciones y el sistema.
#684
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:31:16 AM
Desinstalar el Messenger

Para desinstalar el Messenger lo único que tienes que hacer es copiar esta línea

RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove

luego pinchas en el botón Inicio y Ejecutar, y lo pegas, pulsas el botón Aceptar y listo.
#685
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:30:35 AM
Discos duros mas rápidos

Para acelerar el acceso a nuestros discos duros de una forma mas rápida es necesario activar los canales UDMA de cada disco duro y para ello haremos lo siguiente:

Hacemos clic en el botón inicio y luego con el ratón derecho clic sobre Mi PC y clic en Propiedades.

A continuación hacemos clic en la pestaña Hardware y luego sobre el botón Administrador de dispositivos.

Ahora abrimos el árbol de los discos duros y seleccionamos con el ratón derecho sobre Propiedades.

Hacemos clic sobre la pestaña de Configuración avanzada, y seleccionamos si no lo está ya el modo DMA.
#686
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:30:07 AM
Mensaje al iniciar Windows XP

Al iniciarse Windows XP podemos configurarlo para que nos muestre un mensaje, al igual que hacíamos con Windows 95, 98, o Me, este mensaje consiste en poner un texto que nos mostrará al iniciarse Windows XP, por ejemplo para recordarnos algo importante, o incluso para dejarle un aviso a otro usuario del mismo PC, para configurarlo haremos lo siguiente:

Hacemos clic en el botón inicio y a continuación en Ejecutar, luego escribimos en el cuadro ejecutar Regedit y pulsamos el botón Aceptar

Abrimos las ramas del árbol en el siguiente orden

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WinLogon]

Modificamos el valor de legalnoticecaption con el título del mensaje

Modificamos el valor de legalnoticetext con el texto del mensaje y listo, la próxima vez que reiniciemos Windows XP mostrará el mensaje que acabamos de escribir
#687
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:29:37 AM
Formatear el disco duro o partición en NTFS

En Windows XP el formateado del disco duro es algo mas complicado que el formateado de Windows 98, Me, ... etc.

En este artículo vamos a tratar de explicarlo lo mas claro posible para que cualquier usuario de Windows XP siguiendo estas instrucciones pueda formatear su disco duro o partición sin ningún tipo de problema.

Para ello existen dos formas de hacerlo, según esté instalado Windows XP con el sistema de archivos FAT32 o NTFS. Así pues lo primero que debemos saber es con cual de los dos sistemas está instalado Windows XP.

Windows XP está instalado en NTFS. Para formatear la partición NTFS e instalar nuevamente Windows XP seguiremos estos pasos:

Con el ordenador apagado introducimos el disco nº 1 de instalación de Windows XP (en total son 6 discos) y arrancamos el ordenador.

A continuación vamos introduciendo los discos 2..3..4..5..6 según los vaya pidiendo.

Una vez haya cargado los 6 discos, nos ofrecerá las siguientes opciones. Instalar Windows XP. Recuperar la instalación de Windows XP o Salir del programa.

Escogeremos la opción de Instalar Windows XP, pulsando la tecla Intro. Insertamos el CD-ROM de Windows XP en el lector de CD´s y pulsamos nuevamente la tecla Intro.

Pulsamos la tecla F8 para aceptar el contrato de licencia y continuar con el proceso.

En la siguiente ventana tenemos nuevamente la opción de reparar la instalación de Windows XP o instalación Nueva. Escogemos la opción Instalación nueva y presionamos la tecla ESC. para continuar.

En la siguiente pantalla vemos todas los discos y particiones, con tres opciones. Instalar Windows XP. Crear nueva partición, o Eliminar la partición seleccionada.

Ahora vamos a eliminar la partición, para ello la seleccionamos y pulsamos la tecla D y luego la tecla L para eliminarla.

En el cuadro de particiones veremos que ha desaparecido el nombre de unidad que tenía y en su lugar aparece el texto Espacio no particionado. Seleccionamos el texto de Espacio no particionado y pulsamos la tecla C para crear una nueva partición. Mostrará el espacio que queda libre en el disco, en este caso lo dejamos como está ya que lo que pretendemos es formatear y cargar nuevamente Windows XP (pero podríamos modificar el tamaño de la partición o hacer una nueva partición con menos tamaño de disco). Pulsamos la tecla Intro.

Ahora en el cuadro de particiones aparecerá con el nombre de unidad (Por ejemplo F:\) a continuación pulsamos la tecla Intro para continuar con la instalación.

En la siguiente ventana aparecerán las opciones para Formatear la partición, escogemos la opción de formatear en NTFS y comenzará de inmediato a formatear la partición.

Una vez que termine de formatear la partición continuará automáticamente la instalación de Windows XP, y tan solo tenemos que seguir las instrucciones que van apareciendo en pantalla, hasta terminar la instalación de Windows XP.
#688
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:29:04 AM
Averigua quien está conectado a tu ordenador

Una forma rápida de averiguar quien está conectado a tu ordenador cuando te encuentras en Internet es la siguiente:

Haces clic en el botón Inicio y luego en Todos los Programas

Seleccionas Accesorios y luego Símbolos del sistema.

En la ventan de Símbolos de sistema escribe netstat y pulsa la tecla Intro

Ahora en pantalla verás todas las conexiones que estás recibiendo.
#689
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:28:36 AM
Comprobar y aumentar la velocidad del disco duro

Para comprobar si estamos aprovechando al máximo el hardware de nuestro equipo, debemos hacerlo desde la consola de Administración siguiendo estos pasos:

Hacemos clic con el ratón derecho sobre el icono Mi PC y luego sobre Administrar.

Dentro de la rama Administrador de dispositivos buscaremos el apartado Controladores IDE/ATAPI.

Pulsando sobre cada uno de los canales IDE, y luego en la pestaña de configuración avanzada podremos comprobar y alterar el modo de transferencia de datos que se está utilizando.
#690
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:27:49 AM
Acelerar el Menú Inicio
[/size]

El menú de inicio de Windows XP, aparte de ser extremadamente grande, es también demasiado lento en su despliegue. Si deseas acelerar la velocidad en que se muestra este menú, accede al registro de Windows.

Una vez allí deberás llegar hasta la opción : MenuShowDelay. Para ello sigue la secuencia: HKEY_CURRENT_USER * Control Panel * Desktop * MenuShowDelay ; o búscala directamente con la opción "buscar" de regedit. una vez localizada haz doble clic sobre esta opción y cambia el valor que por defecto esta en (400) por un valor menor. Pon el valor "0" para conseguir la mayor velocidad.

Seguidamente pulsa el botón Aceptar y luego reinicia tu ordenador para que los cambios tengan efecto y puedas ver la diferencia.
   
#691
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:27:21 AM
Como cambiar la clave de Producto XP

Para cambiar la clave del Producto de Windows XP, por ejemplo para instalar el Service Pack 1 deberemos seguir estos pasos.

Debemos conseguir una clave válida que no sea F, D, ....

Hacemos clic sobre el botón Inicio y a continuación sobre Ejecutar, luego escribimos regedit y pulsamos el botón Aceptar. Una vez estamos en el registro de Windows debemos desplazarnos por la siguiente clave. (en muchos casos no es necesario este paso, por lo que pasaríamos directamente al paso 4)

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\WPAEvents

Hacemos doble clic sobre la clave oobetimer, y borramos el valor hexadecimal CA, y cerramos regedit.

Ahora hacemos clic en el botón Inicio y luego sobre Ejecutar, escribimos exactamente esto oobe/msoobe /a y aparecerá la pantalla de activación de Windows XP, seleccionamos activación por teléfono, y pulsamos sobre Cambiar clave del producto e introducimos la clave nueva y pulsamos actualizar.

Lo mas probable es que nos diga que la clave no es válida, pero no debemos hacer caso, cerrar todo y reiniciar el sistema.

Una vez reiniciado el sistema pulsamos nuevamente sobre el botón Inicio y Ejecutar, escribimos nuevamente oobe/msoobe /a y veremos como nos muestra una pantalla en la que nos indica que ya está activado el producto.
#692
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:26:51 AM
Mayor velocidad de acceso a los programas

Aunque tu equipo disponga de suficiente memoria RAM y puedas trabajar con varios programas sin problemas el sistema siempre utiliza el Kernel para enviar y recibir archivos del archivo de paginación del disco duro, por este motivo la velocidad del ordenador se frena, si ya dispones de memoria RAM suficiente sigue estos pasos:

Haz clic sobre el botón Inicio y a continuación sobre Ejecutar, escribe regedit y pulsa el botón Aceptar

Ahora te desplazas por la siguiente cadena:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management

Busca en el panel derecho la entrada DisablePagingExecutive y haz doble clic sobre ella.

En la ventana que aparece cambia el valor de 0 y pones 1 luego pulsa el botón Aceptar y reinicia tu ordenador, ahora conseguirás mas velocidad de acceso a los programas porque utilizará menos el disco duro.
#693
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:26:19 AM
Eliminar archivos que no se dejan borrar

Con frecuencia nos encontramos que al intentar borrar un archivo, XP nos contesta que no se puede eliminar porque el archivo está siendo usado por otro programa, este problema suele ocurrir cuando intentamos borrar archivos en formato *.avi. Normalmente el problema suele estar producido porque algún avi está dañado y el codec correspondiente (el cual se invoca siempre en vista previa) se cuelga y no lo suelta.

Recordad que AVI no es un tipo de fichero, sino que es un "contenedor" de formato de video, y que en la cabecera interna, lleva realmente grabado el tipo de video que es y por tanto el sistema sabe a que codec debe llamar.

Para solucionar este problema abriremos una ventana de comandos

Hacemos clic en el botón inicio y luego sobre Ejecutar

A continuación escribimos cmd y pulsamos el botón Aceptar

Cerramos todos los programas que tengamos abiertos menos la pantalla de MS-DOS que acabamos de abrir.

Volvemos ha hacer clic en el botón Inicio y luego sobre Ejecutar

Escribimos Taskmgr.exe y pulsamos el botón Aceptar

Volvemos a pulsar el botón Inicio y luego sobre Ejecutar

Escribimos explorer.exe y pulsamos el botón Aceptar.

Volvemos a la ventana de comandos e iremos a la carpeta donde tengamos el archivo que queremos eliminar y escribiremos: del dejamos un espacio y escribimos el nombre_archivo

Volvemos de nuevo al administrador de tareas, Archivo > Nueva tarea y escribimos "explorer.exe" (sin comillas) para reestablecer el escritorio. Ya podemos cerrar el administrador de tareas y la ventana de comandos.
#694
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:25:43 AM
Liberar memoria RAM

Liberar memoria RAM. Tras haber ejecutado una o múltiples aplicaciones o juegos que hagan uso intensivo de los recursos del sistema, habremos detectado que Windows queda algo "tocado", mucho mas lento. Esto es debido a que los restos de las aplicaciones bloquean parte de la RAM que han utilizado, ocasionando lo que se llama "fragmentación de memoria". Mediante un pequeño script podemos liberar esa memoria , forzando al ordenador a descargar el contenido de la memoria al archivo de intercambio de forma que recargue de nuevo toda la información activa en la memoria y deseche la información no útil, esto lo haremos de la siguiente forma:

Abrimos el bloc de notas de Windows y dependiendo de la memoria de nuestro ordenador escribiremos los siguientes valores:

Si tienes menos de 128 Mb de memoria RAM, escribes Mystring=(16000000)

Si tienes 128 Mb de memoria RAM o más escribes Mystring=(80000000)

Ahora guarda este archivo en el lugar que quieras, con el nombre "liberar.vbe" (no te olvides poner la extensión .vbe ya que el nombre no importa puedes poner el que quieras).

Ahora hacemos doble clic sobre el archivo que acabamos de crear y windows refrescará la memoria RAM.
#695
Windows / Re:Trucos Windows XP
Enero 26, 2013, 03:25:07 AM
Navegar mas rápido en Internet

Para aumentar la velocidad de acceso a servidores HTTP, y visualizar las páginas Webs mas rápdio, sigue estos pasos:

Haz clic en el botón Inicio y luego sobre Ejecutar, escribe Regedit y pulsa el botón Aceptar.

Una vez estás en el editor del registro busca la siguiente cadena:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSetting

En la ventana de la derecha, crear o modificar los valores DWORD siguientes:

MaxConnectionsPerServer: doble clic sobre ese valor y escribir 4 decimal (para ADSL escribir 20)

MaxConnectionsPer1_0Server : doble clic sobre ese valor y escribir 8 en decimal (para ADSL escribir 20)

Esos valores corresponden al número de demandas simultáneas de acceso a un servidor de tipo 1 o 1.1. Cerrar Regedit y reiniciar Windows.
#696
Windows / Trucos Windows XP
Enero 26, 2013, 03:24:21 AM
TRUCOS WINDOWS XP

este post contendrá la lista de trucos de windows xp

y un truco por respuesta...

Indice:

Navegar mas rápido en Internet
Liberar memoria RAM
Eliminar archivos que no se dejan borrar
Mayor velocidad de acceso a los programas
Como cambiar la clave de Producto XP
Acelerar el Menú Inicio
Comprobar y aumentar la velocidad del disco duro
Averigua quien está conectado a tu ordenador
Formatear el disco duro o partición en NTFS
Mensaje al iniciar Windows XP
Discos duros mas rápidos
Desinstalar el Messenger
Esperar menos tiempo para cerrar el sistema
Mas memoria para tus programas
Registro de Windows XP
Apagado automático
ADSL configuración
Descargar de la memoria RAM las DLL´s no utilizadas
Arranque de Windows sin contraseña
Evitar la activación de Windows XP
Windows XP Tarda mucho tiempo en apagar el ordenador
Deshabilitar los servicios innecesarios
Actualizar una versión completa de Windows XP
Apaga tu PC con doble clic
Borrar las flechitas de los accesos directos
Cambiar pantalla de inicio en Windows XP
Opciones de Rendimiento
¡¡Buscaminas No las explotes!!
Programas adicionales, desocúltalos
Cambiar logotipo e informacion del sistema
Pantalla clásica de bienvenida
Restaurar el registro de Windows a través de MS-DOS




se irá actualizando mientras la gente responda el tema con trucos.

invito a todos a responder.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

saludos!
#697
este es un modulo que hice para que puedan actualizar sus programas utilizando internet.

necesitas un hosting, no importa cual sea, puede ser byethost o miarroba, lo que sea, hasta webcindario.

Código: vb
Option Explicit
'#####################################
'#  Progamado por alexander E.       #
'#  http://Artehack.net              #
'#  Version: 0.0.1                   #
'#  2008 arg.                        #
'# Modulo para actualizar programas  #
'#####################################
'####### Apis!! ######################
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long
'#####################################
'####### editar estos valores ########
Const version = "0.0.1" 'version del software actual
Const pagver = "http://tupagina.com/version.txt" 'la pagina web donde se encuentra la ultima version, este archivo tiene que contener el último número de versión
Const pagdown = "http://tupagina.com/programa.exe" 'donde tengas el ejecutable (ultima version)
Const tipe = 1 'elegir opcion de descarga de actualizacion 1 = abrir dialogo de descarga 2 = descargar sin pedir confirmación y ejecutar (<- no es recomendado) 3 = abrir dialogo de descarga y cerrar programa
'#####################################
Const acc0 = "Modulo creado por Alexander E." 'ésto no hay que cambiar
Dim ERROR_SUCCESS
Dim sSourceUrl As String
Dim versionA As String

Private Function Descargar(ByVal link As String, ByVal slocalfile As String) As Boolean
  Descargar = URLDownloadToFile(0, StrReverse(link), slocalfile, 0, 0) = ERROR_SUCCESS
End Function

Private Function DownloadV(ByVal directory As String) As Boolean
sSourceUrl = StrReverse(directory)
Descargar StrReverse(StrReverse(sSourceUrl)), StrReverse(StrReverse(App.Path)) & "\" & UCase("Version.txt")
End Function

Private Function nestch()
nestch = " creado por "
End Function

Private Function steepA(ByVal directory As String) As Boolean
sSourceUrl = StrReverse(directory)
Descargar StrReverse(StrReverse(sSourceUrl)), StrReverse(StrReverse(App.Path)) & "\" & UCase("NV.exe")
End Function
   
Private Function verificar(ByVal verssion As String) As Boolean
Dim alexay As Integer
Dim Versver As String
alexay = FreeFile
    Open StrReverse(StrReverse(App.Path)) & "\" & UCase("Version.txt") For Input As #alexay
        Versver = Input(LOF(alexay), #alexay)
    Close #alexay
    If Mid(acc0, 1, Len(acc0)) = sietch Then
        If Versver = version Then
        MsgBox "Versión actualizada", vbExclamation, "Actualización"
        Else
        MsgBox "Versión desactualizada" & vbNewLine & " será actualizado en breve", vbCritical, "Actualización"
        actualizar (tipe)
        End If
    Else
    MsgBox error25, vbCritical, "ERROR"
    End If
End Function

Private Function actualizar(ByVal streeng As String) As Boolean
If streeng = 1 Then
DoFileDownload StrConv(pagdown, vbUnicode)
ElseIf streeng = 2 Then
steepA (StrReverse(pagedown))
Shell (StrReverse(StrReverse(App.Path)) & "\" & UCase("NV.exe"))
ElseIf streeng = 3 Then
DoFileDownload StrConv(pagdown, vbUnicode)
End
End If
End Function

Public Function Buscar_Actualizacion()
Dim strp As Boolean
strp = DownloadV(pagver)
verificar (StrReverse(LCase(UCase(StrReverse(version)))))
End Function

Private Function sietch()
Dim putus As String
putus = StrReverse("Modulo")
putus = StrReverse(putus) & nestch & "Alexander E."
sietch = putus
End Function

Private Function error25()
error25 = "Fue borrado o cambiado el derecho de autor"
End Function


como funciona? simple, agregan este modulo a su programa, una vez que lo agregaron, solo tienen que editar esta parte:

Const version = "0.0.1"

la version que estas creando

Const pagver = "You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login"

el archivo de texto en tu pagina web que contendra la ultima version

Const pagdown = "You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login"

el link de descarga de tu programa

cuando creas una nueva version la subes en un archivo de texto en la ubicacion que allas puesto en pagver.

subes la ultima version a lo que hallas puesto en pagdown

y listo, en el code, cuando creas el boton "actualizar" de code solo pones:

Buscar_Actualizacion

eso solo. y ya buscara la ultima version en la pagina web, y si es distinta a la que tiene la persona, entonces ploff ya descargara del link que le dejaste. :o :o :o

;D asi de simple.

saludos atte. Alexander E.

PD: en Windows7 para que funcione, la aplicacion nesecita permisos de administracion y ejecutar con compatibilidad de windows xp o 2000
#698
Visual Basic / Re:VB - guia basica del estudiante.
Enero 26, 2013, 03:13:44 AM
Option Base 1

que debe colocarse al comienzo del módulo o formulario donde declaremos la matriz.

Para declarar la matriz se hace como con todas las variables, especificando entre paréntesis el número de elementos que componen la matriz:

Código: text
Dim Alumno (25) as String


Hemos declarado que la variable alumno es una cadena, y que hay 25 elementos en esa matriz.

Una matriz también se puede declarar de la siguiente forma :

Código: text
Dim Alumno(1 To 25) as String


Donde le decimos que la variable Alumno tiene 25 elementos, que el primero tiene el índice 1 y el último tiene el índice 25.

Pero imaginemos que queremos meter en la misma matriz el nombre, primer apellido y segundo apellido del alumno. Necesitaremos declarar una matriz de 25 por 3. Como todos los elementos serán cadenas de caracteres, podemos declararla de la siguiente forma:

Código: text
Dim Alumno (1 To 25, 1 To 3) As String


De esta forma, el primer apellido del alumno que ocupa el puesto número 15 de la clase, será el elemento:

Alumno (15, 2)

Podemos definir matrices de dimensión superior a dos. Podemos llegar a un máximo de 60 dimensiones. Una matriz de 5 dimensiones se declararía:

Código: text
Dim Variable ( 1 To N, 1 To M, 1 To P, 1 To Q, 1 To R)


entendiendo que hay N, M, P, Q y R elementos en cada una de las dimensiones respectivamente.

Una variable ya declarada como una matriz puede redimensionarse a lo largo del programa mediante la instrucción ReDim

Código: text
ReDim Alumno (1To 25)


Mediante esta instrucción, estamos ReDimensionando una matriz ya declarada. No se puede redimensionar una matriz inexistente.

Mediante la declaración 1 To 25 le estamos diciendo que el primer elemento de la matriz es el 1, independientemente de lo que hayamos puesto en OPTION BASE. Si se redimensiona simplemente con el número de elementos :

Código: text
ReDim (25)


le estamos diciendo que tiene 25 elementos, pero que el primero sea el 0 ó el 1 depende de haber puesto OPTION BASE 0 u OPTION BASE 1.

Una matriz puede redimensionarse cuantas veces se quiera a lo largo de la aplicación, pero esa redimensión no puede afectar al número de dimensiones de la matriz. Si redimensionamos la matriz perderá la información existente. Para evitar perder la información presente en la matriz, debe utilizar la sentencia ReDim Preserve.

Si usa la palabra clave Preserve en matrices de dimensión superior a 1, va a encontrarse con comportamientos no esperados. Como podrá ver en la Ayuda de VB, usando ReDim Preserve sólo puede cambiar el tamaño de la última dimensión de matriz y no puede modificar en ningún momento el número de dimensiones. NO es cierto del todo. Sí lo podrá hacer una sola vez.

Respecto a cambiar el número de dimensiones, si ha declarado la matriz con unas dimensiones determinadas, ya no podrá cambiar las dimensiones ni con ReDim ni con ReDim Preserve. Le saldrá un error que dice que las dimensiones de la matriz ya han sido declaradas.

Pero si ha declarado la matriz sin dimensiones :

Código: text
Dim MiMatriz()


puede cambiar las dimensiones Dim MiMatriz (1 To 5, 1 To 9)

y volver a cambiarlas Dim MiMatriz (1 To 8, 1 To 15, 1 To 6)

Observe que no solamente la hemos cambiado dos veces de dimensiones (la primera a 2 y la segunda a 3), sino que también hemos cambiado el número de elementos en cada dimensión.

Si hubiésemos utilizado ReDim Preserve solamente podríamos haber usado la primera de las dos líneas anteriores :

Código: text
ReDim Preserve MiMatriz (1 To 5, 1 To 9)


pero ya no podríamos volver a cambiar el número de dimensiones con la segunda línea. Nos daría un error.

Con ReDim podemos cambiar el número de elementos de cada dimensión cuantas veces queramos. Por ejemplo, podemos redimensionar MiMatriz de las siguiente forma :

Código: text
ReDim MiMatriz (1 To 5, 1 To 9)

ReDim MiMatriz (1 To 15, 1 To 20)

ReDim MiMatriz (1 To 25, 1 To 30)

. . . . . . . . . . . . . . . . . . . . . . . . . . .

Si hubiésemos empleado ReDim Preserve, podríamos cambiar los elementos de todas las dimensiones de la matriz una vez :

Código: text
ReDim Preserve (1 To 5, 1 To 9)


a partir de ahora, solamente podemos cambiar los elementos de la última dimensión :

Código: text
ReDim Preserve (1 To 5, 1 To 20)

ReDim Preserve (1 To 5, 1 To 30)


es decir, no podremos hacer esto :

ReDim Preserve (1 To 10, 1 To 30) donde se señala en negrita el error.

Esto no causa ningún error en una matriz de una dimensión, ya que si la matriz tiene sólo una dimensión, puede cambiar el tamaño de esa dimensión porque es la única y la última.

Cuando a lo largo de la aplicación se va redimensionando una matriz, podemos llegar la circunstancia de que, en un momento determinado, no sepamos las dimensiones de esa matriz.

Para conocer el índice máximo y mínimo de una matriz se usan las funciones UBound y LBound.

UBound devuelve el mayor subíndice disponible para la dimensión indicada de una matriz.

Código: text
Sintaxis UBound(nombredelamatriz[, dimensión])


LBound devuelve el mayor subíndice disponible para la dimensión indicada de una matriz.

Código: text
Sintaxis LBound(nombredelamatriz[, dimensión])


Ejemplo Tengamos una matriz llamada Mimatriz, de tres dimensiones. En un momento de la aplicación se ejecutó la siguiente instrucción válida :

Código: text
ReDim Mimatriz (1 To 100, 0 To 3, 5 To 20)


En otro momento queremos tener el control de los índices de esa matriz, y queremos averiguar el índice menor y mayor de cada una de sus dimensiones :

Código: text
(IID1= Indice Inferior Dimensión 1, ISD 1 = Indice Superior Dimensión 1, etc. )

IID 1= LBound (Mimatriz, 1) IID1 = 1

ISD1 = UBound (Mimatriz, 1) ISD1 = 100

IID 2= LBound (Mimatriz, 2) IID1 = 0

ISD2 = UBound (Mimatriz, 2) ISD1 = 3

IID 1= LBound (Mimatriz, 3) IID1 = 5

ISD1 = UBound (Mimatriz, 3) ISD1 = 20
#699
Visual Basic / Re:VB - guia basica del estudiante.
Enero 26, 2013, 03:13:14 AM
Basic FUNCIONES CON NUMEROS CAP. 3
_________________________

Visual Basic puede operar con números tal como lo haría cualquier persona. Conoce las 4 reglas, y puede utilizar paréntesis de la misma forma que los escribimos sobre el papel.

Los operadores que utiliza para las operaciones básicas son:

+ Suma

- Resta

* Multiplicación

/ División

\ División sin decimales

Mod Resto de una división

^ Eleva a un exponente

Ejemplos

Resultado = 12 + 15 ----> Resultado = 27

Resultado = 15 - 12 ----> Resultado = 3

Resultado = 15 * 12 ----> Resultado = 180

Resultado = 15 / 12 ----> Resultado = 1.25

Resultado = 15 \ 12 ----> Resultado = 1

Resultado = 15 Mod 12 ----> resultado = 3

Resultado = 12 ^ 2 ----> Resultado = 144

resultado = ( ( 4 * 3 ) / 2 ) ^ 2 ----> Resultado = 36

Estos operadores se denominan Operadores aritméticos.

Existen otras operaciones que se pueden realizar con números: comparaciones. Los operadores que realizan comparaciones se denominan Operadores relacionales. El resultado de las operaciones realizadas con estos operadores solamente admiten dos resultados: True (Cierto) o False (Falso) Estos operadores son:

= Igual que

<> No igual que

< Mayor que

<= Mayor o igual que

> Menor que

=> Igual o menor que

Estos operadores se suelen utilizar en estructuras de programa donde se tome una decisión.

El operador = puede usarse también para comparar cadenas o fechas.

Operadores Lógicos

Estos operadores sólo tienen sentido cuando hablemos de variables Booleanas, es decir, aquellas que solamente pueden tomar los valores cero y uno.

Operador Función Devuelve True si Devuelve False si

And Función AND A=True y B=True Cualquier otro caso

Or Función OR A=True o B=True A=False y B=False

Xor Función XOR A=True y B=False A=True y B=True

A=False y B=True A=False y B=False

Eqv F. Equivalente A=True y B=True A=True y B=False

A=False y B=False A=False y B=True

Imp Implicación A=True y B=True A=True y B=False

A=False y B=True

A=False y B=False

Not Negación A=False A=True

Like Igualdad A=True A=False

Otras Funciones con números

CInt Parte entera Devuelve la parte entera de un número con decimales

Abs Valor Absoluto Devuelve el valor absoluto de un número

Sgn Signo Devuelve el signo de un número

Sqr Raíz cuadrada Devuelve la raíz cuadrada de un número

Exp Exponenciación Devuelve el número elevado al exponente indicado

Log Logaritmo Devuelve el logaritmo natural de ese número

Trigonométricas

Sin Seno Devuelve el valor del seno de un ángulo (Expresado

en radianes)

Cos Coseno Devuelve el coseno de un ángulo (En radianes)

Tan Tangente Devuelve la tangente de un ángulo

Atn Arco Tang. Devuelve un arco cuya tangente sea el número

(Angulo en radianes)

Una función curiosa

Timer Tiempo acumulado Devuelve el tiempo (en segundos) que ha pasado desde las 12 de la noche.

Generación de números aleatorios

Randomize (Numero) Inicia el generador aleatorio tomando como dato de partida el Numero. Devuelve el resultado en una variable llamada Rnd.

NOTA MUY IMPORTANTE.- Los números aleatorios generados de esta forma son siempre iguales, eso sí, dependiendo del número que se le introduzca como parámetro. Esta generación de números no produce números aleatorios pues como se dijo, dependen del numero que se meta como parámetro, y si este se repite, se repite la sucesión de números que nos crea el generador aleatorio.

La forma de obtener números realmente aleatorios es introducir como parámetro un número que sea variable con el tiempo.
#700
Visual Basic / Re:VB - guia basica del estudiante.
Enero 26, 2013, 03:12:58 AM

BASIC DE VISUAL BASIC CAP. 2

___________________________

Funciones de cadenas

Se denomina CADENA a una sucesión de caracteres. Una cadena puede tener uno o varios caracteres alfanuméricos. Una cadena es también una sucesión de números.

Ejemplo de cadenas:

Curso de Visual Basic

abcdefghijklmnopqrstuvwxyz1234567890

123456789

Hagamos una distinción entre una cadena que contenga números y un número. Un número tiene un valor, pero también tiene una presentación escrita. El valor es algo que estará en el ordenador como una sucesión de bits. Dependiendo de como lo hayamos declarado, tendrá mas o menos bits. Pero esa información no es un número legible por el usuario. Lo que sí es legible por el usuario es la representación en numeración decimal (u octal, o hexadecimal, o incluso en binario) de ese número. Esa representación del número en un determinado sistema de numeración es una cadena.

Así, el número nueve, que en la memoria del ordenador será una sucesión de bits, el ordenador puede presentárnoslo como:

9 En numeración decimal

9 En numeración hexadecimal

11 En numeración octal

1001 En numeración binaria

Esas formas de presentarnos el número son CADENAS de caracteres. El valor del número dentro del ordenador es un NUMERO.

Para presentar un número en la pantalla, el ordenador debe convertirlo previamente a una cadena.

Cuando introducimos un valor numérico por teclado o pantalla, el ordenador para hacer operaciones con él, debe transformarlo a un número.

Estas consideraciones nos llevan a las dos primeras funciones con cadenas:

Str (número) Convierte un número a una cadena en numeración decimal.

Val (cadena numérica) Obtiene el valor (el número) correspondiente a esa cadena.

Ejemplos

Código: text
Variablenumerica = Val (TextBox1.Text)


Este ejemplo convierte la cadena de caracteres (numéricos) que hubiese en la caja de texto TextBox1 en un número, y asocia este número a la variable Variablenumerica.

Si el contenido de la caja de textos no fuesen caracteres numérico (abcd, por ejemplo), Variablenumerica tomaría el valor 0.

Código: text
Label1.Caption = Str (Variablenumerica)


Este ejemplo pondría en la etiqueta Label1 los caracteres correspondientes al valor que tuviese la variable Variablenumerica .

Nota para recordar: Siempre habrá que convertir un número a una cadena cuando queramos presentarlo en la pantalla. Siempre habrá que convertir a número la cadena de caracteres numéricos que hayamos introducido por teclado o por pantalla, cuando queramos operar con ese número. Un Label, cuando tiene que presentar un único número, no le pedirá que se lo convierta a cadena, pues VB hace automáticamente esa conversión. Sin embargo, cuando tiene que presentar un número, y además un texto en el mismo Label, VB no realizará automáticamente ese cambio, por lo que le dará un error. Le recomiendo que convierta los números a variables de cadena siempre que los quiera presentar en un Label o TextBox.

Existe una función mas amplia que Str. Se trata de Cstr. Esta función no solamente transforma un número a una cadena, como hace Str, sino que convierte cualquier tipo de variable a una variable tipo String (cadena).

Esta función transforma, por ejemplo, una variable tipo Booleana en una variable de cadena, devolviendo la cadena "Verdadero" si el valor de la variable booleana es True, y "Falso" si es False.

Puede también transformar a una cadena de caracteres el valor de un CheckBox o de un OptionButton. En estos casos devuelve 0 y 1 para el CheckBox (Desactivado / Activado) y Verdadero ó Falso para el OptionButton (Activado / Desactivado)

Código: text
label1.Caption = CStr(booleana) Label1.Caption = Verdadero si booleana es true

Label1.Caption = Falso si booleana es False

Label2 = CStr(Check1.Value) Label2.Caption = 1 si Check1 está activado

Label2.Caption = 0 si Check1 está desactivado

Label3 = CStr(Option1.Value) Label3.Caption = Verdadero si Check1 está activado

Label3.Caption = Falso si Check1 está desactivado


Si se aplica Cstr a una variable tipo Fecha/Hora devuelve la fecha / Hora en formato corto.

Mas funciones de cadena:

Left (cadena, n)
Extrae los n primeros caracteres de una cadena, comenzando por la izquierda.

Si cadena = Curso de Visual Basic (Para todos los ejemplos)

Resultado = Left (cadena, 10) ----> Resultado = Curso de V

Right (cadena, n) Extrae lo n últimos caracteres de la cadena

Resultado = Right (cadena, 10) ----> Resultado = sual Basic

Mid (cadena, m, n) Extrae n caracteres de la cadena, siendo el primer carácter extraído el que ocupa el lugar m.
(Vea Instrucción Mid mas abajo)

Resultado = Mid (cadena, 3, 10) ----> Resultado = rso de Vis
L

Case (cadena) Devuelve otra cadena igual, pero con todos los

caracteres en minúsculas. (LCase = Lower Case)

Resultado = Lcase (cadena) ----> Resultado = curso de visual basic

UCase (cadena) Devuelve otra cadena igual, pero con todos los

caracteres en mayúsculas. (UCase = Upper Case)

Resultado = UCase (cadena) ----> Resultado = CURSO DE VISUAL BASIC

Len (cadena) Devuelve la longitud de la cadena

Resultado = Len (cadena) ----> Resultado = 21

LenB (Cadena) Devuelve el número de Bytes empleados para almacenar la

cadena. Sorpréndase, es el doble que Len (Cadena)

String (n, carácter) Devuelve una cadena de n caracteres como el indicado

Resultado = String (8, "a") ----> Resultado = aaaaaaaa

Resultado = String (8, Chr(65)) ----> Resultado = AAAAAAAA

Resultado = String (8, 65) ----> Resultado = AAAAAAAA

Space (n) Devuelve una cadena formada por n espacios.

Resultado = "A" + Space (6)+ "B" ----> Resultado = A B

LTrim Elimina los posibles espacios que tenga una cadena por su izquierda.

Rtrim Elimina los posibles espacios que tenga una cadena por su derecha.

Trim Elimina los espacios que tenga una cadena, tanto por su izquierda como por su derecha. (No elimina los espacios

centrales de la cadena)

Estas tres funciones se emplean para quitar los posibles espacios que pueden resultar de una entrada de datos. Tienen especial importancia cuando se toman los datos de un archivo o base de datos, donde fueron introducidos por otro programa.

No se pone ningún ejemplo de estas funciones, pues sería difícil verlo impreso.

InStr (cadena, cadena1) Busca la cadena1 dentro de cadena y devuelve el número de orden dentro de cadena donde se encuentra la primera letra de cadena1

Código: text
Resultado = InStr (cadena, "sua") ----> Resultado = 12


StrConv Convierte una cadena de caracteres en otra, según las instrucciones

que le sigan. Puede sustituir a UCase o LCase si la instrucción es

UpperCase o LowerCase respectivamente, o poner la primera letra de todas las palabras de la cadena en mayúsculas, si la instrucción es ProperCase.

Código: text
Resultado = StrConv (cadena, UpperCase) ----> Resultado = CURSO DE VISUAL BASIC

Resultado = StrConv (cadena, LowerCase) ----> Resultado = curso de visual basic

Resultado = StrConv (cadena, ProperCase) ----> Resultado = Curso De Visual Basic


Instrucción Mid

Mid puede usarse también para cambiar el contenido de una cadena. Observe la sutileza entre Mid como Función de cadena y Mid como Instrucción.

La Instrucción Mid reemplaza un número especificado de caracteres en una variable de cadena con caracteres de otra cadena.

Código: text
Sintaxis Mid(cadena1, inicio[, longitud]) = cadena2


Código: text
Resultado Mid (cadena, 7,2)="Sobre" ---- > Resultado = Curso sobre Visual