В настоящее время я создаю пользовательский интерфейс для хранителя заметок и просто собираюсь просмотреть документы и т. Д., Но мне было интересно, какой тип файла мне нужно создать, если бы вместо этого я хотел делать что-то вроде пометить файл и т. д., желательно в C#, в основном сделать мой собственный Evernote, как эти программы хранят заметки?Создание файлов с использованием C#, как evernote
ответ
Я не знаю, как напрямую пометить файл, но вы можете создать свою собственную систему для этого. Я упомянул два способа сделать это:
Первый способ форматировать содержимое заметки/файла, так что есть две части, теги и фактический текст. Когда программа загружает заметку/файл, она разделяет теги и текст. Это имеет недостаток, что программа должна загрузить весь файл, чтобы просто найти теги.
Второй способ - иметь базу данных с именем файла и связанными с ним тегами. Таким образом, программе не нужно загружать весь файл, чтобы найти теги.
Первый способ
В этом решении вам нужно форматировать файлы определенным образом
<Tags>
tag1,tag2,tag3
</Tags>
<Text>
The text you
want in here
</Text>
Создав файл, как это, программа может отделить теги от текст. Для того, чтобы загрузить это теги, которые должны были бы этот код:
public List<string> GetTags(string filePath)
{
string fileContents;
// read the file if it exists
if (File.Exists(filePath))
fileContents = File.ReadAllText(filePath);
else
return null;
// Find the place where "</Tags>" is located
int tagEnd = fileContents.IndexOf("</Tags>");
// Get the tags
string tagString = fileContents.Substring(6, tagEnd - 6).Replace(Environment.NewLine, ""); // 6 comes from the length of "<Tags>"
return tagString.Split(',').ToList();
}
Затем, чтобы получить текст, который нужно это:
public string GetText(string filePath)
{
string fileContents;
// read the file if it exists
if (File.Exists(filePath))
fileContents = File.ReadAllText(filePath);
else
return null;
// Find the place where the text content begins
int textStart = fileContents.IndexOf("<Text>") + 6 + Environment.NewLine.Length; // The length on newLine is neccecary because the line shift after "<Text>" shall NOT be included in the text content
// Find the place where the text content ends
int textEnd = fileContents.LastIndexOf("</Text>");
return fileContents.Substring(textStart, textEnd - textStart - Environment.NewLine.Length); // The length again to NOT include a line shift added earlier by code
}
Тогда я дам вам узнать, как сделать все остальное.
Второй способ
В этом решении у вас есть файл базы данных по всем файлам и их соответствующими тегами. Этот файл базы данных будет выглядеть следующим образом:
[filename]:[tags]
file.txt:tag1, tag2, tag3
file2.txt:tag4, tag5, tag6
Программа будет читать имя файла и метки на этом пути:
public static void LoadDatabase(string databasePath)
{
string[] fileContents;
// End process if database doesn't exist
if (File.Exists(databasePath))
return;
fileContents = File.ReadAllLines(databasePath); // Read all lines seperately and put them into an array
foreach (string str in fileContents)
{
string fileName = str.Split(':')[0]; // Get the filename
string tags = str.Split(':')[1]; // Get the tags
// Do what you must with the information
}
}
Я надеюсь, что это помогает.
есть, def. дал мне необходимую информацию, и я могу прочитать код! Серьезно еще раз спасибо !!!!! – berni3mack
@ berni3mack большой! Я рад, что смогу помочь. – MasterXD
- 1. Создание файлов PDF с использованием C# 4?
- 2. C# Создание файлов WPF
- 3. Создание файлов в C++
- 4. Создание файлов Excel с C#
- 5. Создание, управление и удаление файлов на C++ с использованием xCode
- 6. Создание подписанных файлов cookie для Amazon CloudFront с использованием C#
- 7. Создание бизнес-ноутбуков Evernote в PHP
- 8. Создание PDF-файлов на лету с использованием AJAX & C#
- 9. Поиск заметок с использованием Evernote iOS sdk
- 10. Экспорт вложений из Evernote с использованием AppleScript
- 11. Создание отчета с использованием файлов C#, ReportViewer и RDL
- 12. Создание приложения для передачи файлов с использованием UDP в C
- 13. Виджет Evernote или evernote и миниатюры
- 14. создание скрытых файлов с использованием .NET
- 15. Заметки только для чтения Evernote с использованием contentClass
- 16. Создание HTML-файлов с использованием конфигурации XML
- 17. Создание динамического GUI с использованием файлов конфигурации
- 18. Создание SVG-файлов с использованием PHP
- 19. Создание файлов cookie с использованием ошибки mod_rewrite
- 20. Перенос файлов с использованием C#
- 21. Создание диаграммы с использованием C#
- 22. Создание файлов jar с использованием Eclipse
- 23. Интеграция Evernote с PHP
- 24. Создание словаря с использованием двух файлов
- 25. Удаление файлов с использованием C#
- 26. создание нескольких файлов .exe с использованием CX_freeze
- 27. Создание сценариев Mathematica с использованием пакетных файлов
- 28. Создание HTML-файлов с использованием CloudStore/Blobstore?
- 29. Создание файлов csv с использованием perl
- 30. создание файлов cookie с использованием raw javascript
Что вы хотите сказать, отметив их? Какой тег вы добавите в файл? и должны ли пользователи видеть эти теги? – MasterXD
да, пометка, так что я могу искать его, думаю, всегда, не совсем уверен, как это работает, но я так много разобрался, и не знаю, где ближе к ответу, спасибо – berni3mack
Потерпи меня, потому что для ответа ответ займет некоторое время, но я есть две идеи, которые вам могут понравиться. – MasterXD