易码技术论坛

 找回密码
 加入易码
搜索
查看: 369319|回复: 11

[求助]还是关于多文件读取

[复制链接]
发表于 2006-2-7 19:41:00 | 显示全部楼层
$08c8的值决定了你当前操作的文件。

打开文件后,保存$08c8

想对该文件进行操作时,把保存的内容放$08c8就可以了。
 楼主| 发表于 2006-2-8 20:05:00 | 显示全部楼层
那我会去试一试啦,太谢谢你啦。

这样就不会有打开文件的慢了,有希望了…………。
[em02][em02]
 楼主| 发表于 2006-2-9 19:58:00 | 显示全部楼层
不错,成功了。谢谢啦[em02][em02]
发表于 2006-2-10 00:47:00 | 显示全部楼层
以前试过利用这个原理编了一个复制文件的程序,同时打开了两个文件,一个只读,一个写,一边读一边写,完毕关闭两个文件,文件小于49k的时候是成功的,大于49k 的时候就有问题了,超出49k的部分保存不了,试了很多次都不行,不知道有没有人可以帮忙写一个这样的程序?多点注释,谢谢。
发表于 2006-2-11 12:38:00 | 显示全部楼层
NC2600的呢?
发表于 2006-2-11 13:10:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2006-2-11 13:19:00 | 显示全部楼层
谢谢了!![em01][em01]
发表于 2006-2-11 14:50:00 | 显示全部楼层
以下是引用litianzzk在2006-2-10 0:47:00的发言:[BR]以前试过利用这个原理编了一个复制文件的程序,同时打开了两个文件,一个只读,一个写,一边读一边写,完毕关闭两个文件,文件小于49k的时候是成功的,大于49k 的时候就有问题了,超出49k的部分保存不了,试了很多次都不行,不知道有没有人可以帮忙写一个这样的程序?多点注释,谢谢。


不会啊,我的那个压缩工具中就是这样弄的,有人压缩过1M的文件也没问题。

立天是怎样判断文件读取完成的?
发表于 2006-2-11 16:01:00 | 显示全部楼层
打开文件后得到文件大小,文件多大读多少啊。

不会是没有读取完的问题的,因为复制出来的文件与原文件有相同的大小(从资源管理器中得知),只是超出49k的部分保存不了,也没占空间

后来我干脆一边读nand一边写文件了。。。。。。。真是晕


发表于 2006-2-11 16:21:00 | 显示全部楼层
"打开文件后得到文件大小,文件多大读多少啊。"

不太清楚你是怎样获得文件大小的,用到INT $0514了吗?

我是这样:

                                        LDA #$80
                                        STA $08c9
                                        .DB $00
                                        .DW $0515
                                        LDA $08c8
                                        STA infile
                                        .DB $00
                                        .DW $0514
                                        LDA $08fb
                                        STA filesize
                                        LDA $08fc
                                        STA filesize+1
                                        LDA $08fd
                                        STA filesize+2

;filesize .db $00,$00,$00

其它地方应该不会出问题


发表于 2006-2-12 13:54:00 | 显示全部楼层
这我就不知道用int $0514啦,我只知道打开文件之后文件大小可以这样得出:
filesize=(peek($08e2)+peek($08e3)*256)*16384+peek($08e4)+peek($08e5)*256

即filesize/16384的商放在$08e2,$08e3,余数放在$08e4,$08e5

所以我复制的时候就先以16384为长度,读(同时写进另一文件)商数那么多次,最后再以余数为长度读(同时写进另一文件)一次,这样就完了,关闭两个文件.
思路就是这样,理论上没什么问题,可就是出问题,可能是我自己的程序设计得有问题吧

今天重新把程序写了一遍,成功了,真不知道以前错在哪。。。

 楼主| 发表于 2006-2-7 19:24:43 | 显示全部楼层 |阅读模式
麻烦各位给一个例子好吗???

还是不太懂啊。

怎样同时读取多个文件???

nc3k的,谢谢你们了
[em06][em06]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-19 08:51 , Processed in 0.013847 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表