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

#141
En general los objetos tienen alguna propiedad que se asume por defecto si no se especifica ninguna

así poner
label1.caption es equivalente a poner label
text1.text ---text1
list1.text---->list1
combo1.text---->combo1
option1.value=option1
...
...
etc
#142
Pues nunca lo he puesto así pero te voy a dar mi opinión:

Cuando usas DIM lo que haces es declarar una variable de un tipo, crear un puntero a esa variable y reservar memoria correpondiente para ella

cuando usas NEW lo que haces es crear una nueva instancia de una clase ya declarada.

Así que no veo sentido a crear una nueva instancia de una clase que aún no has declarado si haces dim X as new ...

Que me corrija alguien si lo pienso mal, pero creo que con eso puedes conseguir un puntero que apunte a nothing o bien que sea equivalente a no haber puesto el new.

;D
#143
¿que tal si lo creas en el diseño de la tabla? ¿tu has mirado los tipos de campos?

Cuando creas tu tabla en la parte de abajo (columns) tienes un campo que se llama identity ... ahi pones si quieres que se autoincremente y desde que número quieres que empiece y de que tamaño se va a ir incrementando.

Considera también si lo vas a indexar.
#144
No has leído mucho la verdad

Declarar variables
Dim Cn as adodb.connection, Cmd as adodb.Command, Rec as adodb.Recordset
Dim Sql as string


Iniciar la conexión
set Cn=new adodb.connection
Cn.open la_string_de_conexión


Ejecutar un comando
sql="delete tabla where dato='" & valor & "'"
Cn.execute sql


Abrir un recordset
set rec=new adodb.recordset
rec.open string_de_recordsource,Cn,,adcmdtext


Acceder a un campo
p$=rec!dirección

Acceder a las propiedades de un campo
p$=rec.fields("nombre_campo").propiedad
donde propiedad puede ser 'name', 'type','value', ..., etc

Utilizar un objeto command
set Cmd=new adodb.command
cmd.commandtype=adcmdtext
cmd.activeconnection=cn
cmd.commandtext=sql
cmd.execute

El tipo puede ser desde una tabla a una sentencia sql pasando por un procedimiento almacenado.

Ejemplo de un comand que genera un recordset
dim Cn as adodb.connection, Cmd as adodb.command, Rec as adodb.Recordset

Set Cn=new adodb.connection
cn.open connectionstring, usuario, clave

set Cmd=new adodb.command
set Cmd=new adodb.command
cmd.commandtype=adcmdtext
cmd.activeconnection=cn
cmd.commandtext="select * from tabla order by nombre"
Rec=cmd.execute


Y esto en el modelo de datos ADO. El DAO es mas rápido y para cosas pequeñas mejor (especialmente con access). ADO es mas completo y para bases de datos sql.

RTFM
#145
Pero probablemente sea mas rápido mantener los tres recordsource a la vez con tres datagrid en un sstab o similar.

;D
#146
Hola
Básicamente utilizas lo siguiente:

TabStrip1.SelectedItem
devuelve el caption de la pestaña activa

TabStrip1.TabIndex
devuelve el índice de la pestaña activa

TabStrip1.Tabs( indice )
accedes a la colección tabs (la colección de pestañas).

Así por ejemplo para saber en que pestaña estás
if tabstrip1.selecteditem="&Datos personales" then ...

Si quieres saber si estás en la tercera pestaña
if tabstript1.tabindex=3 then

Lo que nos da
if tabstrip1.tabs(tabstrip1.tabindex+1)="&Datos Personales" then

En la práctica

Dispongo de tres frames de una misma colección
frame(0)
frame(1)
frame(2)
Los tres sin borde ni caption, invisibles y los tres del mismo tamaño.
Para trabajar mas cómodo pongo cada uno de ellos en cualquier lugar del form (que no se superpongan) y coloco en ellos los elementos correspondientes.

Ahora hacer que al cargar el formulario los frames invisibles se coloquen en su sitio.
sub form_load
for x%=0 to 2
frame(x%).top=PosicionVertical
frame(x%).left=PosiciónHorizontal
next x%

Activar el primer frame
frame(0).visible=true
end sub



Ahora controlar si pinchan alguna pestaña y actuar en consecuencia
tabstrip1_click()
OcultarFrames 'ocultar todos los frames
frame(tabstrip1.tabindex).visible=true 'mostrar el frame adecuado
end sub


sub OcultarFrames
for x%=0 to 2
frame(x%).visible=false
next x%
end sub


Por último
Como te han dicho puedes usar cualquier container en vez de frames, pero es recomendable usar frames porque usan poca memoria (son ligeros). Los pictures por ejemplo son muy pesados.

Un saludo
#147
Hola
CitarBueno como nota yo opino que para una red pekeña de no mas de 50 workstation estaria bien un servidor de dominio linux, pero para mas NO
Un directorio activo sobre unix/linux es mas eficiente y mucho mas seguro que microsoft

Si tienes alguna duda lee como se aseguran un servidor linux con el parche skaas y las linux capabilies (cada proceso corriendo en un kernel diferente y no pudiendo salir de esa 'maquina virtual' ni aunque consigas acceso de root mediante una escalada de privilegios. Si te hacen un dos te tiran una máquina virtual, pero las demás siguen en lo suyo. Imagina eso como un servidor de directorio activo que autentifica todos los servicios.

En cuanto a la edición de scripts, pues si, pero bash es muuucho mas potente en ese sentido que msdos y además ¿tu te crees que en windows no tienes que hacer scripts de esos? pues creeme que si (y no vayamos a comparar cron con el programador de tareas de windows)

En mi curro actual no tengo opción, tiene que ir sobre windows porque necesito un servidor de terminal server que corre una aplicación ERP bajo WIN32. Como esa aplicación debe ir sobre windows y no debo pone el terminal server sobre el pdc no me queda mas opción que hacer que el pdc sea un windows.

Entiende una cosa: el directorio activo lleva funcionando en microsoft desde windows 2000. Netware y unix lo llevan haciendo desde siempre.

Si tienes alguna duda mira desde cuando lleva funcionando el proyecto openldap y verás que en este tema microsoft aún está aprendiendo (aunque supongo que es mas fácil cuando puedes coger el código de los demás que para eso lo tienen abierto jajaja).

Citarno vale con configurar el samba y ya esta
En un entorno de directorio activo puedes poner el servicio que quieras, al fin y al cabo quien autentifica no es /etc/passwd ni /etc/samba/smbpasswd, sino el directorio activo en su conjunto.

Basta con que configures proftpd o samba o lo que quieras para usar ldap e integrarse en el directorio activo.

Lo que pasa es lo de siempre, que entonces los guindous no van porque guindous solo va con guindous

;D
#148
hola

El tabstrip no es un container. En realidad lo que haces es tener varios frames ocultos y según el click que hayan pinchado mostrar uno y ocultar los demás.

Así que tienes una rutina que pone todos los frames a oculto y luego muestras el frame que corresponda a la pestaña pinchada.

;D
#149
Hola
Sin saber a que base de datos accedes no estoy seguro, pero no veo otra cosa así que debe ser el limit que en unos casos hay que ponerlo de otra forma dependiendo que sea oracle, sql server, mysql o access

;D
#150
hola
Citarte agradeceria si me pones un ejemplo de codigo para hacer una consulta simple a una tabla
Te vas a mysql.org y te bajas el odbc para windows
http://dev.mysql.com/downloads/

Cuando lo instales tendrás un exe que te permitirá crear entradas para usuario, para máquina o por archivo.

Por usuario podrá acceder a la base de datos ese usuario. Por máquina podrá hacerlo esa máquina y por archivo se creará un archivo con credenciales para acceder a la base de datos.

El caso es que te vas al ado, le das a generar el connectionstring, eliges odbc y luego odbc mysql y ya tienes la conexión.

¡Ojo! el odbc es un transportador, lleva tu usuario hasta la base de datos, pero si ese usuario no tiene permisos en mysql no te va a dejar naturalmente. Para manejar eso o bien la shell o bien phpmyadmin.

;D