NÁMĚT: Hromadná změna textu
- Tomáš Och
- Member
- Příspěvky: 394
- Registrován: úte čer 19, 2007 4:41 pm
- Bydliště: Papouch s.r.o., Praha
- Kontaktovat uživatele:
NÁMĚT: Hromadná změna textu
(patrně jsme to kdysi řešili v mailu jako námět, ale nemohu dohledat ani mail, ani výsledek debaty)
Nemohu se ani v menu dopátrat hromadné změny obsahu označených textů (ani na předpokládané trase Edit - Change, ani jinde), takže podávám jako námět..
Nemohu se ani v menu dopátrat hromadné změny obsahu označených textů (ani na předpokládané trase Edit - Change, ani jinde), takže podávám jako námět..
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
Tohle program teď vskutku neumí. Ona by se asi dala celkem jednoduše napsat náhrada textu všech označených nápisů jiným, nebo i záměna zadaného podřetězce v označených nápisech jiným (s kontrolou překročení max. povolené délky), bylo by však asi třeba odtud vyjmout názvy součástek; jinak by se samozřejmě muselo testovat, zda tam nevznikají duplicitní.
Můžete prosím popsat situace, v kterých byste to chtěl užívat?
Můžete prosím popsat situace, v kterých byste to chtěl užívat?
- Tomáš Och
- Member
- Příspěvky: 394
- Registrován: úte čer 19, 2007 4:41 pm
- Bydliště: Papouch s.r.o., Praha
- Kontaktovat uživatele:
Teď jsem si například kreslil krabičku a její varianty, kde jsem potřeboval změnit asi 20 textů protože jsem měl okomentované jednotlivé výstupky, jak jsou v které části vysoké. To je jednou za čas. Často ale bych funkci využil v momentech, kdy dělám revizi desky. Dnes mám pro R, L, i C jedno pouzdro např.0805, jmenuje se RLC0805. Ale na starších deskách je totéž pouzdro zvlášť (R0805, L0805, C0805). Nebudu polemizovat, proč chci pouzdra sjednocovat, prostě to nutné je a na vysvětlování složité. Každopádně teď jdu v Layoutu do editace součástky, nechám označit nulové texty (velikost 0,0mm), změním na nenulové, R0805 přepíšu na RLC0805 a zas to všechno změním na nulový text a totéž u dvou zbývajících druhů. S novým příkazem bych prostě zadal "*0805" -> "RLC0805" a hotovo.
Názvy součástek - myslíte reference? Buď to lze přepínačem, nebo mít možnost Select / Qualify / Unselect /... na druhy textu, pokud jsou v layoutu nějak rozlišovány?
Názvy součástek - myslíte reference? Buď to lze přepínačem, nebo mít možnost Select / Qualify / Unselect /... na druhy textu, pokud jsou v layoutu nějak rozlišovány?
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
No, možná byste nejprve musel již existujícím příkazem Select / Select / Text / Masked ty nápisy označit.Tomáš Och píše:S novým příkazem bych prostě zadal "*0805" -> "RLC0805" a hotovo.
Ano. Uvažujeme-li ten jednodušší případ, tedy náhradu celých nápisů (spíše než náhradu podřetězců), je buď označen název jediné součástky, jenže pak nemá žádný dobrý smysl jej měnit hromadnou operací, anebo je jich označeno více, jenže pak jim zas nelze vnucovat stejný text (každý název musí zůstat unikátní).Tomáš Och píše:Názvy součástek - myslíte reference? Buď to lze přepínačem, nebo mít možnost Select / Qualify / Unselect /... na druhy textu, pokud jsou v layoutu nějak rozlišovány?
- Tomáš Och
- Member
- Příspěvky: 394
- Registrován: úte čer 19, 2007 4:41 pm
- Bydliště: Papouch s.r.o., Praha
- Kontaktovat uživatele:
Nemyslim ale jen o nahrazovani textu patricich soucastkam (pripustme vyjimku pro reference (resp.nazvy soucastek), kde to smysl nema), ale o vsech textech na desce. Dale, v prikladu jsem sice nastinil nahrazeni celeho textu, pokud by se neco takoveho ale delalo, tak nezaslouzilo by si to plnou podporu? Tedy i zmenu casti retezce?
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
To zatím byly jen jakési předběžné úvahy mezi minimálním a maximálním řešením: První může vnucovat nový text bez ohledu na předchozí, a názvy součástek prostě přeskakovat, protože stejně nemá smysl je takovýmto způsobem měnit. Naopak u druhého existují důvody i pro práci s názvy součástek (např. změna XTAL* na X*), bylo by tedy třeba kontrolovat vznik duplicit, podobně záměna podřetězce (která by mimochodem mohla být i opakovaná, např. ABC za A by z ABRAKA udělalo ABCBRABCKABC) obecně může řetězec prodloužit, takže by se musela hlídat i max. výsledná délka. Minimální řešení by ovšem vycházelo programátorsky o dost jednodušší.
Mimochodem, také byli uživatelé, kteří podobné operace dělávali textovým editorem v .pcb souboru. (To mělo, technicky vzato, určité výhody, např. duplicitní názvy součástek se našly při otvírání souboru, podobně se v té chvíli přepočetla okénka nápisů a případně i okénka součástek je vlastnících...)
Mimochodem, také byli uživatelé, kteří podobné operace dělávali textovým editorem v .pcb souboru. (To mělo, technicky vzato, určité výhody, např. duplicitní názvy součástek se našly při otvírání souboru, podobně se v té chvíli přepočetla okénka nápisů a případně i okénka součástek je vlastnících...)
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
Opět asi jen můj požadavek. Pokud by šlo označit např 100 součástek a napsat do formuláře LED1 a dát ENTER. A těch 100 součástek by v tu chvíli bylo pojmenováno jako LED1 - LED100 v tom smyslu že by program vybíral prvky z leva do prava po "řádcích", byla by to úspora času veliká. Ale jde o to, pokud vůbec někdo mimo mě něco takového potřebuje.
Naposledy upravil(a) jarex dne úte led 30, 2018 11:37 am, celkem upraveno 1 x.
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
- Tomáš Och
- Member
- Příspěvky: 394
- Registrován: úte čer 19, 2007 4:41 pm
- Bydliště: Papouch s.r.o., Praha
- Kontaktovat uživatele:
Neco podobneho, se zminenim moznych potizi nebo slozitejsiho reseni, pokud by to nekdo chtel zpetne promitnout so schematu: http://www.formica.cz/forum/viewtopic.php?id=212
- Petr Horský
- Member
- Příspěvky: 620
- Registrován: úte čer 19, 2007 12:40 pm
- Bydliště: Praha
- Kontaktovat uživatele:
Zpět k těm záměnám textu, jakožto takovým:
Pokusně jsem to dnes naprogramoval, s následujícími omezeními:
1) pracuje to jen na označených nápisech;
2) z nich však jsou všechny názvy součástek ignorovány;
3) lze buď nahradit všechny nápisy (pattern to replace = "*"),
4) anebo doslovně zadaný podřetězec (pattern to replace = cokoliv jiného), je-li nalezen, nahradit jiným.
Jinými slovy, nelze užívat wildcards (vyjma té samostatné hvězdičky). (Díky tomu stačila knihovní funkce StringReplace, a nemusel jsem programovat vlastní.) Bylo třeba ošetřit nějaké chybové stavy; výsledný řetězec totiž nesmí být delší než povolených 72 znaků, ale nesmí být ani prázdný.
Pravděpodobně Vám pošlu odkaz na verzi k vyzkoušení, popřípadě jej pak přidám i sem.
— — —
Zde je odkaz: http://www.formica.cz/files/Layout-441-p109-1115.zip
Pokusně jsem to dnes naprogramoval, s následujícími omezeními:
1) pracuje to jen na označených nápisech;
2) z nich však jsou všechny názvy součástek ignorovány;
3) lze buď nahradit všechny nápisy (pattern to replace = "*"),
4) anebo doslovně zadaný podřetězec (pattern to replace = cokoliv jiného), je-li nalezen, nahradit jiným.
Jinými slovy, nelze užívat wildcards (vyjma té samostatné hvězdičky). (Díky tomu stačila knihovní funkce StringReplace, a nemusel jsem programovat vlastní.) Bylo třeba ošetřit nějaké chybové stavy; výsledný řetězec totiž nesmí být delší než povolených 72 znaků, ale nesmí být ani prázdný.
Pravděpodobně Vám pošlu odkaz na verzi k vyzkoušení, popřípadě jej pak přidám i sem.
— — —
Zde je odkaz: http://www.formica.cz/files/Layout-441-p109-1115.zip
Naposledy upravil(a) Petr Horský dne pát bře 09, 2018 1:12 pm, celkem upraveno 1 x.