Re: [BLACKBOX] Simple ASCII text editor example

From: Douglas G. Danforth <"Douglas>
Date: Thu, 5 Aug 2010 19:52:33 -0700

----boundary-LibPST-iamunique-618918184_-_- Content-type: text/plain Stephen, I suggest you write to a temporary file and when done delete the original file Files.dir.Delete(loc, name) and then register the temporary file tmp.Register(name, type, ask, res) with the name of the original file. That should get you want you want. -Doug Danforth Stephen R. Troy wrote: 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 ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-618918184_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzI0MyA8 IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv L0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzE5IDxodG1sPn0NCntcKlxo dG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMzQgPGhlYWQ+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIg fQ0Ke1wqXGh0bWx0YWcyNDEgICB9DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRtbHRhZzQx IDwvaGVhZD59DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRhZzUwIDxib2R5IGJnY29s b3I9IiNmZmZmZmYiIHRleHQ9IiMwMDAwMDAiPn1caHRtbHJ0ZiBcdmlld2tpbmQ1DQp7XCpcYmFj a2dyb3VuZCB7XHNocHtcKlxzaHBpbnN0e1xzcHtcc24gZmlsbENvbG9yfXtcc3YgMTY3NzcyMTV9 fXtcc3B7XHNuIGZGaWxsZWR9e1xzdiAxfX19fX1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBh ciB9e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFN0ZXBoZW4sDQp7XCpcaHRtbHRh ZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9 SSBzdWdnZXN0IHlvdSB3cml0ZSB0byBhIHRlbXBvcmFyeSBmaWxlIGFuZCB3aGVuIGRvbmUgZGVs ZXRlIHRoZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgb3JpZ2luYWwg ZmlsZSANCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc KlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1GaWxlcy5kaXIuRGVsZXRlKGxvYywgbmFtZSkN CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH1hbmQgdGhlbiByZWdpc3RlciB0aGUgdGVtcG9yYXJ5IGZp bGUNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH10bXAuUmVnaXN0ZXIobmFtZSwgdHlwZSwgYXNrLCBy ZXMpDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9d2l0aCB0aGUgbmFtZSBvZiB0aGUgb3JpZ2luYWwg ZmlsZS5cJ2EwIFRoYXQgc2hvdWxkIGdldCB5b3Ugd2FudCB5b3Ugd2FudC4NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0tRG91ZyBEYW5mb3J0aA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBc bGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVN0ZXBoZW4g Ui4gVHJveSB3cm90ZToNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIHtc KlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzk2IDxibG9j a3F1b3RlXHBhciAgY2l0ZT0ibWlkOjIwMTAwODA1MTkyOTMyLjViNzYzM2FlYWFkMjY5MmViMTI5 NTFjYjU1Mjk1YjVmLjkwZDc1ZTkwNTAud2JlQGVtYWlsMTQuc2VjdXJlc2VydmVyLm5ldCJccGFy ICB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBhcg0Ke1xodG1scnRmMCB7XCpcaHRtbHRhZzY0fVxo dG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIA0Ke1wqXGh0bWx0YWc4NCA8c3BhblxwYXIgIHN0eWxl PSJmb250LWZhbWlseTogVmVyZGFuYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx MHB0OyI+fVxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRt bHRhZzg0ICAgfVxodG1scnRmIH1caHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9 XGh0bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGRpdj59XGh0bWxydGYge1xodG1scnRmMCB7XCpc aHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIFxodG1scnRmIHtcaHRtbHJ0ZjAg SGVsbG8gTGlzdCxcaHRtbHJ0ZiB9XGh0bWxydGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFy fVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEwNCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCAN CntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWc5NiA8 ZGl2Pn1caHRtbHJ0ZiB7XGh0bWxydGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRm MCBcbGkzNjAgXGh0bWxydGYge1xodG1scnRmMCBJIGFtIHdvcmtpbmcgd2l0aCBhIGRhdGFiYXNl IHByb2dyYW0gd2hpY2ggZXhwb3J0cyB0aGUgZGF0YSBhcw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxo dG1scnRmICBcaHRtbHJ0ZjAgYW4gQVNDSUkgdGV4dCBmaWxlLlwnYTAgSSBoYXZlIGJlZW4gd3Jp dGluZyBwcm9ncmFtcyB0byBnZW5lcmF0ZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBc aHRtbHJ0ZjAgYWRkaXRpb25hbCByZXBvcnRzIGZyb20gdGhpcyBBU0NJSSBkYXRhIGZpbGUuXCdh MCBJIHdhbnQgdG8gYWRkIGEgZnVuY3Rpb24NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAg XGh0bWxydGYwIHRvIGZpbHRlciBvdXQgY2VydGFpbiB1bm5lY2Vzc2FyeSBsaW5lcyBpbiB0aGUg QVNDSUkgZGF0YSwgc28gSSB3YW50IHRvDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxo dG1scnRmMCByZWFkIHRoZSBBU0NJSSBmaWxlIGxpbmUgYnkgbGluZSwgYW5kIChhKSBpZiB0aGUg cmVhZCBsaW5lcyBhcmUgbm90IHRoZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRt bHJ0ZjAgb25lcyB0byBmaWx0ZXIgb3V0LCB3cml0ZSB0aGVtIGJhY2sgdG8gdGhlIGZpbGU7IG9y IChiKSBpZiB0aGV5IGFyZSB0aGUNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxy dGYwIG9uZXMgdG8gZmlsdGVyIG91dCwgTk9UIHdyaXRlIHRoZW0gYmFjazsgaS5lLiBJIHdhbnQg dG8gcmVhZCBhbmQgd3JpdGUNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYw IGluIHRoZSBzYW1lIEFTQ0lJIHRleHQgZmlsZS5cJ2EwIFRoZSBCbGFja2JveCBkb2N1bWVudGF0 aW9uIGluZGljYXRlcyBJDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBj YW4gaGF2ZSBhIHJlYWRlciByaWRlciAoc2Nhbm5lcikgYW5kIGEgd3JpdGVyIHJpZGVyIChmb3Jt YXR0ZXIpDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBjb25uZWN0ZWQg dG8gdGhlIHNhbWUgZmlsZTsgaG93ZXZlciB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEFTQ0lJ DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCB0ZXh0IGZpbGUgZXhhbXBs ZSAoT2J4QXNjaWkgRG9jdSkgc3RhdGVzICJNaXhlZCByZWFkaW5nIGFuZCB3cml0aW5nIG9uDQp7 XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCB0aGUgc2FtZSB0ZXh0IGlzIG5v dCB2ZXJ5IGNvbW1vbiBhbmQgaXMgdGhlcmVmb3JlIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcw0Ke1wq XGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgc2ltcGxlIG1vZGVsLiJcJ2EwIEkg aGF2ZSB0cmllZCBhIHNpbXBsZSBwcm9ncmFtIHdpdGggYm90aCBhDQp7XCpcaHRtbHRhZzQgXHBh ciB9XGh0bWxydGYgIFxodG1scnRmMCBUZXh0TWFwcGVycy5TY2FubmVyIGFuZCBhIFRleHRNYXBw ZXJzLkZvcm1hdHRlci5cJ2EwIFRoaXMgd29ya3MgYXMNCntcKlxodG1sdGFnNCBccGFyIH1caHRt bHJ0ZiAgXGh0bWxydGYwIGV4cGVjdGVkIHdpdGggb25seSB0aGUgU2Nhbm5lciwgYnV0IGFzIHNv b24gYXMgSSBhZGQgdGhlIEZvcm1hdHRlciwgdGhlDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy dGYgIFxodG1scnRmMCBTY2FubmVyIGJlY29tZXMgdW5zdGFibGUsIGp1bXBzIGJhY2t3YXJkIGFu ZCByZXBlYXRzIGNoYXJhY3RlcnMgYWxyZWFkeQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRm ICBcaHRtbHJ0ZjAgcmVhZC5cJ2EwIERvZXMgYW55Ym9keSBoYXZlIGFuIGV4YW1wbGUgb2YgYSBz aW1wbGUgQVNDSUkgdGV4dCBlZGl0b3IsDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxo dG1scnRmMCB3aGljaCByZWFkcyBhbmQgd3JpdGVzIHRvIHRoZSBzYW1lIGZpbGUsIHRoYXQgdGhl eSB3b3VsZCBiZSB3aWxsaW5nIHRvDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1s cnRmMCBzaGFyZT9cJ2EwIFRoYW5rcyBmb3IgYW55IHN1Z2dlc3Rpb25zLlxodG1scnRmIH1caHRt bHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFn MTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wq XGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzk2IDxkaXY+fVxodG1scnRmIHtcaHRtbHJ0ZjAg e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTM2MCBcaHRtbHJ0ZiB7XGh0bWxy dGYwIFN0ZXBoZW4gVHJveVxodG1scnRmIH1caHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0 ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRh Zzk2IDxkaXY+fVxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzExMiA8YnI+fVxodG1s cnRmIFxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQw ICAgfQ0Ke1wqXGh0bWx0YWcxMDQgPC9kaXY+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnOTYgPGRpdj59XGh0 bWxydGYge1xodG1scnRmMCANCntcKlxodG1sdGFnMTEyIDxicj59XGh0bWxydGYgXHBhcg0KXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRt bHRhZzEwNCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0N CntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcyNDggPC9zcGFuPn0NCntcKlxodG1sdGFn MCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWc2NCA8cD59XGh0bWxydGYg XHBhcg0KXGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIC0tLS0NCntcKlxodG1s dGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVz c2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvDQp7XCpcaHRtbHRhZzQgXHBhciB9 XGh0bWxydGYgIFxodG1scnRmMCB7fQ0Ke1wqXGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1s aW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWlsdG86TElTVFNFUlZATElTVFMuT0JFUk9OLkNIIj59 XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOkxJU1RTRVJWQExJ U1RTLk9CRVJPTi5DSCJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIExJU1RTRVJWQExJU1RT Lk9CRVJPTi5DSFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxo dG1sdGFnOTIgPC9hPn0NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc4NCAgIH1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQpcaHRtbHJ0ZiBccGFyDQpc aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzcyIDwvcD59DQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpc aHRtbHRhZzEwNCA8L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzAgXHBhciB9DQp7XCpcaHRtbHRhZzU4IDwvYm9keT59DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7 XCpcaHRtbHRhZzI3IDwvaHRtbD59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzY0 IDxwPn1caHRtbHJ0ZiB7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0NCntcKlxo dG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEg bWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9C RVJPTi5DSA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgXGh0bWxydGZc cGFyfVxodG1scnRmMA0KfQ== ----boundary-LibPST-iamunique-618918184_-_--- Received on Fri Aug 06 2010 - 04:52:33 UTC

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