Problemas al creear y leer archivo

Iniciado por _teiki, 12 Julio 2006, 02:31 AM

0 Miembros y 1 Visitante están viendo este tema.

_teiki

Bueno lo que quiero es que cree y abra un archivo con el nombre de la pc y la hora y dia. Al poner solo la Funcion PC_Name no me da error, pero al agregarle la Funcion Time_pc me sale error -Run-time error "13"- Type Mismatch

Aqui esta el codigo:
Dim sSave As String, ret As Long
sSave = Space(255)
   ret = GetSystemDirectory(sSave, 255)
   sSave = Left$(sSave, ret)
Open (sSave + "/" + Time_pc + PC_Name + ".sys") For Output As #1     ' Se abre el archivo
Print #1, Text1.Text ' se sobre escribe el log
Close #1 ' y se cierra

Gracias de antemano

<--v1c1ous-->

Open (sSave & "/" & Time_pc & PC_Name & ".sys") For Output As #1

Lo que no entiendo porque tanto lio, simplifica un poco.

Fuction SaveLog()
Dim sSave as String
Dim TimePc$
Dim PCName$

sSave = GetSystemDirectory
TimePC =LocalTime
PCName = NombrePc

if Right(sSave,1) = "/" then
GoTo Save:
Else
sSave = sSave & "/"
End If

Save:
Open (sSave & TimePc & PCName & ".sys") For Output As #1
Print #1, Text1.Text
Close #1
End Function


Obvio que entendes que al hacer esto creara un nuevo archivo con una nueva fecha en cada ejecucion de la funcion.

Bien podrias cambiar el codigo para que:

Open (sSave & PCName & ".sys") For Output As #1
Print #1, "Hora Actual: " & TimePC & " - " & Text1.Text


Asi crearias un solo archivo y dentro separado por horas, eso si, cambiando el Open para que no sobreescriba.


_teiki

 Si, por eso quiero poner el timpo.
Gracias por la ayuda :)

NYlOn

No es Time_Pc es Time solo. Y si no queres sobre escribir podes abrir el archivo de modo Append (y no Output). Otra cosa, es recomendable usar &en vez de + pq a veces puede causar resultados no esperados. Por ejepmplo:

Dim A as long, B as long
A = 10
B = 24
MsgBox A + B ' Te da 34
MsgBox A & B ' Te da 1024 (las dos cadenas "pegadas"



<--v1c1ous-->

"+" y "&" son terminos distintos, no solo aveces inesperados, para unir dos cadenas se usa "&", de lo contrario no las estarias uniendo, sino haciendo una operacion y las sumaria, no uniria.