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

#11
Me estoy imaginando que utilizaras el antiguo código para apagar sistemas operativos win 9x,me.....que no es el mismo que para apagar win nt,xp. Cuelga el código y lo veremos.
Saludos.
#12
Haber si el número de archivo #1 está ocupado y por eso te da el error. Pon esto:
Dim numarchivo
numarchivo=freefile
Open "c:\micarpeta\main.dll" For Append As #numarchivo
Print #numarchivo, "Cadena de texto"
Print #numarchivo, "Otra cadena"
Close #numarchivo

Saludos.
#13
Cita de: aaronduran2 en 10 Marzo 2008, 23:01 PM
- ¿Cómo puedo ejecutar un archivo por parte del servidor? (Sin que sea "Shell")
La api shellexecute.
#14
Pues eso no te tendría que pasar al intentar copiar de cualquier forma. Te aseguro que se copia a sí mismo. Ese mensaje te sale cuando intentas borrarlo y está abierto el archivo. No se cual será tu problema. Otra forma de copiar archivos son creando un objeto filesystemobject y utilizando el metodo filecopy, o también llamando al copy o xcopy del sistema con la función shell() o shellexecute().
Saludos.
#15
Haber....hay que molestarse algo más en adaptar un código a las necesidades de uno, que no cuesta tanto. La adaptación del código anterior a lo que tu quieres sería algo así:
Private Sub Command1_Click()
Dim PosIni As Integer, PosFin As Integer, Matriz() As String
Matriz = Split(Text5.Text, vbCrLf)
For n = 0 To UBound(Matriz)
    PosIni = InStr(Matriz(n), "<P><A href=" & Chr(34) & "http://www.fotolog.com/")
    If PosIni <> 0 Then
        PosFin = InStr(PosIni, Matriz(n), """>")
        Text6.Text = Text6.Text & Mid(Matriz(n), PosIni + 35, PosFin - (PosIni + 35)) & vbCrLf
    End If
Next
End Sub

Saludos.
#16
Que raro. Ese código va perfectamente. Yo lo que hice fue poner los dos text multilinea y copiar y pegar en el text5 el texto que dejaste en el post de ejemplo.
Si no pones el text6 multilinea, te salen todos pero seguidos....separados por dos cuadraditos (el vbcrlf). Si lo pones multilinea salen perfectos.
Pues lo que hago es definir una variable matriz, que es como si una misma variable fuesen muchas, diferenciandose por su indice. La orden split lo que hace es separar las lineas (ya que les puse el caracter separador vbcrlf) y almacenarlas en la matriz (array). Por eso la primera linea está en matriz(0), la segunda en matriz(1), etc.
Vbcrlf es una constante del vb. Indica un retorno de carro más un salto de linea (lo que tienen todas las lineas al final). Esta constante es igual a poner chr(10)+chr(13).
Saludos.
#17
Muy buena la respuesta de ((( SPAWN ))). Aquí va otra más pataterilla sin apis  :P:
Private Sub Command1_Click()
Dim PosIni As Integer, PosFin As Integer, PosIniMas2 As Integer
PosIniMas2 = 1
Do
DoEvents
PosIni = InStr(PosIniMas2, Text5.Text, """>")
PosIniMas2 = PosIni + 2
PosFin = InStr(PosFin + 4, Text5.Text, "</A>")
If PosIni <> 0 Then Text6.Text = Text6.Text & Mid(Text5.Text, PosIniMas2, PosFin - PosIniMas2) & vbCrLf Else Exit Do
Loop
End Sub


Saludos.
Modificación: Jajaja, al final decidí hacerlo un poco mejor, ya que el primer codigo lo veo un poco chapucero  ;D.
Private Sub Command1_Click()
Dim PosIni As Integer, PosFin As Integer, Matriz() As String
Matriz = Split(Text5.Text, vbCrLf)
For n = 0 To UBound(Matriz)
    PosIni = InStr(Matriz(n), """>")
    PosFin = InStr(Matriz(n), "</A>")
    If PosIni <> 0 Then Text6.Text = Text6.Text & Mid(Matriz(n), PosIni + 2, PosFin - (PosIni + 2)) & vbCrLf
Next
End Sub

Digo lo mismo ((( SPAWN ))), recuerda en poner los textbox multiline=true.
Saludos.
#18
Que donde colocas eso? Y yo que se! :xD. El programa es tuyo y tu tienes el código.....no yo. Yo te dí una pequeña solución a tu duda inicial. Ahora te toca a ti adaptarla a tu programa. No se...supongo que tendrías que declarar el array publicamente y que siglaspais=paises(combo1.listindex) tendría que ir en el evento combo1_click, por ejem. Seguidamente siglaspais tendrías que pasarselo a la consulta que ataqua la tabla de las ciudades y luego cargar el 2 combo con el resultado de ese recordset anterior conteniendo las ciudades coincidentes con el ID. Todo esto debe ir metido en el combo1_click. Y esto lo digo basandome en el tema anterior que posteaste.
Creo que el vb descarga automaticamente el array de la memoria....pero si me equivoco tampoco cuesta tanto meter en el form1_unload un set paises= nothing.
Y en lo de la utilización del array....para eso está google. Además, practicamente con el ejemplo anterior se ve como se utiliza....no tiene mucho más. Pues eso, creas un array de elementos, y los puedes recuperar por medio de su índice numérico.....pais(0)="ES",pais(1)="FR",etc (el rango del índice del array comienza por 0 por que el vb tiene por defecto el option base 0).
Saludos.
#19
Sin problemas. No te preocupes. Todos nos equivocamos....y mucho  ;D. Ya lo dice el refrán: El hombre es el único que tropieza dos veces en la misma piedra....pero si es muy bajo.....la rodea  :laugh:. No es mi caso (lo de rodearla digo  :P).
Saludos.
#20
No te serviría definir tu un array y luego tirar de él?
Ejem:
'Manteniendo el orden del combo y el array no hace falta indizarlos
Paises=array("ES","FR","PO")
Combo1.AddItem "ESPAÑA" 'Pais
Combo1.AddItem "FRANCIA" 'Pais
Combo1.Additem "PORTUGAL"
' Y los recuperas poniendo el indice en el array
siglaspais=paises(combo1.listindex)

Es algo general. Tendrías que meterlo en el evento del combo la recuperación de las siglas.....o lo que quieras hacer  ;).
Saludos.