PDA

View Full Version : سوال: پرکردن یه فایل غیر txt از داخل برنامه ... !



MSN_Issue
شنبه 15 خرداد 1389, 19:05 عصر
سلام به همه
دوستان میخواستم ببینم راهی وجود داره که بتونم توی برنامه-م یه فایل غیر تکست (مثلا .vcf) رو تغییر بده . :متفکر:
مثلا : چند تا string بگیره و بذاره توی قسمتهای مختلف فایل .vcf
ممنون میشم اگه کمکم کنید .

MSN_Issue
شنبه 15 خرداد 1389, 22:22 عصر
دوستان لطفا کمک کنید ،
اگه کسی کامپوننتی برای کار با فایل .vcf داشته باشه ، واقعا ممنون میشم اگه کمکم کنه ...

razavi_university
یک شنبه 16 خرداد 1389, 00:14 صبح
نیاز به کامپوننت خاصی نداره، ساختار متنی داره میتونین ساختارش رو اینجا ببینین vCard (http://en.wikipedia.org/wiki/VCard)
اما اگر بخواهید بهش تصویر بدین باید از کد زیر استفاده کنید:

private string EncodeWithString(string ImagePath)
{
System.IO.FileStream inFile;
byte[] binaryData;

try
{
inFile = new System.IO.FileStream(ImagePath,
System.IO.FileMode.Open,
System.IO.FileAccess.Read);
binaryData = new Byte[inFile.Length];
long bytesRead = inFile.Read(binaryData, 0,
(int)inFile.Length);
inFile.Close();
}
catch (System.Exception exp)
{
// Error creating stream or reading from it.
//System.Console.WriteLine("{0}", exp.Message);
//return;
return exp.Message;
}

// Convert the binary input into Base64 UUEncoded output.
string base64String;
try
{
base64String =
System.Convert.ToBase64String(binaryData,
0,
binaryData.Length);
}
catch (System.ArgumentNullException)
{
//System.Console.WriteLine("Binary data array is null.");
//return;
return "Binary data array is null.";
}

// Write the UUEncoded version to the output file.

return base64String;
}

razavi_university
یک شنبه 16 خرداد 1389, 00:17 صبح
اگر باز هم نیاز به کامپوننت دارید، میتونین از این کامپوننت رایگان استفاده کنیدک

vCard Class Library (http://www.thoughtproject.com/Libraries/vCard/index.htm)

MSN_Issue
یک شنبه 16 خرداد 1389, 00:28 صبح
ممنون بابت کمکتون
اما منظورتون از ساختار متنی داره چیه ؟
میشه با یه مثال ساده توضیح بدید ! راستی اون کامپوننتی هم که معرفی کردید مشکل داشت همه ارور میداد .!
بازم تشکر .

razavi_university
یک شنبه 16 خرداد 1389, 00:30 صبح
یعنی با textwriter میتونین پرش کنید

MSN_Issue
یک شنبه 16 خرداد 1389, 00:45 صبح
خود فایل رو چطوری ایجاد کنم ، با دستور زیر :

StreamWriter s = new StreamWriter("vCardName.vcf");

اگه منظورتون این کاره ، قبلا انجام دادم ، فایل ایجاد شده ، ارور داره (باز نمیشه )
باید پسوند اون رو به .txt تغییر داد تا باز بشه .
اگه منظورتون چیزه دیگه-ایه ، متاسفانه متوجه نشدم ... !

MSN_Issue
یک شنبه 16 خرداد 1389, 19:42 عصر
آقا لطفا کمک کنید ، خیلی گیرشم !!!

razavi_university
دوشنبه 17 خرداد 1389, 11:50 صبح
string myFile = @"C:\me.vcf";

if (!File.Exists(myFile ))
{
using (StreamWriter streamW = File.CreateText(myFile ))
{
streamW.WriteLine("First Line");
streamW.WriteLine("");
}
}

using (StreamWriter sw = new StreamWriter(myFile, true))
{

sw.WriteLine("Your Text");

sw.WriteLine();
sw.Close();
}

MSN_Issue
دوشنبه 17 خرداد 1389, 12:06 عصر
ممنون آقا رضوی ...
مشکلم حل شد ...
اشتباهم توی نوشته های داخل فایل بود (اینکه چی باید نوشته بشه )
باز هم تشکر.

MSN_Issue
پنج شنبه 20 خرداد 1389, 18:09 عصر
نیاز به کامپوننت خاصی نداره، ساختار متنی داره میتونین ساختارش رو اینجا ببینین vCard (http://en.wikipedia.org/wiki/VCard)
اما اگر بخواهید بهش تصویر بدین باید از کد زیر استفاده کنید:

private string EncodeWithString(string ImagePath)
{
System.IO.FileStream inFile;
byte[] binaryData;

try
{
inFile = new System.IO.FileStream(ImagePath,
System.IO.FileMode.Open,
System.IO.FileAccess.Read);
binaryData = new Byte[inFile.Length];
long bytesRead = inFile.Read(binaryData, 0,
(int)inFile.Length);
inFile.Close();
}
catch (System.Exception exp)
{
// Error creating stream or reading from it.
//System.Console.WriteLine("{0}", exp.Message);
//return;
return exp.Message;
}

// Convert the binary input into Base64 UUEncoded output.
string base64String;
try
{
base64String =
System.Convert.ToBase64String(binaryData,
0,
binaryData.Length);
}
catch (System.ArgumentNullException)
{
//System.Console.WriteLine("Binary data array is null.");
//return;
return "Binary data array is null.";
}

// Write the UUEncoded version to the output file.

return base64String;
}


سلامِ دوباره
آقای رضوی ممنون بخاطر جوابهای مفیدتون ...
ولی من هرچی فکر کردم ، نتونستم این رشته رو به عکس تبدیل کنم !!!(برعکس کار این تابع)
چون توی یک قسمت از برنامه-م نیاز دارم که این عکس رو به نمایش بذارم (در واقع باید از دیتابیس (یا کارت ویزیت) فراخوانی کنمش)
ممنون میشم اگه کمکم کنید ...