<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Ah, and given that wonderful and valuable piece of information,
the following script (PHP) renders a nice and clean table</p>
<div style="color: #a6accd;background-color: #292d3e;font-family: 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback';font-weight: normal;font-size: 18px;line-height: 24px;white-space: pre;"><div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">key </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;">csv/key</span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">map </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;">csv/map</span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div>
<div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">file </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #82aaff;">file_get_contents</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">map</span><span style="color: #89ddff;">);</span></div><div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">rows </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #82aaff;">explode</span><span style="color: #89ddff;">(</span><span style="color: #82aaff;">chr</span><span style="color: #89ddff;">(</span><span style="color: #f78c6c;">10</span><span style="color: #89ddff;">),$</span><span style="color: #a6accd;">file</span><span style="color: #89ddff;">);</span></div>
<div><span style="color: #82aaff;">list</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">a</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">blocksize</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">b</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">fields</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">pwd</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">b</span><span style="color: #89ddff;">)</span><span style="color: #c792ea;">=</span><span style="color: #82aaff;">explode</span><span style="color: #89ddff;">(</span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;">:</span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">rows</span><span style="color: #89ddff;">[</span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">]);</span></div>
<div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">cols </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">[];</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">n</span><span style="color: #c792ea;">=</span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;font-style: italic;">for</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;">=</span><span style="color: #f78c6c;">1</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;"><</span><span style="color: #82aaff;">sizeof</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">rows</span><span style="color: #89ddff;">);</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;">++</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">if</span><span style="color: #89ddff;">(</span><span style="color: #c792ea;">!</span><span style="color: #82aaff;">isset</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">rows</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">x</span><span style="color: #89ddff;">]))</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">continue</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">}</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">if</span><span style="color: #89ddff;">(</span><span style="color: #82aaff;">sizeof</span><span style="color: #89ddff;">(</span><span style="color: #82aaff;">explode</span><span style="color: #89ddff;">(</span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;">:</span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">rows</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">x</span><span style="color: #89ddff;">]))</span><span style="color: #c792ea;"><</span><span style="color: #f78c6c;">3</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">continue</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">}</span></div><div><span style="color: #a6accd;"> </span><span style="color: #82aaff;">list</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">aa</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">ab</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">ac</span><span style="color: #89ddff;">)</span><span style="color: #c792ea;">=</span><span style="color: #82aaff;">explode</span><span style="color: #89ddff;">(</span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;">:</span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">rows</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">x</span><span style="color: #89ddff;">]);</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">if</span><span style="color: #89ddff;">(</span><span style="color: #82aaff;">intval</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">ab</span><span style="color: #89ddff;">)</span><span style="color: #c792ea;"><</span><span style="color: #f78c6c;">1</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">continue</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">}</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">n</span><span style="color: #89ddff;">][</span><span style="color: #89ddff;">'</span><span style="color: #c3e88d;">name</span><span style="color: #89ddff;">'</span><span style="color: #89ddff;">]</span><span style="color: #c792ea;">=</span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">aa</span><span style="color: #89ddff;">;</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">n</span><span style="color: #89ddff;">][</span><span style="color: #89ddff;">'</span><span style="color: #c3e88d;">size</span><span style="color: #89ddff;">'</span><span style="color: #89ddff;">]</span><span style="color: #c792ea;">=</span><span style="color: #82aaff;">intval</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">ab</span><span style="color: #89ddff;">);</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">n</span><span style="color: #c792ea;">++</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;">}</span></div>
<div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">maxsize </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #82aaff;">filesize</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">key</span><span style="color: #89ddff;">);</span></div><div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">sent </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;">$</span><span style="color: #a6accd;">handle </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #82aaff;">fopen</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">key</span><span style="color: #89ddff;">,</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;">r</span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">);</span></div>
<div><span style="color: #82aaff;">echo</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"><table border=1></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div><div><span style="color: #82aaff;">echo</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"><thead><tr></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;font-style: italic;">for</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;">=</span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;"><</span><span style="color: #82aaff;">sizeof</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">);$</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;">++</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span></div><div><span style="color: #a6accd;"> </span><span style="color: #82aaff;">echo</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"><th></span><span style="color: #89ddff;">{$</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">x</span><span style="color: #89ddff;">]['</span><span style="color: #c3e88d;">name</span><span style="color: #89ddff;">']}</span><span style="color: #c3e88d;"></th></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;">}</span></div><div><span style="color: #82aaff;">echo</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"></tr></thead><tbody></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div>
<div><span style="color: #89ddff;font-style: italic;">while</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">sent </span><span style="color: #c792ea;"><</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">maxsize</span><span style="color: #89ddff;">){</span></div>
<div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">row </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #82aaff;">fread</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">handle</span><span style="color: #89ddff;">,</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">blocksize</span><span style="color: #c792ea;">+</span><span style="color: #f78c6c;">20</span><span style="color: #89ddff;">);</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">row </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #82aaff;">substr_replace</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">row</span><span style="color: #89ddff;">,</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">''</span><span style="color: #89ddff;">,</span><span style="color: #a6accd;"> </span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">,</span><span style="color: #a6accd;"> </span><span style="color: #f78c6c;">20</span><span style="color: #89ddff;">);</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">if</span><span style="color: #89ddff;">(</span><span style="color: #82aaff;">trim</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">row</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #c792ea;">==</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">""</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">sent </span><span style="color: #c792ea;">+=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">blocksize</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">continue</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">}</span></div>
<div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">p </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">record </span><span style="color: #c792ea;">=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">""</span><span style="color: #89ddff;">;</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;font-style: italic;">for</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;">=</span><span style="color: #f78c6c;">0</span><span style="color: #89ddff;">;</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;"><</span><span style="color: #82aaff;">sizeof</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">);</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">x</span><span style="color: #c792ea;">++</span><span style="color: #89ddff;">)</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">{</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">record </span><span style="color: #c792ea;">.=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"><td></span><span style="color: #89ddff;">"</span><span style="color: #c792ea;">.</span><span style="color: #82aaff;">substr</span><span style="color: #89ddff;">($</span><span style="color: #a6accd;">row</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">p</span><span style="color: #89ddff;">,$</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">x</span><span style="color: #89ddff;">][</span><span style="color: #89ddff;">'</span><span style="color: #c3e88d;">size</span><span style="color: #89ddff;">'</span><span style="color: #89ddff;">])</span><span style="color: #c792ea;">.</span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"></td></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">p </span><span style="color: #c792ea;">+=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">cols</span><span style="color: #89ddff;">[$</span><span style="color: #a6accd;">x</span><span style="color: #89ddff;">][</span><span style="color: #89ddff;">'</span><span style="color: #c3e88d;">size</span><span style="color: #89ddff;">'</span><span style="color: #89ddff;">];</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">}</span></div><div><span style="color: #a6accd;"> </span><span style="color: #82aaff;">echo</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"><tr></span><span style="color: #89ddff;">{$</span><span style="color: #a6accd;">record</span><span style="color: #89ddff;">}</span><span style="color: #c3e88d;"></tr></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div><div><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">sent </span><span style="color: #c792ea;">+=</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">$</span><span style="color: #a6accd;">blocksize</span><span style="color: #89ddff;">;</span></div><div><span style="color: #89ddff;">}</span></div>
<div><span style="color: #82aaff;">echo</span><span style="color: #a6accd;"> </span><span style="color: #89ddff;">"</span><span style="color: #c3e88d;"></tbody></table></span><span style="color: #89ddff;">"</span><span style="color: #89ddff;">;</span></div>
</div>
<div style="color: #a6accd;background-color: #292d3e;font-family: 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback';font-weight: normal;font-size: 18px;line-height: 24px;white-space: pre;">
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Sure it could be cleaned up a bit but
nice is not important, I need the data ...</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Thanks,</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 5/25/21 2:34 PM, Bill Campbell via
Filepro-list wrote:<br>
</div>
<blockquote type="cite"
cite="mid:20210525183359.GB26140@hazlitt.celestial.com">
<pre class="moz-quote-pre" wrap="">It's been decades since I had to do this. I don't remember the
details of the 40 character header other than the first character
indicates whether the record is active or has been deleted.
Beyond that, the key (and data) records have no delimiter
separating the records, but are fixed length. The key records
are 40 + length of all fields so require reads of explicit
length. In python this might be:
fh = open('pathtokeyfile', 'rb')
n = 20 + reclength
for rec in fh.read(n):
hdr = rec[0:20]
data = rec[20:]
...
On Tue, May 25, 2021, Jose Lerebours via Filepro-list wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Can anyone tell me what is the BOR or EOR markers?
I could save time if I know exactly what the first 40 or characters are or if
there is a delimiter/marker I can reference to split the segments.
I put together sa simple script but it turns out that there is more to it
than I thought - Got to do some coding on some other stuff but I will
come back to this in a few ... hope you guys have an answer for me by then!
Thanks,
--
<a class="moz-txt-link-freetext" href="https://www.asisuites.com">https://www.asisuites.com</a>
<a class="moz-txt-link-freetext" href="https://www.helpsuites.com">https://www.helpsuites.com</a>
_______________________________________________
Filepro-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Filepro-list@lists.celestial.com">Filepro-list@lists.celestial.com</a>
Subscribe/Unsubscribe/Subscription Changes
<a class="moz-txt-link-freetext" href="http://mailman.celestial.com/mailman/listinfo/filepro-list">http://mailman.celestial.com/mailman/listinfo/filepro-list</a>
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Bill
</pre>
</blockquote>
<div class="moz-signature">-- <br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<p> <a class="moz-txt-link-freetext" href="https://www.asisuites.com">https://www.asisuites.com</a><br>
<a class="moz-txt-link-freetext" href="https://www.helpsuites.com">https://www.helpsuites.com</a> </p>
</div>
</body>
</html>