четверг, 30 августа 2012 г.

Запись данных в Isolated storage

Запись данных в Isolated storage


Пусть есть список записей:

   class task
   {
        public string Title { get; set; }
        public DateTime Date { get; set; }
        public task(string title, DateTime date)

          {
              Title = title;
              Date = date;
           }
    }

    List<task> list = new List<task>(); // список записей


Запись в Isolated Storage данные, нажодящиеся в списке, можно так:


// записать данные в Isolated Storage

string file = "tasks.txt";

System.IO.IsolatedStorage.IsolatedStorageFile isoStore;
isoStore = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication();

// При открытии файла, выбрав нужный режим, задаем,
// что надо делать, в том числе, с возможно существующим файлом.
// В данном случае надо перезаписать файл. Для этого используем режим Create - создать, а если
// фай уже есть, перезаписать данные.

               
// поток для записи
System.IO.IsolatedStorage.IsolatedStorageFileStream fso = isoStore.OpenFile(file, System.IO.FileMode.Create);

System.IO.StreamWriter writer;

writer = new System.IO.StreamWriter(fso, System.Text.Encoding.UTF8);

foreach (task t in sorted)
{
     writer.WriteLine(t.Date);
     writer.WriteLine(t.Title);
}

writer.Close();

Creating resx files for Windows Phone app

Creating resx files for Windows Phone app

ResxGen


ResxGen is add-in for Microsoft Word 2007 and Microsoft Word 2007. It enables you quickly to create localized resx files for yours app.  Enter strings in table (you may add columns and rows) and run ResGen!

To create resx files:
   Click on resxgen.dotm icon
    Enter strings ID and strings values in table
     Save docx file
     Open Add-Ins tab and run ResGen


Now you may to add created files in yours project!
 
You may to download trial version  from http://kultin.ru/download/resxgen_tr.dotm

 


 

среда, 22 августа 2012 г.

Запись и чтение дат в WP7


Преобразование дат при записи и чтении данных из файла


 
Если WP7 приложение локализовано для нескольких языков, то при чтении данных DateTime из файла, созданного программой в другой (например, en-EN), отличной от текущей (например, ru-RU), локализации, возникает ошибка, т.к. форматы представления  дат в ru-RU и en-EN различны.

Например, если для записи данных в файл используется инструкция

writer.WriteLine(t.Date.ToShortDateString());

а для чтения

DateTime dt = System.Convert.ToDateTime(reader.ReadLine());

то при чтении данных, созданных в другой, отличной от текущей, локализации как раз и возникает ошибка преобразования.

Избежать описанной проблемы можно, если перед записью данных в файл тип DateTime преобразовать при помощи метода ToOADate в double значение (дата в формате OLE-automation), соответствующее дате, которую надо записать в файл.

Для обратного преобразования следует использовать метод FromOADate.

Пример:

// запись в файл
double d = t.Date.ToOADate();
writer.WriteLine(d.ToString

                   (System.Globalization.NumberFormatInfo.InvariantInfo));

// чтение
string sDate = reader.ReadLine();
double d = System.Convert.ToDouble(sDate,

                  System.Globalization.NumberFormatInfo.InvariantInfo);
DateTime date = DateTime.FromOADate(d);