|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - mamex
26
« en: Domingo 25 de Febrero de 2007, 19:22 »
Ok, es k talvez se cicle tu programa, depuralo bien, para ver si llega a ejecutarse hasta la linea donde se encuentra readkey.
Lo chekaré con calma.
27
« en: Domingo 25 de Febrero de 2007, 00:14 »
Aporto mi idea int horasTrabajadas,pagaCompleta; pagaCompleta = 47*6;// salario minimo por dias trabajados printf("Horas que trabajó: %d",horasTrabajadas); if (horasTrabajadas>=40) printf("Total: $%d",pagaCompleta); else printf("No te pagamos porque no trabajaste las 40 horas);
28
« en: Domingo 25 de Febrero de 2007, 00:09 »
Mira tu declaraste estas variables //Rangos; Ancho = 7; Alto = 8; //Matriz de juego; TTablero = Array[1..Alto,1..Ancho] Of TFicha;
Y despues recorres la matriz así: Procedure InicializarTablero(Var Tablero:TTablero); Var i,j:Integer; Begin For i:=1 To Ancho Do For j:=1 To Alto Do Tablero[i,j]:= '0'; End;
La primera dimensión que pones es i o sea ancho, pero la primera dimensión debiese ser j, o sea, alto. Entonces tu código debe estar así: Procedure InicializarTablero(Var Tablero:TTablero); Var i,j:Integer; Begin For i:=1 To Alto Do For j:=1 To Ancho Do Tablero[i,j]:= '0'; End;
Espero estar en lo correcto
29
« en: Sábado 24 de Febrero de 2007, 22:19 »
Pregunta 1. Pues puedes hacerlo en el evento validate, ejemplo: Private Sub Text1_Validate(Cancel As Boolean) If Val(Text1.Text) < 0 Then MsgBox "Numero menor a 0" Else MsgBox "No es un numero menor a 0, vuelva a escribirlo" Cancel = True End If End Sub
Pregunta 2. Puedes meter el archivo en la carpeta donde se encuentra tu ejecutable (exe), y para llamarlo debes escribir: app.path & "/" & nombreDeArchivo
Y esta será la ruta de tu archivo.
30
« en: Sábado 24 de Febrero de 2007, 18:22 »
Aquí está una solución: Private Function suma() As Integer Dim i As Integer For i = 0 To List1.ListCount - 1 suma = suma + List1.List(i) Next i End Function
31
« en: Sábado 24 de Febrero de 2007, 07:27 »
Claro que se puede. Te doy una idea:
Llamaré bdTemporal a la que te traigan de sus casas, y bdActual a la que tengan en el trabajo.
Deberás Recorrer todas las tablas de la bdTemporal y por cada registro, chekar si existe en la misma tabla de bdActual, en caso de k no exista, tendrás que crear un nuevo registro en la tabla de bdActual, igualito al de bdTemporal.
32
« en: Miércoles 21 de Febrero de 2007, 19:12 »
Que tal, mira en realidad yo programo en visual basic 6, tengo mis codigos, pero no se si te puedan servir, en sí la idea, es que el número que te da la ventana de registro, es un número aleatorio, para ello ocupé este codigo. 'Genera la clave que le aparece al usuario k va a instalar Public Function generaId() As String Dim i As Integer Dim id As String id = "" For i = 1 To 4 id = id & Format(Rand(0, 9999), "0000") If i < 4 Then id = id + " - " Next i generaId = id End Function
Ese es el número que te da el programa, cada vez que se abre el programa te dá un número distinto, ya que es aleatorio. Ahora sólo tienes que hacer un algoritmo que éste numero aleatorio te lo convierta a otra clave, que será la que tengas que escribir manualmente. Por ejemplo, lo más sencillo es hacer, el recorrido de una letra o número del original. Ejemplo: si la ventana te da la clave 23D, la clave que le corresponde es 34E, porque en cada digito se recorrió un caracter. Yo ocupé otra función, pero está algo larga y hecha en vb. Para leer y escribir en el registro de windows usé éstas funciones, te repito en Visual basic. 'Escribe un valor en el registro de windows Public Sub escribirRegistro(direccion As String, Llave As String, datos As String, Optional tipo As String) Dim Registro As Object 'Crea el objeto manejador del registro Set Registro = CreateObject("WScript.Shell") If tipo <> "" Then Registro.RegWrite direccion & "\" & Llave, datos, tipo Else Registro.RegWrite direccion & "\" & Llave, datos End If Set Registro = Nothing End Sub 'Lee un valor del registro de windows Public Function leerRegistro(direccion As String, Llave As String) As String On Error GoTo mError Dim Registro As Object 'Crea el objeto manejador del registro Set Registro = CreateObject("WScript.Shell") leerRegistro = Registro.regread(direccion & "\" & Llave) Set Registro = Nothing Exit Function mError: If Err.Number = -2147024894 Then leerRegistro = "" End Function
Si gustas agregame al msn.
33
« en: Miércoles 21 de Febrero de 2007, 18:24 »
Que tal, mira yo hice algo así, lo que hago es que la primera vez que se abre el programa, pide los datos de registro, (nombre, empresa, no. de Serie), y éstos datos los guarda en el registro de windows. Y cada vez que se abre el programa, comprueba si éstos datos existen en el registro de windows, si existen, pues simplemente abre el programa, si no existen (se deduce que es la primera vez k se abrió) y pues se pide que se introduzcan los datos de registro. Para registrar, te aparece un número de serie, y con ése número se genera otro (que es el que debes de escribir tú para que se te acepte). Bueno, pero la cuestión es: ¿De dónde saco el no de Serie?. Pues yo hice un algoritmo sencillo para que apartir de una clave (el número que te aparece en el registro), te genere otra clave (es la que el usuario deberá escribir). Ejemplo, en la ventana de registro al usuario le aparecerá la clave AB12C (por ejemplo), entonces el te llama y te dá esa clave, entonces tu con tu algoritmo, le metes esa clave y te debe generar otra, 1423F por ejemplo, entonces tu le das esta al usuario, y el la introduce en el formulario de registro. Espero que me hayas entendido. Adjunto la imagen del form. Cualquier cosa que no entiendas, aqui estamos para ayudarte.
34
« en: Lunes 19 de Febrero de 2007, 18:48 »
Hola, que tal, mira realmente no entendí 100% tu mensaje, ¿podrías ser más claro para que podamos ayudarte?
Saludos.
35
« en: Sábado 17 de Febrero de 2007, 18:05 »
Si, prueba la propiedad borderStyle del form, aunque creo que éste es otro tema pero en fin.
36
« en: Viernes 16 de Febrero de 2007, 21:51 »
Listo, ahora si ya lo chequé, y funciona de la siguiente manera Dim checkRow As Long checkRow = gridConsultas.RowBookmark(gridConsultas.Row)
Te recomiendo que lo pongas como long, aunque puedas guardarlo en un integer. Cualquier cosa, no dudes en preguntar nuevamente.
37
« en: Viernes 16 de Febrero de 2007, 17:17 »
No estoy en mi casa para chekarlo, pero al parecer te regresa un long, entonces tienes que declararlo como long, no como integer. Espero estar en lo correcto. Saludos
38
« en: Jueves 8 de Febrero de 2007, 07:05 »
Jejeje, en realidad no lo ocupé, pero me di cuenta después k lo puse. La función nombre día, le mandas el número del dia: lunes 1, martes 2, miercoles 3. Pero lo que hace la función Day() es darme el número de la fecha, (ej. 23). Así que no sirve para obtener directamente que dia de la semana es, para eso necesito usar la función weekDay() Pero bueno, pido disculpas por mi equivocación, y aqui está la funcion que debes modificar: Public Function FechaEnTexto(fecha As String) As String FechaEnTexto = NombreDia(Weekday(fecha, vbMonday)) & " " & Day(fecha) & _ " de " & NombreMes(Month(fecha)) & " del " & Year(fecha) End Function
39
« en: Jueves 8 de Febrero de 2007, 05:20 »
Aki tienes un ejemplo usando unas funciones mías: Private Sub cmdCalcular_Click() MsgBox FechaEnTexto(CDate(txtFecha.Text) - 1) End Sub Public Function FechaEnTexto(fecha As String) As String FechaEnTexto = Day(fecha) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha) End Function Public Function NombreMes(mes As Integer) As String Select Case mes Case 1 NombreMes = "Enero" Case 2 NombreMes = "Febrero" Case 3 NombreMes = "Marzo" Case 4 NombreMes = "Abril" Case 5 NombreMes = "Mayo" Case 6 NombreMes = "Junio" Case 7 NombreMes = "Julio" Case 8 NombreMes = "Agosto" Case 9 NombreMes = "Septiembre" Case 10 NombreMes = "Octubre" Case 11 NombreMes = "Noviembre" Case 12 NombreMes = "Diciembre" End Select End Function Public Function NombreDia(dia As Integer) As String Select Case dia Case 1 NombreDia = "Lunes" Case 2 NombreDia = "Martes" Case 3 NombreDia = "Miercoles" Case 4 NombreDia = "Jueves" Case 5 NombreDia = "Viernes" Case 6 NombreDia = "Sabado" Case 7 NombreDia = "Domingo" End Select End Function
Cualquier duda, pues escribe de nuevo. Saludos
40
« en: Sábado 3 de Febrero de 2007, 20:51 »
Que tal, mira yo lo hice en C, y traté de pasarlo a pascal, éste es el codigo k me kedó: program prog; uses wincrt; var c,y,j,i,num:integer; begin writeln('numero'); readln(num); for i:=0 to num-1 do begin (*Tamaño del triangulo hasta antes de este renglon*) tam = ((i+1)*i)/2; for j:=0 to i do begin c=tam+(i+1-j); write(c); end; writeln; end; end.
Espero y esto te ayude
41
« en: Sábado 3 de Febrero de 2007, 19:53 »
Tu codigo debe ir así: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim numeros As String Dim v As Integer numeros = Chr(KeyAscii) v = InStr(1, "1234567890", numeros) If v = 0 Then KeyAscii = 0 End If End Sub
Pero bueno te recomiendo usar estas funciones que yo diseñé, ya que el codigo anterior no te permite usar numeros fraccionaros (con punto decimal), ni la teclas de backspace Public Function validarNumeros(KeyAscii As Integer) As Integer If EsNumero(Chr(KeyAscii)) Or KeyAscii = 8 Or KeyAscii = Asc(".") Then validarNumeros = KeyAscii Else validarNumeros = 0 End If End Function Public Function validarNumerosEnteros(KeyAscii As Integer) If KeyAscii <> Asc(".") Then _ validarNumerosEnteros = validarNumeros(KeyAscii) End Function 'Te dice si un parametro es un numero Public Function EsNumero(num As String) As Boolean If Trim(num) <> "" Then If IsNumeric(num) Or Asc(num) = 8 Then EsNumero = True End If End Function
Y para ocupar éstas funciones tienes k poner el siguiente codigo en el evento keypress del text Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = validarNumerosEnteros(KeyAscii) 'Si kieres poder meter numeros decimales 'KeyAscii = validarNumeros(KeyAscii) End Sub
42
« en: Viernes 2 de Febrero de 2007, 20:18 »
Pues no se usar pascal, pero mi lógica me indica que debe ser así Me imagino k max es la longitud del arreglo de strings. procedure impcad(i:integer); var x:integer; begin x:=length(fr[i]); if i<=max then begin if fr[i][x] = '.' then begin writeln(fr[i]) impcad(i+1); end else impcad(i+1); end end;
Espero poder ayudarte.
43
« en: Viernes 2 de Febrero de 2007, 18:21 »
Pues si, como dijo napster tu consulta está mal, creo que debería ser más bien así: sql = "select Pass_User from Usuarios where Pass_User = '" & Text2.Text & "'" & " and userName = '" & text1.text & "'"
Espero y ésto te ayude.
44
« en: Viernes 2 de Febrero de 2007, 03:40 »
Que tal, yo lo dudo mucho, pero de que puedes guardar algo en el registro, si puedes, pero no exactamente un archivo, sino valores.
Deberias poner exactamente que tipo de información es la que quieres guardar, para poderte dar algunas ideas. Saludos.
45
« en: Miércoles 31 de Enero de 2007, 23:50 »
Ahhh , ya se me vino a la cabeza una idea, jeje, usa sendkeys, ya lo probé y si me funcionó private sub abrirRouter() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.Navigate "http://192.168.1.1" 'Aki va la direccion a abrir delay 1 'Que se espere un segundo, en lo que abre la pagina SendKeys "admin", 100 'Envia el usuario y se espera 100 milisegundos SendKeys "{tab}" 'Se pasa al siguiente text SendKeys "miclave" 'Envia la clave SendKeys "{enter}" 'Da un enter para accesar end sub 'Se espera un tiempo dado en segundos Public Sub delay(s As Single) Dim T1 As Single T1 = Timer Do While T1 + s > Timer DoEvents Loop End Sub
Espero y te sirva
46
« en: Miércoles 31 de Enero de 2007, 23:42 »
Pues mira, una idea, la verdad no se como se resuelva, pero se me hace muy parecido a los servers FTP, cuando tienen usuario y contraseña, se hace lo siguiente: ftp://usuario:password@direccionFtpEn tu caso seria http://user:pass@192.168.1.20/goform/formApplyDonde user es tu usuario y pass es tu contraseña, pero la verdad no funciona, jejeje, te repito, es solo una idea que se me vino a la mente, que tal vez te pueda orientar.
47
« en: Miércoles 31 de Enero de 2007, 02:41 »
JAJAJAJAJAJA, que chistosin salió éste muchachito, ponte a estudiar flojo, y tan sikiera intenta hacerlos.
48
« en: Lunes 22 de Enero de 2007, 18:00 »
Mira, como la hoja tamaño carta A4, tiene 21 cms de ancho. Y un cm es aproximadamente equivalente a 550 twips. (1cm = 550 twips) Para calcular cuantos twips quieres de margen es: cmDeMargen * 550 = twips de margen Ejemplo, si quieres un margen izquierdo y derecho de 1.5cm, entonces multiplica 1.5cm * 550twips = 825twips. Entonces leftmargin = 825 y rightmargin = 825, como usaste 3cm de margen izquierdo y derecho, sólo te sobran 18 cm de la hoja. (21cmDeHoja - 3cmDeMargen = 18cmLibres). Entonces tu datareport debe ser de ancho a lo más 18cm. Cualquier duda, puedes seguir preguntando.
49
« en: Sábado 20 de Enero de 2007, 22:40 »
Para manejar los margenes del datareport, puedes usar las propiedades leftmargin, topmargin, rightmargin, bottommargin. Tienes que tener cuidado que tamaño de papel tienes configurado en la impresora, para que el ancho del reporte no exceda el ancho del papel. Cuando yo uso la hoja A4, el ancho que me permite es de hasta 20 cm.
Espero te sirva esta info.
50
« en: Miércoles 17 de Enero de 2007, 06:50 »
Ok, pues ya está fácil, si ocupas mi función lo harias de ésta manera: Private Sub principal() Dim elementos As Collection Dim elem Set elementos = separaElementosPorComa("10,11,120,13") For Each elem In elementos rutina (elem) Next End Sub
OJO, al parecer me equivoqué en la línea inic = coma + 1 Wend Set separaElementosPorComa = a End Function
En vez de ser tiene que ser
|
|
|