Domingo 22 de Diciembre de 2024, 14:30
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Editar Una Vcard
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Editar Una Vcard (Leído 4571 veces)
Gandalf_malaga7
Miembro MUY activo
Mensajes: 162
Editar Una Vcard
«
en:
Martes 24 de Enero de 2006, 12:10 »
0
Hola amigos,
tras buscar en el foro y no encontrar nada relacionado,tengo la siguiente duda:
supongo que sabréis lo que es una Vcard (un archivo con extensión vcf), bueno pues los que yo estoy usando,si lo abres con el bloc de notas tienen la siguiente pinta:
BEGIN:VCARD
VERSION:2.1
N:GANDALF
NOTE;ENCODING=QUOTED-PRINTABLE: Les deseo Feliz Año a todos
END:VCARD
donde pone "Les deseo Feliz año a todos",es el mensaje que se lee en la Vcard.Bien,pues yo este mensaje lo leo de una BBDD como una string.Lo que necesito es modificar el mensaje que hay en la VCard,escribiendo el nuevo mensaje que haya leido de la BBDD.Es decir,si ahora leo de la BBDD,y el nuevo mensaje es "Hola amigos de elguille",la Vcard al abrirla desde el bloc de notas debe quedar así:
BEGIN:VCARD
VERSION:2.1
N:GANDALF
NOTE;ENCODING=QUOTED-PRINTABLE: Hola amigos de Foros de SoloCodigo
END:VCARD
espero haberme explicado bien,
un saludo amigos!!!!!!
Tweet
...Gandalf El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.
Güorker
Miembro MUY activo
Mensajes: 383
Re: Editar Una Vcard
«
Respuesta #1 en:
Martes 24 de Enero de 2006, 13:34 »
0
Hola,
Lo que tendrías que hacer es utilizar las Clases StreamReader y StreamWriter para modificar el archivo.
Mira esto:
StreamReader
En esa pagina vienn ejemplos muy sencillos de entender para leer y escribir en archivos.
Saludos
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
Gandalf_malaga7
Miembro MUY activo
Mensajes: 162
Re: Editar Una Vcard
«
Respuesta #2 en:
Miércoles 25 de Enero de 2006, 23:12 »
0
Hola de nuevo
,he hecho lo siguiente:
Código: Text
private bool editaVcard(string mensaje)
{
string LogFile = "vcard.vcf";
string linea1 = "BEGIN:VCARD";
string linea2 = "VERSION:2.1";
string linea3 = "N:GANDALF";
string linea4 = "NOTE;ENCODING=QUOTED-PRINTABLE: " + mensaje;
string linea5 = "END:VCARD";
StreamWriter temp= File.CreateText(LogFile);
temp.Close();
StreamWriter sw = File.AppendText(LogFile);
try
{
sw.WriteLine(linea1);
sw.WriteLine(linea2);
sw.WriteLine(linea3);
sw.WriteLine(linea4);
sw.WriteLine(linea5);
return true;
}
catch
{
return false;
}
finally
{
sw.Flush();
sw.Close();
}
}
y funcionar funicona.Cada vez que llamo a la función y le paso una cadena,crea una nueva vcard que sobreescribe a la anterior,modificando sólo el mensaje.Me gustaría que me comentaráis si es correcto lo que he hecho,y si hay una forma más correca de realizar esto,
muchas gracias de nuevo,
salu2!!!!!!!
...Gandalf El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.
Güorker
Miembro MUY activo
Mensajes: 383
Re: Editar Una Vcard
«
Respuesta #3 en:
Jueves 26 de Enero de 2006, 08:31 »
0
Hola,
Creo que no te hace falta crear 2 StreamWriters.
puedes utilizar el mismo StreamWriter "temp" para crear el archivo y escribir texto en el.
Saludos
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
Gandalf_malaga7
Miembro MUY activo
Mensajes: 162
Re: Editar Una Vcard
«
Respuesta #4 en:
Jueves 26 de Enero de 2006, 14:22 »
0
Hola Güorker!!!!!!
si,tienes razón
,puedes usar un sólo StreamWriter,ahora lo he hecho así:
Código: Text
private bool editaVcard(string mensaje)
{
string LogFile = "vcard.vcf";
string linea1 = "BEGIN:VCARD";
string linea2 = "VERSION:2.1";
string linea3 = "N:GANDALF";
string linea4 = "NOTE;ENCODING=QUOTED-PRINTABLE: " + mensaje;
string linea5 = "END:VCARD";
StreamWriter sw = File.CreateText(LogFile);
sw.Close();
sw = File.AppendText(LogFile);
try
{
sw.WriteLine(linea1);
sw.WriteLine(linea2);
sw.WriteLine(linea3);
sw.WriteLine(linea4);
sw.WriteLine(linea5);
return true;
}
catch
{
return false;
}
finally
{
sw.Flush();
sw.Close();
}
}
y funciona también,lo que no se debe olvidar es cerrarlo,antes de abrirlo para una nueva función.Por otro lado,tengo una duda,esta porción de código:
Código: Text
string LogFile = "vcard.vcf";
string linea1 = "BEGIN:VCARD";
string linea2 = "VERSION:2.1";
string linea3 = "N:GANDALF";
string linea4 = "NOTE;ENCODING=QUOTED-
se puede realizar de forma más elegante??,es decir,meter todo en un solo string con saltos de carro,
muchas gracias y salu2 colegas!!!!!
...Gandalf El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.
Güorker
Miembro MUY activo
Mensajes: 383
Re: Editar Una Vcard
«
Respuesta #5 en:
Jueves 26 de Enero de 2006, 14:58 »
0
Hola de nuevo,
Cuando he dicho que con un solo StramWriter se podía hacer lo mismo, me refería sin tener que cerrarlo y volver a abrirlo con el metodo AppendText.
Por otro lado, claro que se puede meter todo en un solo string.
Todo esto junto quedaría así:
Código: Text
private bool editaVcard(string mensaje)
{
string LogFile = "vcard.vcf";
string lineas = "BEGIN:VCARD\r\n" +
"VERSION:2.1\r\n" +
"N:GANDALF\r\n" +
"NOTE;ENCODING=QUOTED-PRINTABLE: " + mensaje + "\r\n" +
"END:VCARD";
StreamWriter sw = File.CreateText(LogFile);
try
{
sw.WriteLine(lineas);
return true;
}
catch
{
return false;
}
finally
{
sw.Flush();
sw.Close();
}
}
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
Gandalf_malaga7
Miembro MUY activo
Mensajes: 162
Re: Editar Una Vcard
«
Respuesta #6 en:
Jueves 26 de Enero de 2006, 19:01 »
0
Gracias Güorker!!!!
asunto solucionado!!!!!
...Gandalf El Gris,ese era mi nombre;soy Gandalf El Blanco y en los albores de la tempestad vuelvo a vosotros.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Editar Una Vcard