Zoek en vervang?

oftewel de geheugensteun van Henri Derksen

Hier wat trucjes welke ik zelden onthou, en me rot zoek of moet puzzelen op de momenten dat ik ze weer eens nodig heb:


Het vinden van een pad of path:
Sleep met Shift ingedrukt een file naar een teksteditor zoals !Edit !StrongEd of !Zap, zo dus:

ADFS::HardDisc4.$.Utilities.Editors.Vervang


Bijzondere zoek en vervangingen in !Edit welke ik steeds weer vergeet:


Van PC formaat tekstbestanden (met CRLF) naar Acorn formaat (zonder CR):

Magic Characters = F5
Find: \x0d = beksles iks nul dee
Replace: = helemaal niets, dus leeglaten
b.v. blabla[0d]
moet worden: blabla

Andersom, van Acorn formaat (LF zonder CR) naar PC (LF met CR):

Magic Characters = F5
Find: \n = beksles en
Replace: \x0d\n = beksles iks nul dee beksles en
b.v. blabla
moet worden: blabla[0d]

Vanaf de komma tot einde regel met newlinefeed vervangen door niets met linefeed.

Magic Characters = F5
Find: ,\*\.\n = komma beksles ster beksles punt beksles en
Replace: \n = beksles en

B.v. erg handig voor het aanmaken van AreaLink aan- en af-sluitberichten naar het BBS van de boss aan de hand van het bestand: !WimpLink.Data.KnownAs.778500xxxx.Areas om die te verbouwen naar een aansluitbericht voor AreaMgr, AreaLink o.i.d.

ACO.ALG.ALGEMEEN, AcoNet_Algemeen
Moet worden:
ACO.ALG.ALGEMEEN


Onnodige Spaties aan einde van de regel verwijderen:

Wildcarded Expressions = F6
Find: ^ $ = dakje spatie dollar
Replace: $ = dollar

Dit scheelt ruimte in te verzenden en/of te archiveren tekstbestanden.


Uren aanvullen met een voorloopnul, b.v. logfile !ArcFax.

0:01.44 moet worden 00:01.44

Wildcarded Expressions = F6

Find: $.: = dollar punt dubbelepunt

Replace: $0?0: = dollar 0 vraagteken 0 dubbelepunt

In !ArcFax werd in de logfile steeds dat typische Engels/Amerikaanse datum formaat met AM en PM gebruikt, i.p.v. 24 uur. AM en PM toevoegen neemt ook meer ruimte in dan 24-uurs notatie. Wil je 24 uur J/n, wijzig dan de datum$tring in de !Run van !ArcFax, zo dus:

Oud:
Set ArcFax$DateFormat %ZDY%ST %MO %CE%YR
Set ArcFax$TimeFormat %Z12:%MI%AM

Nieuw:
Set ArcFax$DateFormat %%ZDY%%ST %%MO %%CE%%YR
Set ArcFax$TimeFormat %%Z24:%%MI.%%SE

Internationaal heeft 24-uurs notatie de voorkeur. Een voorloopnul voor de kleine uurtjes verduidelijkt dat nog eens. Met de hierboven gnoemde zoek- en vervangfunctie prima te realiseren.


Amerikaanse datum aanduidingen (dag en maand andersom) omdraaien.

b.v. 09-10-2002

moet worden: 10-09-2002

Wildcarded Expressions = F6

Find: ##.##. = hekje hekje punt hekje hekje punt

Replace: ?3?4?2?0?1?5 = vraagteken 3 vraagteken 4 vraagteken 2 vraagteken 0

vraagteken 1 vraagteken 5

Soms moet eerst een voorloopnul bij het maandnummer worden aangebracht, zie de vorige vervangmethode.

Als je er niet uit komt, zet dan tijdelijk een regel met cijfers boven de zoek$tring om zo het juiste nummer bij het juiste vraagteken te kunnen zetten:

positie: 0123456789

Zoek$tring: 09-10-2002

Let er ook op dat sommige tekens bij vervangen een functie hebben. In dat geval een ander vervang$tring bedenken die het originele teken (eventueel op een andere plaats) weer terugzet. Met dat vraagteken kan dat dus.


Meer dan 1 spatie tussenruimte (dus 2 of meer spaties) vervangen door een tab. Wanneer slechts 1 spatie gebruikt is, blijft die gehandhaafd zonder tab.

Wildcarded Expressions = F6

Find: ^ % = dakje spatie procent spatie

Replace: X09 = Hex 09

Die X is het teken met de ASCII waarde 132 of hexadecimaal 084. een kruis dat van binnen blanco is. Doe maar eens Alt 132.

b.v.: kolom 1 kolom 2 kolom 3

moet worden: kolom 1[09]kolom 2[09]kolom 3

Andersom, elke tab vervangen door een vast aantal spaties:

Magic Characters = F5

Find: \x09 = backslash iks nul negen

Replace: = spatie spatie spatie spatie spatie spatie

of

Wildcarded Expressions = F6
Find: X09 = Hex 09

Replace: = spatie spatie spatie spatie spatie spatie

Die X is het teken met de ASCII waarde 132 of hexadecimaal 084. een kruis dat van binnen blanco is. Doe maar eens Alt-132.

Van Acorn BBC View tekstbestanden naar RISC OS tekstbestanden, in !Edit inladen en daarna 1 x op Ctrl-F8 drukken. Dan blijf je nog met anderen controle characters zitten, maar die zijn ook weg te halen met de zoek en vervangfunctie.


Nog zo een bij DTP gebruik:
Doorzichtig maken in !Impression, b.v. tekstframe over (gescand) plaatje, Zoals noodzakelijk bij een invulformulier.
Maak 2 frames, een voor het gescande invulformulier en een tweede voor de in te vullen tekst. En maak een of beiden dan transparant.

Menu => Frame => Alter Frame => View => Transparant.

Het grote voordeel is dat je een invulformulier slechts 1 x hoeft in te (laten) scannen, en daarna steeds de invulvelden kan aanpassen en herprinten. Of zelfs weer een leeg invulformulier kan afdrukken, en die met de pen kan invullen. En als ie fout is, nog een lege kan printen etc.


Vervang kleur in Sprite bestanden:
Start !Paint en open het te wijzigen Sprite bestand.

Paint bestand => Menutoets => Paint => Show Colours
Paint bestand => Menutoets => Paint => Show Tools

Click in Background Colours op de toekomstig gewenste kleur.
Click in Paint Tools op het vul-giet-kannetje (4e icon van links)
Click bij replace colour op Set
Click bij replace colour op Global
Click nu in de sprite zelf op de foute kleur die je in de nieuwe gewijzigd wil hebben.
Even wachten (zandloper), en klaar ben je.

Mooi testvoorbeeld:
ADFS::HardDisc4.$.Utilities.Disk.Convert.Correctors. !Dos2Text.!Sprites en daarin de sprite background en dan het grijs naar wit te veranderen. Als het moeilijk te zien is, vergroot het dan even met de zoom functie. Paint bestand => menutoets => Zoom => Magnifier 2:1 i.p.v. 1:1. Je kunt dan beter op de te wijzigen kleur pixel klikken.