BH2114 Posted January 18, 2018 Share Posted January 18, 2018 In the following code, I have a long list of string items that get written to a file. I suspect that using an array would be a more efficient way of doing this. that being the case, could you provide an example of how this is done? while(1) private st = systime() while(systime() - st < logInterval*60) delay(.2) if (logflag==0) break endif endwhile if (logflag==0) break endif private string k =format("%4.2f",TorqueOutput[0]) private string l =SpeedOutput[0] private string m =format("%3.1f",Temp1[0]) private string n =format("%3.1f",Temp2[0]) private string o =format("%3.1f",Temp3[0]) private string p =format("%3.1f",Temp4[0]) private string q =format("%3.1f",Temp5[0]) private string r =format("%3.1f",Temp6[0]) private string s =format("%3.1f",Temp7[0]) private string t =format("%3.1f",Temp8[0]) private string u =format("%3.1f",Temp9[0]) private string v =format("%3.1f",Temp21[0]) private string w =format("%4.2f",Horsepower[0]) private string x =formatdatetime("%m/%d/%Y %H:%M:%S",systime()) private string crlf = chr(13) + chr(10) private string a = '<td class="tg-yw4l">' private string deg = chr(176)+' C</td>' FileHandle = File.Open(NewFileName,0,1,1,1) private string out= '<tr>' out += crlf out += a out += x out += '</td>' out += crlf out += a out += k out += ' Ft. Lbs</td>' out += crlf out += a out += l out += ' RPM</td>' out += crlf out += a out += m out += deg out += crlf out += a out += n out += deg out += crlf out += a out += o out += deg out += crlf out += a out += p out += deg out += crlf out += a out += q out += deg out += crlf out += a out += r out += deg out += crlf out += a out += s out += deg out += crlf out += a out += t out += deg out += crlf out += a out += u out += deg out += crlf out += a out += v out += deg out += crlf out += a out += w out += ' HP</td>' out += crlf out += '</tr>' out += crlf File.Write(FileHandle,out) File.Close(FileHandle) wait(.2) endwhile FileHandle = File.Open(NewFileName,0,1,1,1) private string out= '</table>' out += crlf out += '</html> Link to comment Share on other sites More sharing options...
BH2114 Posted January 18, 2018 Author Share Posted January 18, 2018 actually, upon more consideration, I think that this makes more sense: while(1) private st = systime() while(systime() - st < logInterval*60) delay(.2) if (logflag==0) break endif endwhile if (logflag==0) break endif private string k =format("%4.2f",TorqueOutput[0]) private string l =SpeedOutput[0] private string m =format("%3.1f",Temp1[0]) private string n =format("%3.1f",Temp2[0]) private string o =format("%3.1f",Temp3[0]) private string p =format("%3.1f",Temp4[0]) private string q =format("%3.1f",Temp5[0]) private string r =format("%3.1f",Temp6[0]) private string s =format("%3.1f",Temp7[0]) private string t =format("%3.1f",Temp8[0]) private string u =format("%3.1f",Temp9[0]) private string v =format("%3.1f",Temp21[0]) private string w =format("%4.2f",Horsepower[0]) private string x =formatdatetime("%m/%d/%Y %H:%M:%S",systime()) private string crlf = chr(13) + chr(10) private string a = '<td class="tg-yw4l">' private string deg = chr(176)+' C</td>' FileHandle = File.Open(NewFileName,0,1,1,1) private string out= '<tr>' out += crlf + a + x + '</td>' out += crlf + a + k + ' Ft. Lbs</td>' out += crlf + a + l + ' RPM</td>' out += crlf + a + m + deg out += crlf + a + o + deg out += crlf + a + p + deg out += crlf + a + q + deg out += crlf + a + r + deg out += crlf + a + s + deg out += crlf + a + t + deg out += crlf + a + u + deg out += crlf + a + v + deg out += crlf + a + w + deg out += crlf + a + w + ' HP</td>' out += crlf + '</tr>' File.Write(FileHandle,out) File.Close(FileHandle) wait(.2) endwhile FileHandle = File.Open(NewFileName,0,1,1,1) private string out= '</table>' out += crlf + '</html> Link to comment Share on other sites More sharing options...
AzeoTech Posted January 19, 2018 Share Posted January 19, 2018 It does, but I'd use longer variable names. I general reserve single letter variable names for counters in things like for() loops. I also probably wouldn't do the separate assignment for each item. I'd definitely shorten crlf, your <td>, and deg, though I'd rename "a" to at least "td" so its clear, then I'd leave the rest, so instead of: out += crlf + a + m + deg I'd put: out += crlf + td + format("%3.1f",Temp1[0]) + deg Its much clearer and you don't have to constantly scroll up your code to figure out what m, o, and p are. There just isn't a good reason to assign them to a variable even if the variable name is more than 1 letter. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.