MainWindow.xaml.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using Microsoft.Win32;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. using System.Windows.Documents;
  12. using System.Windows.Input;
  13. using System.Windows.Media;
  14. using System.Windows.Media.Imaging;
  15. using System.Windows.Navigation;
  16. using System.Windows.Shapes;
  17. namespace OpenAndSaveDialogFile
  18. {
  19. /// <summary>
  20. /// Логика взаимодействия для MainWindow.xaml
  21. /// </summary>
  22. public partial class MainWindow : Window
  23. {
  24. List<string> question = new List<string>();
  25. List<string> answer = new List<string>();
  26. int questionCount = -1;
  27. string link { get; set; }
  28. public MainWindow(string link)
  29. {
  30. InitializeComponent();
  31. this.link = link;
  32. ReadSurvey();
  33. }
  34. public void ReadSurvey() //Чтение анкетирования
  35. {
  36. StreamReader streamReader = new StreamReader(link);
  37. while (!streamReader.EndOfStream)
  38. question.Add(streamReader.ReadLine());
  39. streamReader.Close();
  40. }
  41. public void NextQuestion()
  42. {
  43. string res = string.Empty;
  44. if (++questionCount < question.Count)
  45. {
  46. QuestionOutput.Text = question[questionCount].ToString();
  47. AnswerInput.Text = string.Empty;
  48. }
  49. else
  50. MessageBox.Show("Вы прошли анкетирование", "Вопросы закончились");
  51. }
  52. public bool SaveAs(List<string> questions, List<string> answer)
  53. {
  54. SaveFileDialog save = new SaveFileDialog();
  55. save.DefaultExt = ".txt";
  56. save.OverwritePrompt = true;
  57. Nullable<bool> result = save.ShowDialog();
  58. if (result == true)
  59. {
  60. StreamWriter streamWriter = new StreamWriter(save.FileName);
  61. for (int i = 0; i < questions.Count && i < answer.Count; i++)
  62. {
  63. streamWriter.WriteLine("Вопрос: " + questions[i]);
  64. streamWriter.WriteLine("Ответ: " + answer[i]);
  65. streamWriter.WriteLine();
  66. }
  67. streamWriter.Close();
  68. return true;
  69. }
  70. else
  71. {
  72. return false;
  73. }
  74. }
  75. public void ReadAnswer(string answer)
  76. {
  77. this.answer.Add(answer);
  78. }
  79. private void Window_Loaded(object sender, RoutedEventArgs e)
  80. {
  81. NextQuestion();
  82. }
  83. private void btnSave_Click(object sender, RoutedEventArgs e)
  84. {
  85. if (!SaveAs(question, answer))
  86. MessageBox.Show("Ошибка сохранения файла");
  87. }
  88. private void btnNext_Click(object sender, RoutedEventArgs e)
  89. {
  90. ReadAnswer(AnswerInput.Text);
  91. NextQuestion();
  92. }
  93. }
  94. }