1. Loopey
- Posted by "A.R.S. Alvin Koffman" <ka9qlq at hotmail.com> Dec 12, 2000
- 348 views
I can't get my while to stop doing. Using puts() I found out length isn't returning 1 then 2 then 3 but ASCII 1 2 3 so l never = > 79. Why? Here's Some of the code. Am I just stupid? include file.e integer fn, fn2, a, c, l -- infile.text, outfile sequence inLine -- Store text from infile.txt after procesing sequence outLine inLine = {} OutLine = {} fn = open("infile.txt", "r") -- open input file if fn = -1 then puts(1, "couldn't open infile\n") elsif fn != -1 then puts(1, "infile opened\n") end if fn2 = open("outfile.txt", "w") -- open output file if fn2 = -1 then puts(1, "couldn't open outfile\n") elsif fn2 != -1 then puts(1, "outfile opened. \n") end if procedure grab_c() c = getc(fn) end procedure procedure fst_chk() if c = '>' then grab_c end if end procedure while l < 79 do fst_chk inLine = append(inLine, c) l = length(inLine) puts(1, l) end while Check out my photo album http://photos.yahoo.com/alvin_ka9qlq
2. Re: Loopey
- Posted by Euman <euman at BELLSOUTH.NET> Dec 12, 2000
- 336 views
------=_NextPart_000_0042_01C0646A.061DC860 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, I think perhaps a "for" loop would be sufficient and less code. eg. fn =3D open(file_name , "r") file =3D get(fn) for x =3D 1 to length(file) mychar =3D find('<', file) seq =3D append(seq, file[mychar..mychar+79]) x =3D mychar + 1 end for BEWARE : UNTESTED CODE euman at bellsouth.net ------=_NextPart_000_0042_01C0646A.061DC860 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Hello,<BR><BR>I think perhaps a "for" = loop would be=20 sufficient and less code.<BR><BR> eg.<BR><BR> fn =3D = open(file_name ,=20 "r")<BR> file =3D get(fn)<BR> for x =3D 1 to=20 length(file)<BR> mychar =3D find('<',=20 file)<BR> seq =3D append(seq, =20 file[mychar..mychar+79])<BR> x =3D mychar + = 1<BR> end=20 for<BR><BR> BEWARE : UNTESTED CODE<BR> <A=20 ------=_NextPart_000_0042_01C0646A.061DC860--
3. Re: Loopey
- Posted by "A.R.S. Alvin Koffman" <ka9qlq at hotmail.com> Dec 12, 2000
- 342 views
- Last edited Dec 13, 2000
Thanks for the fast responds everybody. Right now I'm learning by taking stuff from the refman and playing with stuff to understand what and how it works, like length(). When I don't "get" something I rely on all of you to help explain what I'm missing. You might compare it to being a kindergartner hanging out with highscool and college people. Some things I get, most I don't. That's why I have such a hard time debugging. With that in mind, Brian, sorry I should have included more info. Yes I'm playing with test loops using length() to read a series of characters (less the > you get in forwards) in to a sequence until it gets 80 characters long then add a return and pass it to another sequence until the end of file when it will save it to an out file. I know there are better ways but I'm just trying to see what a given library routine will do, and understand how sequences (the backbone of Euphoria) work. As time goes on I'll know why I should use this routine to that routine. Kinda like cutting up frogs in school, there's no purpose to it except to understand how things work. OtterDad, I "think" where c is makes it global, could be wrong though. Euman, Thanks but haven't got to pointers yet, but will. Still don't know why length() doesn't go 1 2 3 4 though :=<[] Alvin -- Stripper v1.00 -- -- Stripes the > off forewards -- Adds a return after 80 carictors for formating with trace include file.e integer fn, fn2, a, c, l, x -- infile.text, outfile sequence inLine -- Store text from infile.txt after procesing sequence outLine -- Store file for dropping into outfile later outLine = {} fn = open("infile.txt", "r") -- open input file if fn = -1 then puts(1, "couldn't open infile\n") elsif fn != -1 then puts(1, "infile opened\n") end if fn2 = open("outfile.txt", "w") -- open output file if fn2 = -1 then puts(1, "couldn't open outfile\n") elsif fn2 != -1 then puts(1, "outfile opened. \n") end if procedure grab_c() x = 0 while x < 1 do c = getc(fn) if c != '>' then x = 1 end if end while end procedure inLine = {} l = 0 while l < 79 do grab_c inLine = append(inLine, c) -- now this stoped working, why?????? l = length(inLine) puts(1, l) end while Check out my photo album http://photos.yahoo.com/alvin_ka9qlq
4. Re: Loopey
- Posted by John <jwr6dmr at CS.COM> Dec 13, 2000
- 351 views
Is your prodecure grab_c actually pass c? I look at that and just wonder, since c is load ina aprocedure it may be local to that procedure, how do you pass a parameter out of a procedure? return c? It may working the way you wrote it, I was just wondering..