|
Нужно перевести с FoxPro на Delphi или C++
|
|||
---|---|---|---|
#18+
Нужно перевести листинг программы с FoxPro на Delphi или C++. Языка FoxPro не знаю и потому сходу перевести не могу. Буду признателен если кто поможет. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 23:21 |
|
Нужно перевести с FoxPro на Delphi или C++
|
|||
---|---|---|---|
#18+
user32Нужно перевести листинг программы с FoxPro на Delphi или C++. Языка FoxPro не знаю и потому сходу перевести не могу. Буду признателен если кто поможет. Если Вы знаете С++ или/и Делфи, то по приведенным в тексте комментариям Вам не составит большого труда написать аналогичную программу даже не зная языка FoxPro... Так как комментарии очень подробные... З.Ы. Комментарии - это строки со знаком звездочки (*) в начале строки... Повторю еще раз смысл данной программы (по комментариям, приведенным в ней): Пользователь вводит имя поврежденного файла. Файл DBF открывается как бинарный на чтение и запись. Анализируется заголовок DBF-файла: количество записей (тип данных: long = 4 байта), длина записи (тип данных: int = 2 байта), байт с которого начинаются данные. Считывая последний байт файла определяем размер файла; рассчитываем количество записей на основании данных о размере файла (в байтах), байта, с которого начинаются данные и длины одной записи (в байтах): число записей = (длина файла - № байта начала данных)/длина записи Если в конце файла стоит байт с кодом 0х1А, то формула для расчета будет: число записей = (длина файла - № байта начала данных - 1)/длина записи Если получили не целое количество записей (например, 123.345, а не 123 или 124), то файл поврежден серьезно и его надо лечить как-то по-другому. Если число записей - целое число, то сравниваем полученное значение с тем, что получили при чтении заголовка файла. Если данные не совпадают, то записываем в соответствующие байты файла рассчитанное значение... Вот и все... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2008, 07:45 |
|
Нужно перевести с FoxPro на Delphi или C++
|
|||
---|---|---|---|
#18+
А вы попросите у Владимира Максимова, все таки он автор, хотья бы ради приличия ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2008, 09:38 |
|
Нужно перевести с FoxPro на Delphi или C++
|
|||
---|---|---|---|
#18+
SamvelА вы попросите у Владимира Максимова, все таки он автор, хотья бы ради приличия Что людей смешить. Задача примитивная, можно даже без этого кода ее решить, достаточно взять описаловку структуры заголовка DBF для написания проверялки. Мало того что 50% это комментарии, десяток функций использовано (и те никакой фоксовой специфики не имеют. русский хэлп тут ) Остальная сложность кода из-за неприспособленности фокса к подобным операциям. На Си или Паскале это пишется в 10-15 строчек кода, алгоритм понятен из поста Станислава, поэтому достаточно знать правила работы с фалами из этих языков. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2008, 10:14 |
|
Нужно перевести с FoxPro на Delphi или C++
|
|||
---|---|---|---|
#18+
Там всего то 5-6 функций нижнего уровня fopen, fseek, fread, fwrite, fclose... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2008, 10:49 |
|
Нужно перевести с FoxPro на Delphi или C++
|
|||
---|---|---|---|
#18+
Поиск в нете по словам "Бухучет + Контрольная сумма", удивлений у тебя будет море, обещаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2008, 13:34 |
|
|
start [/forum/topic.php?fid=41&fpage=147&tid=1587244]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 34ms |
total: | 198ms |
0 / 0 |