Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
Есть процедурка писанная на Delhpi 7 через ADOquery: var i,c_next:integer; s: string; mass : array[1..2] of byte; begin i:=0; c_next:=0; datamodule2.WorkGroup.close; datamodule2.WorkGroup.open; for i:=0 to 1000 do begin c_next:=c_next+1; // mass:=c_next div 256; // mass:=c_next mod 256; s:=chr(c_next div 256)+chr(c_next mod 256); datamodule2.WorkGroup.Insert; // datamodule2.WorkGroup.FieldByName('C_CC').SetData(@mass,false); datamodule2.WorkGroup.FieldByName('c_cc').Value:=s; datamodule2.WorkGroup.post; end; Она служит для заполнения двухбайтового символьного поля DBF таблицы цифрами от 1 до 1000. Все тривиально, НО после того как процедура отработала, в поле наблюдаются аномальные значения. Например, идут цифири: 1,2,3,...,9,10..Кажется, все отлично, затем ...,например, 67,68, 69, 69,69,69,...и 70,71,72, .. , 77,77,77,65,43,78,79...и т.д. ОТКУДА ОНИ БЕРУТЬСЯ ? Сломал всю голову...Причем появляются они уже после того как отработала программа, проверял...Ни кто из знакомых подсказать как решить эту проблемму не смог. Пробывал под WIN98,WIN2000. Пробовал писать на Delphi5 и 6. На разных компьютерах - результат один и тот же... Грустно... Пожалуйста , подскажите в чем грабли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:05 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
А в дебаггере глядел какие значения фактически передаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:11 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
В том то и дело, что значения передаются верные. Проверял и не раз. Прога отработала, закрываю ее, открываю DBF на просмотр, например DN-ом и привет, вот они непонятные цифири... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:20 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
... FieldByName('c_cc').... Какого типа фактически? Интересно как ты в двухбайтовое символономе поле смогешь засандалить допустим '1000'.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:31 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
Поле C_CC двухбайтовое поле, а "засандалить 1000" я могу , например, вот так: c_next:=1000; s:=chr(c_next div 256)+chr(c_next mod 256); ...insert; ...fieldbyname('C_CC').value:=s; ...post; Все очень просто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:41 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
так какое оно всетаки TStringField? TFloatField? какое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:53 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
Jesli ne TStringField to vaase togda hernja budet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 16:06 |
|
||
|
Delphi и DBF
|
|||
|---|---|---|---|
|
#18+
Можешь попробовать через БДЕ, интресно, что там получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 12:34 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2041&tid=2118177]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 355ms |

| 0 / 0 |
