Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Извините за старый вопрос, но пересмотрел вопросы и ответы по DBF на форуме (спасибо , krvsa) пепрепробывав все, но так и не вышло. Есть файлик DA191802_Rs.dbf из готовой структурой (шапка, кол. строк) для записи данных нужно пропустить шапку и далее вписывать строки ДЕЛАЮ ТАК S file="C:\0\DA191802_Rs.dbf" ;Читаем шапку O file:("R") U file R A ; ??? ТУТ ВЫСКАКИВАЕТ ОШИБКА C file ;Далее пишем данные O file:("NW") U file ;тут цикл записи данных С file в MSM делали так ;Чтение заголовка O 51:("DA000001.DBF":"r") U 51 R a#513 C 51 ;Запись кол.строк (запись заголовка файла) STR-кол.стр S a=$C(STR#256)_$C(STR\256) O 51:("DA000001.DBF":"w") U 51 W a ;тут цикл записи данных ;Выход W $C(0) C 51 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 16:22 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Не ошибка. А программа ожидает ввода из клавиатуры. А ведь должна считаться 1 строка ясно, что R в диалоге для ввода информации, а при чтении из файла.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 16:37 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Ну, собственно, пока проблема не в дбф файлах, а файлах вообще. Может, название неверное, буквы русские, файл занят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 16:43 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Блин вроде должно быть прото, но не читает установил закрытие файла перед открытием S file="C:\0\DA191802_Rs.dbf" C file S file="C:\0\DA191802_Rs.dbf" O file:("R") R a C file файлик прикрепил можна попробывать в ТЕРМИНАЛЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 16:58 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Возможно, файл блокирован внешней программой. У меня все читается. В терминале пробовать коварно, там нужно делать Read в той же строке, что и Use, так как с окончанием команды поток переключается на терминал, и если делать построчно в терминале, R A ждет ввода с терминала. Кстати, флаги NW неправильные, нужны будут WU или WF, но не N, а то у вас старый файл сотрется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 17:39 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Да... привычка в терминале работать. С П А С И Б О !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 17:51 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Александр GAGADDDOC, S file="C:\0\DA191802_Rs.dbf" O file:("R") U file R a C file не потеряли U file ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 20:39 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Александр GAGADDDOCпепрепробывав все, но так и не вышло. Т.е. моя программка не читает какой-то дбф-файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 11:04 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Из Вашей программки взято много, но в программке есть переходы на иные программы и поэтомо разобраться тяжеловато I '$$Cache^ACACHE S prt=$$FOpen^ASYS(File,"RW") Если можна помогите ЗАДАЧА ТАКАЯ Есть готовый файлик (ДЛЯ УПРОЩЕНИЯ) (шапка и одна строка) нужно записать данные из Каше Делаю так из DBF файлика беру шапку (по идее первую строку) и пишу в переменную "а" далее "а" пишу обратно в DBF файлик и далее пишу данные S file="C:\0\DA191802_Rs.dbf" C file S file="C:\0\DA191802_Rs.dbf" O file:("R") Use file ;читаю шапку Read a s ^A=a ;просто для проверки, что прочитало (что-то прочитало, но вроде не все данные)е ;Записываю шапку W a C file O file:("WU") U file тут цикл записи данных ... W DAN C file Программка проходит, но при окрытии готового DBF (ВИЕРОМ DBF) пишет файл запорченый В MSM все просто, ТУТ что-то не идет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 13:54 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Александр GAGADDDOCИз Вашей программки взято много, но в программке есть переходы на иные программы и поэтомо разобраться тяжеловато Код: plaintext Ну это не проблема... Вот та функция для Кащея Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Александр GAGADDDOCЕсли можна помогите Доведи до ума программку и пользуйся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 15:12 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#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. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 15:14 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Шапку читает и записывает СПАСИБО !!!! ТЕПЕРЬ нужно правильно сформировать записываемою строку если DBF файл имет такую структуру NP-Numeric , ширина 5 после запятой 0 PERIOD-Numeric , ширина 1 после запятой 0 RIK-Numeric , ширина 4 после запятой 0 и так далее есть и другие типы полей. Для формирования строки делаю например O file:("WU") U file S NP=2 S PERIOD=0 S RIK=2011 S STR=$J(NP,5)_$J(PERIOD,1)_$J(RIK,4) W STR вопрос как правильно сфорировать строку ЗНАЯ ШАПКУ DBF и какой символ разделяет строки в DBF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 16:21 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Пример чтения/записи в DBF напрямую: n #; читаем файл-шаблон do ##class(p6.Dbf).ReadFile("DA191802_Rs.dbf") /* структуру можно задать и вручную, например, так: set ^||dbf("header")= $lb( $lb("NP","N",5,0), $lb("PERIOD","N",1,0), $lb("RIK","N",4,0), $lb("KOD","C",10,0), $lb("TYP","N",1,0), $lb("TIN","C",10,0), $lb("S_NAR","N",12,2), $lb("S_DOX","N",12,2), $lb("S_TAXN","N",12,2), $lb("S_TAXP","N",12,2), $lb("OZN_DOX","N",3,0), $lb("D_PRIYN","D",8,0), $lb("D_ZVILN","D",8,0), $lb("OZN_PILG","N",2,0), $lb("OZNAKA","N",1,0) ) */ #; задаём одну строку с данными set ^||dbf("row",1)=$listbuild(1,2,3,"Код ",4,"tin ",5.1,6.2,7.3,8.4,9,$ZDH("2000-01-21",3),$ZDH("2010-12-31",3),10,9) #; записываем структуру и данные в новый файл do ##class(p6.Dbf).WriteFile("DA191802_Rs1.dbf") #; читаем и выводим содержимое и структуру вновь созданного файла do ##class(p6.Dbf).ReadFile("DA191802_Rs1.dbf") zw ^||dbf Результат: Код: plaintext 1. 2. PS: класс p6.Dbf входит в комплект Прототипа-6 . Я его доработал: использовал новые возможности Caché, исправил ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 16:41 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Вот еще один класс примерный аналог p6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 22:44 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
Александр GAGADDDOCвопрос как правильно сфорировать строку ЗНАЯ ШАПКУ DBF Пример есть и в моей программке... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2011, 09:11 |
|
||
|
dbf ФАЙЛЫ
|
|||
|---|---|---|---|
|
#18+
СПАСИБА ЗА ПРОГРАММКУ dbf.rsa !!!! Буду разбираться... А пока сделали так сохранили данные в XLS (шапку набрали как в DBF) затем сохранили в DBF подредактировали файлик DBF прогой Navigator.exe - набрали нужную структуру можна еще dbfHeaderEdit.exe (установить кол.строк) и все... можна ли дать прогу из ПРОТОТИПА последнюю верисю скачал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2011, 13:51 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37266564&tid=1557741]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
126ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 411ms |

| 0 / 0 |
