|
|
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
Подскажите как в Builder-e 5.0 открыть DBF и пробежаться по нему построчно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 15:43 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
А там что -- строчный формат? Построчно ЛЮБОЙ файл можно открыть в TMemo или с помощью TStringList ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 20:30 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
Есть два способа. 1) Быстрый и неправильный. Открыть файл как последовательность символов. Пропустить от начала 32 + 32*N + 3 символов. (здесь N - количество полей) Читать символы с подсчетом длины строки. Если строка начинается с символа * то она считается удаленной. Все типы данных - символьные. Даты - без разделителей. Булевы поля могут принимать значения "1","0","T","F","Y","N" За формулу не ручаюсь. Она сильно зависит от версии DBF-ника и от особенностей того софта на котором файл был создан. С кодировкой тоже могут быть бока. Но обычно это или "windows-1251" или "cp866". 2) Медленный но правильный. Настроить в свойствах системы драйвер ODBC для DBF файлов. Работать с файлом как с базой данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2005, 15:04 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
На форму бросаешь компоненты ADOConnection, ADOTable или ADOQuery. Кроме того неплохо определиться, какие именно ДБФки будешь смотреть. Clipper, FoxPro for Dos, FoxPro for Windows, и т.д., потому что кроме того что заголовки разные (соответственно и строки подключения), и кодировки текстовых данных различны. Вот кусок когда то писаного кода Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 04:18 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
Serg****Подскажите как в Builder-e 5.0 открыть DBF и пробежаться по нему построчно. Есть три пути: 1.) Использовать ADO, BDE и т.д. преимущества: -можно строить SQL-запросы недостатки: - работает медленно. 2.) Написать свой драйвер для работы с файлами. В принципе это несложно (формат файлов DBF легко можно найте в Инете) преимущества: - научитесь работе с форматом DBF :) - ускоряется построчная (позаписная) работа с данными, если, конечно, не работать с мемо-, general-, или BLOB-полями (файлов без этих типов полей примерно 90%); недостатки: - затраты по времени; - невозможность полноценной обработки SQL-запросов (если вообще что-нибудь сделано в этом направлении) 3.) Использовать библиотеки сторонних разработчиков. Ту уже ничего сказать не могу - это сильно зависит от библиотеки. У меня, например, для работы с файлами dbf используется библиотека XBase. Так вот, у нее все преимущества и недостатки, отмеченные в п.2... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 06:50 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
Да простит меня Всевышний, если я не понял вопроса правильно.... Я бы делал так: Кидаю на форму компонент Table1, у которого в свойствах указываю TableName = C:\WayToDBF А теперь собсно код: Table1->First(); while(!Table1->eof) { for(int i=0; i<Table1->Fields->Count; i++) { // Do something with your fuckin fields, for example like this Table1->Fields->Fields ->AsString; } Table1->Next(); } Вот и усё.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 19:18 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
Serega128Да простит меня Всевышний, если я не понял вопроса правильно.... Я бы делал так: Кидаю на форму компонент Table1, у которого в свойствах указываю TableName = C:\WayToDBF А теперь собсно код: Table1->First(); while(!Table1->eof) { for(int i=0; i<Table1->Fields->Count; i++) { // Do something with your fuckin fields, for example like this Table1->Fields->Fields ->AsString; } Table1->Next(); } Вот и усё.... А как избавиться от диалога предлагающего ввести Логин и Пароль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 10:55 |
|
||
|
Подскажите как в Builder-e открыть DBF и пробежаться по нему построчно
|
|||
|---|---|---|---|
|
#18+
Serg**** Serega128Да простит меня Всевышний, если я не понял вопроса правильно.... Я бы делал так: ... Вот и усё....А как избавиться от диалога предлагающего ввести Логин и Пароль? Добавить к твоему проекту компонент TSesion и обрабатывать событие onPassword(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2005, 11:34 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32968590&tid=2033559]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
142ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 447ms |

| 0 / 0 |
