[BLACKBOX] Simple ASCII text editor example

From: Stephen R. Troy <"Stephen>
Date: Thu, 5 Aug 2010 19:29:32 -0700
----boundary-LibPST-iamunique-1398879717_-_- Content-type: text/plain Hello List, I am working with a database program which exports the data as an ASCII text file. I have been writing programs to generate additional reports from this ASCII data file. I want to add a function to filter out certain unnecessary lines in the ASCII data, so I want to read the ASCII file line by line, and (a) if the read lines are not the ones to filter out, write them back to the file; or (b) if they are the ones to filter out, NOT write them back; i.e. I want to read and write in the same ASCII text file. The Blackbox documentation indicates I can have a reader rider (scanner) and a writer rider (formatter) connected to the same file; however the documentation for the ASCII text file example (ObxAscii Docu) states "Mixed reading and writing on the same text is not very common and is therefore not supported in this simple model." I have tried a simple program with both a TextMappers.Scanner and a TextMappers.Formatter. This works as expected with only the Scanner, but as soon as I add the Formatter, the Scanner becomes unstable, jumps backward and repeats characters already read. Does anybody have an example of a simple ASCII text editor, which reads and writes to the same file, that they would be willing to share? Thanks for any suggestions. Stephen Troy ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-1398879717_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzE5IDxo dG1sPn0NCntcKlxodG1sdGFnNTAgPGJvZHk+fXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s cnRmMCANCntcKlxodG1sdGFnODQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlZlcmRhbmE7IGNv bG9yOiMwMDAwMDA7IGZvbnQtc2l6ZToxMHB0OyI+fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGh0bWxy dGYgfVxodG1scnRmMCB7XCpcaHRtbHRhZzcyfVxodG1scnRmfVxodG1scnRmMA0KDQp7XCpcaHRt bHRhZzk2IDxkaXY+fVxodG1scnRmIHtcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7 XGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgSGVsbG8gTGlzdCxcaHRtbHJ0ZiB9XGh0bWxy dGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEw NCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTYgPGRpdj59XGh0bWxy dGYge1xodG1scnRmMCB7XCpcaHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGh0bWxydGYg e1xodG1scnRmMCBJIGFtIHdvcmtpbmcgd2l0aCBhIGRhdGFiYXNlIHByb2dyYW0gd2hpY2ggZXhw b3J0cyB0aGUgZGF0YSBhcyBhbiBBU0NJSSB0ZXh0IGZpbGUuDQp7XCpcaHRtbHRhZzg0ICZuYnNw O31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICBJIGhhdmUgYmVlbiB3cml0aW5nIHByb2dyYW1zIHRv IGdlbmVyYXRlIGFkZGl0aW9uYWwgcmVwb3J0cyBmcm9tIHRoaXMgQVNDSUkgZGF0YSBmaWxlLg0K e1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgSSB3YW50IHRvIGFk ZCBhIGZ1bmN0aW9uIHRvIGZpbHRlciBvdXQgY2VydGFpbiB1bm5lY2Vzc2FyeSBsaW5lcyBpbiB0 aGUgQVNDSUkgZGF0YSwgc28gSSB3YW50IHRvIHJlYWQgdGhlIEFTQ0lJIGZpbGUgbGluZSBieSBs aW5lLCBhbmQgKGEpIGlmIHRoZSByZWFkIGxpbmVzIGFyZSBub3QgdGhlIG9uZXMgdG8gZmlsdGVy IG91dCwgd3JpdGUgdGhlbSBiYWNrIHRvIHRoZSBmaWxlOyBvciAoYikgaWYgdGhleSBhcmUgdGhl IG9uZXMgdG8gZmlsdGVyIG91dCwgTk9UIHdyaXRlIHRoZW0gYmFjazsgaS5lLiBJIHdhbnQgdG8g cmVhZCBhbmQgd3JpdGUgaW4gdGhlIHNhbWUgQVNDSUkgdGV4dCBmaWxlLg0Ke1wqXGh0bWx0YWc4 NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgVGhlIEJsYWNrYm94IGRvY3VtZW50YXRp b24gaW5kaWNhdGVzIEkgY2FuIGhhdmUgYSByZWFkZXIgcmlkZXIgKHNjYW5uZXIpIGFuZCBhIHdy aXRlciByaWRlciAoZm9ybWF0dGVyKSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgZmlsZTsgaG93ZXZl ciB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEFTQ0lJIHRleHQgZmlsZSBleGFtcGxlIChPYnhB c2NpaSBEb2N1KSBzdGF0ZXMgIk1peGVkIHJlYWRpbmcgYW5kIHdyaXRpbmcgb24gdGhlIHNhbWUg dGV4dCBpcyBub3QgdmVyeSBjb21tb24gYW5kIGlzIHRoZXJlZm9yZSBub3Qgc3VwcG9ydGVkIGlu IHRoaXMgc2ltcGxlIG1vZGVsLiINCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBc aHRtbHJ0ZjAgIEkgaGF2ZSB0cmllZCBhIHNpbXBsZSBwcm9ncmFtIHdpdGggYm90aCBhIFRleHRN YXBwZXJzLlNjYW5uZXIgYW5kIGEgVGV4dE1hcHBlcnMuRm9ybWF0dGVyLg0Ke1wqXGh0bWx0YWc4 NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgVGhpcyB3b3JrcyBhcyBleHBlY3RlZCB3 aXRoIG9ubHkgdGhlIFNjYW5uZXIsIGJ1dCBhcyBzb29uIGFzIEkgYWRkIHRoZSBGb3JtYXR0ZXIs IHRoZSBTY2FubmVyIGJlY29tZXMgdW5zdGFibGUsIGp1bXBzIGJhY2t3YXJkIGFuZCByZXBlYXRz IGNoYXJhY3RlcnMgYWxyZWFkeSByZWFkLg0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYg XCdhMFxodG1scnRmMCAgRG9lcyBhbnlib2R5IGhhdmUgYW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBB U0NJSSB0ZXh0IGVkaXRvciwgd2hpY2ggcmVhZHMgYW5kIHdyaXRlcyB0byB0aGUgc2FtZSBmaWxl LCB0aGF0IHRoZXkgd291bGQgYmUgd2lsbGluZyB0byBzaGFyZT8NCntcKlxodG1sdGFnODQgJm5i c3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIFRoYW5rcyBmb3IgYW55IHN1Z2dlc3Rpb25zLlxo dG1scnRmIH1caHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoN CntcKlxodG1sdGFnMTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5 NiA8ZGl2Pn1caHRtbHJ0ZiB7XGh0bWxydGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s cnRmMCBcaHRtbHJ0ZiB7XGh0bWxydGYwIFN0ZXBoZW4gVHJveVxodG1scnRmIH1caHRtbHJ0ZjAg e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwv ZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5NiA8ZGl2Pn1caHRtbHJ0ZiB7 XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcxMTIgPGJyPn1caHRtbHJ0ZiBccGFyDQpcaHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzEwNCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFn OTYgPGRpdj59XGh0bWxydGYge1xodG1scnRmMCANCntcKlxodG1sdGFnMTEyIDxicj59XGh0bWxy dGYgXHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcxMDQgPC9kaXY+fVxodG1scnRmIH1caHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzI0OCA8L3NwYW4+fQ0Ke1wqXGh0bWx0YWc1OCA8L2JvZHk+fQ0K e1wqXGh0bWx0YWcyNyA8L2h0bWw+fQ0Ke1wqXGh0bWx0YWczIFxwYXIgfQ0Ke1wqXGh0bWx0YWc2 NCA8cD59XGh0bWxydGYgXHBhcg0KXGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9LS0tLQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0 ZjAgVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFD S0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0 bWxydGYgIFxodG1scnRmMCBcaHRtbHJ0Zn19AAIqXA6yBQGQZx1wMyA8 ----boundary-LibPST-iamunique-1398879717_-_--- Received on Fri Aug 06 2010 - 04:29:32 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:30 UTC