Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Problém s vkládáním do schránky

Aktivity
Avatar
Neaktivní uživatel:21.7.2012 15:41

Mám menší problémek s vkládáním...
...mám textbox jmeno = text_veschran­ce_novy

string novytext_doschranky;
novytext_doschranky = text_veschrance_novy.ToString();
Clipboard.SetText(novytext_doschranky);

Do schránky se to uloží,ale když to potom někam vložím,vloží se toto..
(do schránky jsem zadal "Ahoj")
System.Window­s.Forms.TextBox, Text: Ahoj
..co s tím ? Jde odstranit to "System.Window­s.Forms.TextBox, Text:" ??

Odpovědět
21.7.2012 15:41
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:21.7.2012 16:07

Ty nevkládáš text, ale Contol - z něj musíš text vytáhnout - pokud se tvůj TextBox jmenuje textBox1
tak zadej:

Clipboard.SetText(this.textBox1.Text)

Už jsem ti jednou říkal ať nezakládáš zbytečné lokální proměnné - místo:

 string novytext_doschranky;
novytext_doschranky = text_veschrance_novy.ToString();
Clipboard.SetText(novytext_doschranky);

By stačilo:

Clipboard.SetText(this.textBox1.Text)
 
Nahoru Odpovědět
21.7.2012 16:07
Avatar
matesax
Tvůrce
Avatar
Odpovídá na matesax
matesax:21.7.2012 16:08

Contol = Control :)

 
Nahoru Odpovědět
21.7.2012 16:08
Avatar
Nahoru Odpovědět
21.7.2012 16:09
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:21.7.2012 16:15

A ještě jedna věc - když už zakládáš zbytečné lokální proměnné, tak je alespoň nenatahuj:

 string novytext_doschranky;
novytext_doschranky = text_veschrance_novy.ToString();

Je v tomto případě prasárna - stačí:

string novytext_doschranky = text_veschrance_novy.ToString();

Ale znovu píši - toto celé bylo zbytečné - nač předrávat data jako horký brambor - čím kratší kód a cesty v něm, tím lépe,...

Co se týče oddělené inicializace - že napíšeš pouze třeba:

string p;

To se dělá třeba v případě pole, kde nevíš předem přesný rozměr - tak to neinicializuješ hned, ale až v momentě, kdy ten rozměr budeš schopen určit,... Nebo když jako parametr bude třeba "this",... Ale tady to bylo úplně zbytečné,...

 
Nahoru Odpovědět
21.7.2012 16:15
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:21.7.2012 16:19

Jo a string (což je tento případ) obsahuje metody replace, remove, find, substring,... Pořádně si projeď internet - nejlépe server http://msdn.microsoft.com (http://msdn.microsoft.com/…28v=vs.71%29)

Tam je kompletní a podrobná knihovna,...

 
Nahoru Odpovědět
21.7.2012 16:19
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:21.7.2012 16:22

A poslední rada - kilometrové názvy zbytečně zdržují a snadno pak dúděláš chybu - jak jsem již napsal - vše je nejlepší co nejkratší,... Třeba novytext_doschranky bych já (ne všichni by souhlasili) použil clpNewText,...

 
Nahoru Odpovědět
21.7.2012 16:22
Avatar
matesax
Tvůrce
Avatar
Odpovídá na matesax
matesax:21.7.2012 16:24

předrávat = předávat - měl jsem zdravotní problémy... :)

 
Nahoru Odpovědět
21.7.2012 16:24
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na matesax
David Jančík:21.7.2012 16:49

A hlavně je mnohem úhlednější používat CamelCase místo podtržítek. Je to nepsané pravidlo a praktivky veškeré zdrojové kódy v C like jazycích - C# a Java jej používají. V Javě je první písmenko malé v C# velké. Zvykl jsem si toto používat i v PHP.

Nahoru Odpovědět
21.7.2012 16:49
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na matesax
Neaktivní uživatel:21.7.2012 17:00

Mám ještě jeden dotaz...
Když jsem klikl na název projektu,pravé tlačítko > add > AboutBox
Jak to mám otevřít ?

Nahoru Odpovědět
21.7.2012 17:00
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět
21.7.2012 17:09
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:21.7.2012 17:13

AboutBox je objekt (jako vše v C#), abys ho mohl vyvolat, musíš ho tedy vytvořit, např. takto:

aboutBox = new AboutBox1();
aboutBox.Show();

Zakládej prosím nová vlákna, nebaví nás to stále rozdělovat.

Nahoru Odpovědět
21.7.2012 17:13
You are the greatest project you will ever work on.
Avatar
Odpovídá na David Hartinger
Neaktivní uživatel:21.7.2012 17:26

Nojó,nechtěl jsem moc spamovat :D
To jsem zkoušelmukázal se mi jiný...

Nahoru Odpovědět
21.7.2012 17:26
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Jančík
Kit:21.7.2012 20:43

CamelCase je jen jednou z mnoha možností, které je vhodné kombinovat. Třeba takto:

  • NázevTřídy
  • instance_třídy, lokální_proměnná
  • metodaTřídy
  • NĚJAKÁ_KONSTANTA
Nahoru Odpovědět
21.7.2012 20:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:21.7.2012 21:33

Kilometrové názvy proměnných nevadí, pokud máš dobrý textový editor, který umí doplňovat slova.

Jako vždy: Všeho s mírou. Příliš dlouhé názvy znepřehlední aplikaci a také svědčí o chybné dekompozici zadání.

Nahoru Odpovědět
21.7.2012 21:33
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.