Datei #qowgcr32-3487

Hochgeladen von einem anonymen Benutzer - 26/07/2010 22:03 - 100 Zugriffe
Quellcode
  1. void Words::save()
  2. {
  3. 	int i,j;
  4. 	DWORD bytes;
  5. 	wchar_t stroka0[100];
  6. 	QString FileName = QFileDialog::getSaveFileName (this, "Сохранить файл...", "game.bal", "файлы (*.bal)");
  7. 	stroka0[FileName.toWCharArray(stroka0)]=0;
  8. 	HANDLE File = CreateFile (stroka0, GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
  9. 	WriteFile(File,(void *)&n, sizeof(int),&bytes,NULL);
  10. 	WriteFile(File,(void *)&m, sizeof(int),&bytes,NULL);
  11. 	for(i=0; i<n; i++)
  12. 	{
  13. 		for(j=0; j<m; j++)
  14. 		{
  15. 			QChar sym=matrix[i][j];
  16. 			WriteFile(File,(void *)&sym, sizeof(QChar),&bytes,NULL);
  17. 		}
  18. 	}
  19. 	WriteFile(File,(void *)&mayAdd, sizeof(bool),&bytes,NULL);
  20. 	wchar_t stroka1[9];
  21. 	stroka1[name.toWCharArray(stroka1)]=0;
  22. 	WriteFile(File,(void *)&stroka1, sizeof(stroka1),&bytes,NULL);
  23. 	wchar_t stroka2[22];
  24. 	stroka2[ava.toWCharArray(stroka2)]=0;
  25. 	WriteFile(File,(void *)&stroka2, sizeof(stroka2),&bytes,NULL);
  26. 	int count1=l1.size();
  27. 	WriteFile(File,(void *)&count1, sizeof(int),&bytes,NULL);
  28. 	for (i=0; i<count1; i++)
  29. 	{
  30. 		stroka2[l1[0].toWCharArray(stroka2)]=0;
  31. 		WriteFile(File,(void *)&stroka2, sizeof(stroka2),&bytes,NULL);
  32. 	}
  33. 	int count2=l2.size();
  34. 	WriteFile(File,(void *)&count2, sizeof(int),&bytes,NULL);
  35. 	for (i=0; i<count2; i++)
  36. 	{
  37. 		stroka2[l2[0].toWCharArray(stroka2)]=0;
  38. 		WriteFile(File,(void *)&stroka2, sizeof(stroka2),&bytes,NULL);
  39. 	}
  40. 	WriteFile(File,(void *)&size1, sizeof(int),&bytes,NULL);
  41. 	WriteFile(File,(void *)&size2, sizeof(int),&bytes,NULL);
  42. 	CloseHandle(File);
  43. }
  44. void Words::load()
  45. {
  46. 	QString filename = QFileDialog::getOpenFileName (this, "&#1054;&#1090;&#1082;&#1088;&#1099;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;...", "", "&#1092;&#1072;&#1081;&#1083;&#1099; (*.bal)");
  47. 	int i,j;
  48. 	DWORD bytes;
  49. 	wchar_t stroka0[100];
  50. 	stroka0[filename.toWCharArray(stroka0)]=0;
  51. 	HANDLE File = CreateFile (stroka0, GENERIC_READ, NULL, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
  52. 	ReadFile(File,(void *)&n, sizeof(int),&bytes,NULL);
  53. 	ReadFile(File,(void *)&m, sizeof(int),&bytes,NULL);
  54. 	for(i=0; i<n; i++)
  55. 	{
  56. 		for(j=0; j<m; j++)
  57. 		{
  58. 			QChar sym;
  59. 			WriteFile(File,(void *)&sym, sizeof(QChar),&bytes,NULL);
  60. 			matrix[i][j]=sym;
  61. 		}
  62. 	}
  63. 	ReadFile(File,(void *)&mayAdd, sizeof(bool),&bytes,NULL);
  64. 	wchar_t stroka1[9];
  65. 	ReadFile(File,(void *)&stroka1, sizeof(stroka1),&bytes,NULL);
  66. 	name=QString::fromWCharArray(stroka1);
  67. 	wchar_t stroka2[22];
  68. 	ReadFile(File,(void *)&stroka2, sizeof(stroka2),&bytes,NULL);
  69. 	ava=QString::fromWCharArray(stroka2);
  70. 	int count1;
  71. 	ReadFile(File,(void *)&count1, sizeof(int),&bytes,NULL);
  72. 	for (i=0; i<count1; i++)
  73. 	{
  74. 		QString str;
  75. 		ReadFile(File,(void *)&stroka2, sizeof(stroka2),&bytes,NULL);
  76. 		str=QString::fromWCharArray(stroka2);
  77. 		l1<<str;
  78. 	}
  79. 	int count2;
  80. 	ReadFile(File,(void *)&count2, sizeof(int),&bytes,NULL);
  81. 	for (i=0; i<count2; i++)
  82. 	{
  83. 		QString str;
  84. 		ReadFile(File,(void *)&stroka2, sizeof(stroka2),&bytes,NULL);
  85. 		str=QString::fromWCharArray(stroka2);
  86. 		l2<<str;
  87. 	}
  88. 	ReadFile(File,(void *)&size1, sizeof(int),&bytes,NULL);
  89. 	ReadFile(File,(void *)&size2, sizeof(int),&bytes,NULL);
  90. 	CloseHandle(File);
  91. }