|
Перезапись файла
|
|||
---|---|---|---|
#18+
Ситуация такая. Есть два комбобокса, куда вводятся номера годов. Файл, в котором к каждому году соответствуют параметры (1991 1 2 3 4 5), задающиеся из текст боксов. Записать файл сразу на 40 лет (1991 - 2030) с одинаковыми параметрами у меня получилось. Код: plaintext 1. 2. 3. 4. 5.
необходимо сделать так, чтобы можно было вводить интервалами параметры, задавая года через комбобоксы (с 1991 по 1996 одни, с 1996 года - другие). Понимаю, что нужно сделать, а вот не понимаю - как. Надеюсь, доступно объяснил проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2011, 18:44 |
|
Перезапись файла
|
|||
---|---|---|---|
#18+
Прочитал сорок раз. Совершенно непонятно, что вызывает проблему. Предлагаю приложить пример файла и скриншот формы - это будет наглядно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2011, 19:53 |
|
Перезапись файла
|
|||
---|---|---|---|
#18+
Я так и понял, что лучше не писать с работы, когда тебя то там, то здесь тыкают, но не удержался. По порядку: 1. Существует файл, в который записываются значения в порядке - год \ параметры (1, 2,3....n) 2. Параметры задаются пользователем через текстбоксы (все, кроме параметра год - задается программно (переменная Year)) 3. На данный момент все реализовано так, что те параметры , которые задает пользователь - записываются в файл сразу для всех существующих лет ( всего годов в программе 40 (1991 - 2030)). Цикл, записывающий продемонстрирован в первом сообщении. Внутри файла все выглядит следующим образом : Year par1 par2 .... parN 1991 1 2 ..... N 1992 1 2 ..... N и так для каждого значения Year до конца цикла. 4. Необходимо сделать так, чтобы пользователь мог вводить для разных лет (периодов (например с 1991 - 2000 )) разные параметры. Мое предположение об удобстве - сделать комбобоксы , в которых пользователь выбирает промежуток (комббокс1 = 1991; комбобокс2 = 2000), присваивает этому промежутку параметры (по нажатию кнопки). Выбирает следующий промежуток и присваивает ему другие параметры. То есть возможность задачи различных параметров для всего периода. Собственно вопрос в чем : Понятно, что необходимо сделать - нужно, чтобы считывались значения комбобоксов, эти значения переходили в границы цикла (понимаю, как сделать). Файл записывается для выбранного промежутка годами и параметрами. Но! Как сделать, чтобы при дальнейшем выборе промежутков (в комбобоксах) файл не начинал записываться с начала, а начинал записываться с новой строки (продолжая файл), и при желании - можно было легко изменить уже заданные параметры (то есть сделать поиск по файлу и перезаписать нужные строки). Вот, собственно как это сделать - не могу понять. Надеюсь, что сейчас изложил понятнее суть вопроса (безумные дни нынче - соображалка не работает). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2011, 21:25 |
|
Перезапись файла
|
|||
---|---|---|---|
#18+
То есть, если я правильно понял, проблема в том, что вы хотите организовать произвольный доступ к файлу, но не знаете как. 1) Если параметры РАЗНОЙ длины, то все плохо, вам придется ПОЛНОСТЬЮ перезаписывать файл, при изменении, скажем, первой строки. 2) Такая задача обычно решается не через текстовый файл, а через файл БД достаточно элементарно. При этом можно прикрутить сетку и сделать удобный интерфейс для пользователя типа экселевского листика. 2а) Если текcтовый файл не является самоцелью - использовать файл БД (mdb) 2б) Если текстовый файл нужен по окончании работы - работать с БД, по кнопке "редактирование завершено" данные однократно выгружаются из БД в текстовый файл 2в) Если тектовый файл нужен непрерывно в процессе редактирования (используется другим параллельным процессом) - при старте программы загрузить все данные в память, там же редактировать и выгружать в текстовый файл при изменении пользователем комбобокса. Ну или аналогичный вариант 2б - с выгрузкой сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2011, 21:45 |
|
Перезапись файла
|
|||
---|---|---|---|
#18+
ДаркТМ, после сборки тщательно обработать напильником Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2011, 23:59 |
|
|
start [/forum/topic.php?fid=60&msg=37063348&tid=2159055]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 141ms |
0 / 0 |