Načítanie .txt bez diakritiy (so štvorčekmi a pod.) – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Načítanie .txt bez diakritiy (so štvorčekmi a pod.) – .NET – Fórum – Programujte.comNačítanie .txt bez diakritiy (so štvorčekmi a pod.) – .NET – Fórum – Programujte.com

 

yterbium0
Stálý člen
20. 6. 2009   #1
-
0
-

zdravím,

robím jednu app, kde otváram .txt súbor, ktorý je písaný v slovenčine, a načítavam ho do "textBox". Tento .txt súbor keď teda použijem openFileDialog a streamReader a všetko to dám do texBoX tak sa to zmení tak , ako by nepodporovalo diakritiku...

Ako to odstránim?

A druhý dotaz:
ako vynulujem textBox predtým, ako otvorím druhý súbor, lebo ináč ich tam mám oba dokopy?

Riešil som to tam tak, že som pridal tlačítko na uložiť, a nech ho uložia, a otot tlačítko ho vyčistí, ale neviem zabrániť aby sa načítal jeden súbor, a potom bez ničoho iného súbor druhý, ako sa dá toto?

Je možnosť "uzamknúť tlačítko" a dať to do podmienky, aby stlačili "uložiť najprv"?

Nahlásit jako SPAM
IP: 95.102.22.–
dannyk0
Věrný člen
20. 6. 2009   #2
-
0
-

Vycisteni textboxu udelas pomoci textBox.Text = "". Dale vypínaní a zapínaní tlačítek je pomoci button.Enabled = false/true.
Pak uz to akorat upodminkovat, tak, jak potrebujes.
S temi ctverecky v textu, to je s nejvetsi pravdepodobnosti kodovanim. Pomoct by mohlo inicializovat StreamReader na prislusne kodovani (pravdepodobne UTF-8, ale mam dojem, ze to uz je jako výchozí).Koukni tady:



http://msdn.microsoft.com/en-us/library/ms143456.aspx

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Chrasty
~ Redaktor
+4
Posthunter
20. 6. 2009   #3
-
0
-

Když StreamReaderu nenastavuju kódování, tak mi to taky místo diakritiky dělá čtverečky. Pomáhá mi nastavit Encoding na Default.

Nahlásit jako SPAM
IP: 193.179.196.–
yterbium0
Stálý člen
20. 6. 2009   #4
-
0
-

čaute,

obom díky, keď som dal default tak mi "á" napísalo ako "ˇaÁ" alebo niečo podobé... Ale UTF8 pomohlo :smile1:

aj s tými tlačítkami som to nakoniec teda dal dokopy presne ako som si prestavoval :smile8:


ale ešte jedna maličkosť:

pridal som "panel" a do toho 3 radiobuttony. A tieto radiobuttony mi ovplyvnujú string farbaPisma(ako kód v phpBB, viete [colour ="red"]... napríklad.

Kam a vlastne ako mám dať do podmienky, že ktorý radiobutton je vybraný čo spraví?

Predpokladám, že to bude "case" podmienka, ale kam ju dať? Do tlačítka, alebo ju mám dať k tomu panel-u?

Asi do tlačítka, však? keď chcem aby sa menila a brala do úvahy až potom keď potlačím tlačítko?

Nahlásit jako SPAM
IP: 84.47.0.–
yterbium0
Stálý člen
20. 6. 2009   #5
-
0
-

dobre, už som to našiel...

ja som to chcel skomplikovať,a dalo sa to o mnoho jednoduchšie... Neva aspoň už viem...

Nahlásit jako SPAM
IP: 84.47.0.–
yterbium0
Stálý člen
20. 6. 2009   #6
-
0
-

Dobre , už to mám celé hotové všetko funguje...

už len poslednú vec, mám tlačítko, ktoré celý listBOX mi uloži naspať do pôvodného .txt dokumentu. Ale ja potrebujem, aby mi to skopírovalo aj do schránky (bez toho aby som použil ctrl+C) ako na to?

tu je tlačátko:

 private void btnUlozit_Click(object sender, EventArgs e)

{
if (nazovSuboru == null || listBox1.Items.Count == 0)
{
MessageBox.Show("Ak chceš vytvoriť nový zoznam, pridaj prázdny .txt súbor do zložky a otvor ho");
}
else
{
using (StreamWriter sw = new StreamWriter(nazovSuboru))
{
foreach (object item in listBox1.Items)
{
sw.WriteLine(item.ToString());
}
}
}
listBox1.Items.Clear();
}


Pričom "nazovSuboru" v StreamWriteri je vlastne globálna string, ktorej hodnotu získavam takto:
"nazovSuboru = openFileDialog1.SafeFileName;"

(Týmto krokom vlastne dokážem to, aby mi bez otvorenia saveFileDialog uložilo do pôvodného .txt, ktorý som ako prvý musel otvoriť...


Vopred ďakujem za radu, ako ten text. čo nakoniec bude v .txt ,zo listBoxu sa tam dostane, skopírujem do schránky...

Pozeral som aj MS, ale z ListBoxu tam nie je nič dávané do schránky, aspoň som nenašiel...

Nahlásit jako SPAM
IP: 84.47.0.–
Chrasty
~ Redaktor
+4
Posthunter
20. 6. 2009   #7
-
0
-
Nahlásit jako SPAM
IP: 193.179.196.–
yterbium0
Stálý člen
20. 6. 2009   #8
-
0
-

áno túto triedu som hľadal, lenže tam je to z TextBOXu...

Lenže ja dávam všetko do ListBoxu, aby sa s tým nemohlo manipulovať...

A potom kebyže vyberem jeden riadaok (item) a pridám ho doschránky, tak potom druhý mi vymaže ten prvý a ostane len ten druhý. Nie takto funguje schránka?


Neexistuje teda niečo podobne s ListBox? (lebo on nemá .TEXT...)

Nahlásit jako SPAM
IP: 84.47.0.–
Chrasty
~ Redaktor
+4
Posthunter
20. 6. 2009   #9
-
0
-

Nedá se říct, že ta třída je pro TextBox, nebo není pro ListBox. Ukládá se tam obecně jakýkoliv string, což vlastnost TextBox.Text je. Pokud chceš do schránky uložit obsah ListBoxu (ve kterém bude jen text), můžeš si pomocí StringBuilderu "poslepovat" jednotlivé prvky do jednoho stringu a ten do schránky uložit.

Pokud bys tam chtěl ukládat i obrázky, tak to jde samozřejmě taky, ale tohle nejspíš není ta situace.

Nahlásit jako SPAM
IP: 193.179.196.–
yterbium0
Stálý člen
20. 6. 2009   #10
-
0
-

StringBuilderu

si ma zachránil... Ako začiatočník som to počul prvýkrát, a hneď ako som to uvidel, to bola krása :-) . Ako stvorené pre túto potrebuje.


Obrovské ďakujem :smile7:

Nahlásit jako SPAM
IP: 84.47.0.–
yterbium0
Stálý člen
20. 6. 2009   #11
-
0
-

a ešte dúfam že posledný dotaz:

keď chcem nikomu poslať túto aplikáciu, lebo nebola robená pre moje potreby, tak stačí ak mu pošlem "dokumenty/VS08/Projects/tagovač/tagovač/bin/debug/tagovač.exe?

nič viac nebude potrebovať? lebo v tej zložke mám ešte aj nejaké dalšie súbory?
Alebo mám poslať celú zložku?

Nahlásit jako SPAM
IP: 84.47.0.–
Chrasty
~ Redaktor
+4
Posthunter
20. 6. 2009   #12
-
0
-

tagovač.exe bude stačit. Alespoň pokud jsi do projektu nepřidával nějaké externí .dll, soubory a podobně.

Nahlásit jako SPAM
IP: 193.179.196.–
yterbium0
Stálý člen
20. 6. 2009   #13
-
0
-

ok, díky, to som potreboval počuť :smile18:


pekný zbytok víkendu

Nahlásit jako SPAM
IP: 84.47.0.–
mephi0
Expert
23. 6. 2009   #14
-
0
-

yterbium napsal:
a ešte dúfam že posledný dotaz:

keď chcem nikomu poslať túto aplikáciu, lebo nebola robená pre moje potreby, tak stačí ak mu pošlem "dokumenty/VS08/Projects/tagovač/tagovač/bin/debug/tagovač.exe?

nič viac nebude potrebovať? lebo v tej zložke mám ešte aj nejaké dalšie súbory?
Alebo mám poslať celú zložku?



nerob Debug ale Release. Nespustí to ak nemá nainštalované Visual studio.

Nahlásit jako SPAM
IP: 85.237.232.–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 29 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý