read file to memory

From: Marc Hawley <Marc_Hawley_at_email.msn.com>
Date: Mon, 25 Oct 1999 18:42:57 -0500

Carl:

If you know the name of the file, something like this will do:

create dbuffer 1000 /allot / reserve and zero some memory
0 value file-id / to store file ID

: read-data ( -- )
    s" datafile.txt" r/w open-file
    0= if to file-id
    dbuffer 1000 file-id read-file 2drop
    file-id close-file drop
    else drop
    then ;

\ eof

The following attachments are the first thing I ever wrote in SwiftForth.
They open and split the win32api help file into pieces that will fit onto a
floppy.
They are then carried to another computer and rejoined.

....Marc Hawley

begin 666 splitfile.txt
M7"!4:&4@:61E82!H97)E(&ES('1O('-P;&ET(&$@-2XW($UB(&9I;&4@:6YT
M;R!S:7@@<VUA;&QE<B!<(&]N97,N#0H-"G9A<FEA8FQE(&QA<F=E:60)7"!F
M:6QE:60_at_9F]R(&QA<F=E(&9I;&4-"G9A<FEA8FQE('-M86QL:60)7"!F:6QE
M:60_at_9F]R('-M86QL(&9I;&4-"G9A<FEA8FQE(&)Y=&5S<F5A9 E<(&)Y=&5S
M(')E860_at_9G)O;2!L87)G92!F:6QE#0H-"F-R96%T92!A8G5F9F5R(#$P,# P
M,# @86QL;W0_at_7" Q($UB(&)U9F9E<@T*#0HZ(&]P96YL87)G90T*"7,B($4Z
M7'=I;FAL<%QB8S4R:&QP,2YZ:7 B('(O=R @#0H);W!E;BUF:6QE( E<(&ED
M(&EO<@T*"61R;W @;&%R9V5I9" A#0H).PT*#0HZ(&-L;W-E;&%R9V4@;&%R
M9V5I9"! (&-L;W-E+69I;&4_at_9')O<" [#0H-"CH@<F5A9&QA<F=E("!<(')E
M860@=&AE(&YE>'0_at_36(@:6YT;R!T:&4_at_8G5F9F5R#0H)86)U9F9E<B Q,# P
M,# P#0H);&%R9V5I9"! (')E860M9FEL90E<('4@:6]R#0H)9')O< T*"6)Y
M=&5S<F5A9" A"0E<('=I;&P_at_8F4@,2!-0B!T:6QL(&QA<W0@=&EM90T*"3L-
M"@T*#0H-"CH@=&]F:6QE("@@8V%D9'(@=2 M+2 I(%P_at_8W)E871E(&9I;&4@
M;F%M960L(')E860@;F5X="!-8B!I;G1O( T*"7(O=R @8W)E871E+69I;&4)
M7"!I9"!I;W(-"@ED<F]P"0E<(&ED#0H)<VUA;&QI9" A#0H@"6%B=69F97(@
M8GET97-R96%D($ )7" Q($UB('1I;&P@;&%S="!T:6UE#0H)<VUA;&QI9"!
M('=R:71E+69I;&4_at_9')O< T*"7-M86QL:60_at_0"!C;&]S92UF:6QE(&1R;W @
M(%P_at_9G)E92!U<"!I9 T*"3L-"@T*.B!R=6YI= T*"6]P96YL87)G90T*"7)E
M861L87)G92!S(B!S;6%L;"XQ(B!T;V9I;&4)#0H)<F5A9&QA<F=E(',B('-M
M86QL+C(B('1O9FEL90T*"7)E861L87)G92!S(B!S;6%L;"XS(B!T;V9I;&4-
M"@ER96%D;&%R9V4@<R(@<VUA;&PN-"(@=&]F:6QE#0H)<F5A9&QA<F=E(',B
M('-M86QL+C4B('1O9FEL90T*"7)E861L87)G92!S(B!S;6%L;"XV(B!T;V9I
;;&4-"@EC;&]S96QA<F=E#0H)8GEE#0H).PT*
`
end

begin 666 join.txt
M7"!R96IO:6X@=&AE(&9I;&5S('-M86QL+C$@+BXN('-M86QL+C8-"EP@:6YT
M;R!O;F4@;&%R9V4_at_9FEL92!B8S4R:&QP,2YZ:7 -"@T*8W)E871E(&%B=69F
M97(@,3 P,# P,"!A;&QO= T*#0IV87)I86)L92!L87)G96ED#0IV87)I86)L
M92!S;6%L;&ED#0IV87)I86)L92!B>71E<W)E860-"@T*.B!C<F5A=&5L87)G
M90T*"7,B(&)C-3)H;' Q+GII<"(-"@ER+W<@8W)E871E+69I;&4)"5P@:60@
M:6]R#0H)9')O< T*"6QA<F=E:60@(0T*"3L-"@T*.B!R96%D<VUA;&P@*"!A
M9&1R('4@+2T@*2!<(&=I=F5N(&YA;64@;V8@<VUA;&P_at_9FEL90T*"7(O=R!O
M<&5N+69I;&4)"5P@:60@:6]R#0H)9')O< T*"7-M86QL:60@(0T*"6%B=69F
M97(@,3 P,# P," -"@ES;6%L;&ED($ -"@ER96%D+69I;&4)"5P@=2!I;W(-
M"@ED<F]P(&)Y=&5S<F5A9" A"5P@:6YT;R!B=69F97(-"@EA8G5F9F5R(&)Y
M=&5S<F5A9"! #0H);&%R9V5I9"! ('=R:71E+69I;&4)7"!I;W(-"@ED<F]P
M"0D)7"!F:6QE('!O<VET:6]N('5P9&%T960-"@ES;6%L;&ED($ @8VQO<V4M
M9FEL90E<(&EO<@T*"61R;W -"@D[#0H-"CH@<G5N:70-"@EC<F5A=&5L87)G
M90T*"7,B('-M86QL+C$B(')E861S;6%L; T*"7,B('-M86QL+C(B(')E861S
M;6%L; T*"7,B('-M86QL+C,B(')E861S;6%L; T*"7,B('-M86QL+C0B(')E
M861S;6%L; T*"7,B('-M86QL+C4B(')E861S;6%L; T*"7,B('-M86QL+C8B
M(')E861S;6%L; T*"6QA<F=E:60_at_0"!C;&]S92UF:6QE(&1R;W )7"!C;&]S
492!L87)G92!F:6QE#0H).PT*#0H`
`
end

.
Received on Mon Oct 25 1999 - 18:42:57 PDT


Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!

This archive was generated 06-Feb-2012. Archive updated nightly.