| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 797 人关注过本帖
标题:我在網路上發現那段程式碼,正是我需要解開的問題,但是我不知道如何運用那 ...
只看楼主 加入收藏
高大成
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2023-10-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
我在網路上發現那段程式碼,正是我需要解開的問題,但是我不知道如何運用那段程式碼,求各位大大解答,謝謝您。
dbf檔在第28byte記錄著是否有index,將其設為0就不會去找index了   
function disableIndex(fname:string):integer;
//attempts disable .mdx by clear .dbf's byte 28
// return 1 if it has intex file
var
    F:File of byte;
    old,value :byte;
begin
  value := 0;
  try
    assignFile(F, fname);
  except
    showmessage('can not open file:'  fname);
  end;
  Reset(F);
  Seek(F, 28);
  read(F, old);
  if old = 1 then begin
    Seek(F, 28);
    Write(F, value);
    result := 1;
    end
  else
    result := 0;
  CloseFile(F);
end;
搜索更多相关主题的帖子: file byte if end value 
2023-10-20 19:14
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:5 
这是什么语言代码

坚守VFP最后的阵地
2023-10-20 19:54
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:805
专家分:1231
注 册:2021-10-13
收藏
得分:5 
台湾的兄弟,这里是foxpro
2023-10-20 20:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:5 
回复 楼主 高大成
delphi写的程式
vfp可用低级文件操作代替
2023-10-20 20:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
以下是引用高大成在2023-10-20 19:14:37的发言:
......
  Seek(F, 28);
  read(F, old);
  if old = 1 then begin
    Seek(F, 28);
    Write(F, value);
......

取偏移28(old)== 1 来判断不太准确,最好用BITAND(old,1)==1来判断,并且不要直接修改为0(因这个数还有其他的意思)。

[此贴子已经被作者于2023-10-20 20:41编辑过]

2023-10-20 20:39
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:322
专家分:450
注 册:2019-10-11
收藏
得分:5 
*第28位,表的标记
*0x01 具有 .cdx结构的文件
*0x02 文件包含备注
*0x04 文件是数据库(.dbc)
CLOSE all
a=FOPEN("syc.dbf",12)
=FSEEK(a,28)
b=ASC(FREAD(a,1))
IF BITTEST(b,0)
    ?"这个文件有结构索引"
*    =FSEEK(a,28)
*    =FWRITE(a,CHR(BITCLEAR(b,0)))  &&清除标志
ELSE
    ?"这个文件无结构索引"
ENDIF
=FCLOSE(a)
2023-10-21 09:56
高大成
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2023-10-20
收藏
得分:0 
這是我的dbf檔案打開亂碼,因為之前有人跟我說過,byte第28位元什麼什麼的,但因為我是沒基礎的人,完全聽不懂要如何操作那段程式碼,求各位大大,指導我要如何去運作那段程式碼,謝謝。

                        F                   14                               ???��??���a���R  ��  2012�� �� 21 �E                                                 115/12/07                     2.5                               20171014��  �M2017102306/09(�E�W),06/08(�E�R),05/17(�E�W,21�W),05/30(��2�R),05/28(��2�W),02/23(���W),02/22(���R,��2�R),02/21(��2�W),10/23(�׼W),10/14(���W),                                                                                                        
2023-11-03 05:44
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
回复 7楼 高大成
dbf是怎样打开的?
2023-11-03 21:00
高大成
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2023-10-20
收藏
得分:0 
回复 8楼 吹水佬
我是用記事本打開的
2023-11-07 08:58
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:322
专家分:450
注 册:2019-10-11
收藏
得分:0 
6楼的可以解决你的问题,只是你没基础,不知其然
2023-11-07 09:04
快速回复:我在網路上發現那段程式碼,正是我需要解開的問題,但是我不知道如何運 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026081 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved