|
Home > Archive > dBASE Programming > January 2007 > read(more than 1) giving odd result
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
read(more than 1) giving odd result
|
|
| Peter B 2007-01-09, 1:31 am |
| When I use read(x) when x > 1 I get strange results. Am I doing something
wrong? I have DBase Plus 2.0 b1698 and Windows XP Pro.
Thanks, Peter
e.g. :-
// progran to show problem
clear
//Create test file
testf = new file()
testf.create("testwave.wav","AB")
testf.write("R")
testf.write("I")
testf.write("F")
testf.write("F")
testf.write(chr(66))
testf.write(chr(180))
testf.write(chr(32))
testf.write(chr(0))
testf.close()
// read 4 bytes at a time
file1 = new file()
file1.open("testwave.wav","RB" )
header = file1.read(4) // ************************
?header
a = file1.read(1)
b = file1.read(1)
c = file1.read(1)
d = file1.read(1)
?asc(a)
?asc(b)
?asc(c)
?asc(d)
// tidy
file1.close()
a = null
b = null
c = null
d = null
header = null
file1 = null
// read 1 byte at a time
file1 = new file()
file1.open("testwave.wav","RB" )
header = ""
for l = 1 to 4
a = file1.read(1)
header = header + a
endfor
?header
a = file1.read(1)
b = file1.read(1)
c = file1.read(1)
d = file1.read(1)
?asc(a)
?asc(b)
?asc(c)
?asc(d)
// tidy
file1.close()
a = null
b = null
c = null
d = null
header = null
file1 = null
testf = null
// end
| |
| Ivar B. Jessen 2007-01-09, 1:31 am |
| On Mon, 8 Jan 2007 09:48:04 +0100, in dbase.programming,
Subject: read(more than 1) giving odd result,
Message-ID: <cL7kbOwMHHA.1128@news-server>,
"Peter B" <Peter@nowhere.com> wrote:
>When I use read(x) when x > 1 I get strange results. Am I doing something
>wrong? I have DBase Plus 2.0 b1698 and Windows XP Pro.
>
>Thanks, Peter
>e.g. :-
> // progran to show problem
>clear
>//Create test file
> testf = new file()
>
> testf.create("testwave.wav","AB")
>
> testf.write("R")
> testf.write("I")
> testf.write("F")
> testf.write("F")
> testf.write(chr(66))
> testf.write(chr(180))
> testf.write(chr(32))
> testf.write(chr(0))
>
> testf.close()
>
>// read 4 bytes at a time
>file1 = new file()
>file1.open("testwave.wav","RB" )
>
> header = file1.read(4) // ************************
// ?header
> header = file1.read(4) // ************************
?
for i = 0 to 3
?? chr(header.getByte(i))
endfor
> a = file1.read(1)
> b = file1.read(1)
....
Ivar B. Jessen
| |
| Peter B 2007-01-09, 1:31 am |
| Thank you, Lots more to learn about bytes now!
Peter
"Ivar B. Jessen" <bergishagen@it.notthis.dk> wrote in message
news:b064q292l17tqscatm3aih816al7udb73k@
4ax.com...[vbcol=seagreen]
> On Mon, 8 Jan 2007 09:48:04 +0100, in dbase.programming,
> Subject: read(more than 1) giving odd result,
> Message-ID: <cL7kbOwMHHA.1128@news-server>,
> "Peter B" <Peter@nowhere.com> wrote:
>
| |
| Peter B 2007-01-09, 1:31 am |
| Can I :-
data = infile.read(255)
outfile.write(data)
or do I need to use getByte() and setByte?
Peter
"Ivar B. Jessen" <bergishagen@it.notthis.dk> wrote in message
news:b064q292l17tqscatm3aih816al7udb73k@
4ax.com...
> On Mon, 8 Jan 2007 09:48:04 +0100, in dbase.programming,
> Subject: read(more than 1) giving odd result,
> Message-ID: <cL7kbOwMHHA.1128@news-server>,
> "Peter B" <Peter@nowhere.com> wrote:
>
>
> // ?header
> ?
> for i = 0 to 3
> ?? chr(header.getByte(i))
> endfor
>
> ....
>
>
> Ivar B. Jessen
| |
| Ivar B. Jessen 2007-01-09, 1:31 am |
| On Mon, 8 Jan 2007 17:04:11 +0100, in dbase.programming,
Subject: Re: read(more than 1) giving odd result,
Message-ID: <wBuFuB0MHHA.1068@news-server>,
"Peter B" <Peter@nowhere.com> wrote:
>Can I :-
>
>data = infile.read(255)
>outfile.write(data)
>
>or do I need to use getByte() and setByte?
>
Peter,
Why don't you simply try it out yourself with a simple program like the one below my signature?
Ivar B. Jessen
//-----
fin = new file()
fin.open("testwave.wav", "R")
data = fin.read(4)
fout = new file()
fout.create("testwave.txt")
fout.open("testwave.txt", "W")
fout.write(data)
fout.close()
modi comm testwave.txt
//-----
|
|
|
|
|