Diskuzní fórum, poradna
CAD diskuze, rady, výměna zkušeností |
Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi.
Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
iLogic - jak najít konec textového souboru |
Odpovědět | archiv |
Autor | |
Kubeczka
Zasloužilý člen Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Téma: iLogic - jak najít konec textového souboru Zasláno: 20.kvě.2021 v 09:47 |
Chci číst data z textového souboru, data jsou uložena po řádcích. Potřebuji nastavit smyčku While tak, aby se zastavila na konci textového souboru. Zde přikládám svůj kód: '*********************************************************************************************************** oRead = System.IO.File.OpenText("D:\Inventor\Databaze\P.txt") '*********************************************************************************************************** MessageBox.Show("Soubor otevřen", "Title") '*********************************************************************************************************** Dim oList As New ArrayList Dim Radek As String i = 0 Radek = oRead.ReadLine MessageBox.Show(Radek, "Položka seznamu") oList.Add(Radek) While Not EOF ' ??? Radek = oRead.ReadLine MessageBox.Show(Radek, "Položka seznamu") oList.Add(Radek) End While '*********************************************************************************************************** oRead.Close() '*********************************************************************************************************** MessageBox.Show("Soubor uzavřen", "Title") |
|
Vladimír Michl
Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Dodáváme produkty Autodesk Stav: Offline Bodů: 21486 |
Zasláno: 20.kvě.2021 v 10:06 |
Těch možností je více. Buď čtete přes klasické Open file a kontrolujete EOF(), nebo pomocí StreamReader či OpenText a kontrolujete, zda načtený řádek něco vrátil - tedy zda je 'null', resp. není 'Nothing'.
|
|
Kubeczka
Zasloužilý člen Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 20.kvě.2021 v 10:20 |
Děkuji.
Můžete uvést příklady pro daná otevření souboru a následné testování konce textového souboru? |
|
Vladimír Michl
Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Dodáváme produkty Autodesk Stav: Offline Bodů: 21486 |
Zasláno: 20.kvě.2021 v 11:55 |
Třeba tyto dvě možnosti:
oFile = "C:\Temp\P.txt" oRead = System.IO.File.OpenText(oFile) ContentF = oRead.ReadToEnd() oRead.Close() 'create aray from text info oSplit = Split(ContentF, vbCrLf) For Each wrd In oSplit MessageBox.Show(wrd) Next '----------------------- NEBO --------------------------- oRead = System.IO.File.OpenText(oFile) Dim oList As New ArrayList Dim Radek As String Do Radek = oRead.ReadLine() If Not Radek Is Nothing Then MessageBox.Show(Radek) oList.Add(Radek) End If Loop Until Radek Is Nothing oRead.Close() |
|
Kubeczka
Zasloužilý člen Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 20.kvě.2021 v 13:09 |
Děkuji mockrát.
Mezitím jsem si vyzkoušel testovat konec souboru na prázdný řádek. Vaše příklady rád vyzkouším. S pozdravem
|
|
Kubeczka
Zasloužilý člen Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 21.kvě.2021 v 08:16 |
Pane Michl, mám ještě jeden problém:
Pokud se v textovém souboru nacházejí znaky s českou diakritikou, pak při přečtení dojde ke zmršení těchto znaků a místo nich se objeví kosočtverec s otazníkem, např. D�l�c� Jak na tuhle češtinu?
Připomíná mi to používání české diakritiky v názvech adresářů a souborů. Vyhýbám se tomu jak čert kříži, ale někdy to nejde. Např. při tvorbě bat a cmd souborů |
|
Vladimír Michl
Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Dodáváme produkty Autodesk Stav: Offline Bodů: 21486 |
Zasláno: 21.kvě.2021 v 09:26 |
V 8bitovém ANSI kódování textového souboru by se to asi muselo číst přes StreamReader, ale tyhle metody čtení očekávají univerzální kódování UTF, takže zkuste soubor přeuložit v Unicode. To je jistota.
|
|
Kubeczka
Zasloužilý člen Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 21.kvě.2021 v 10:11 |
Děkuji za radu. Tohle jsem zatím nikdy neřešil. Můžete mi poradit, jak provést toto přeuložení. Děkuji
|
|
Vladimír Michl
Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Dodáváme produkty Autodesk Stav: Offline Bodů: 21486 |
Zasláno: 21.kvě.2021 v 10:35 |
Používám Notepad++ (Formát > Konvertovat do UTF-8 bez BOM), ale jde i v obyčejném Notepadu - Uložit jako, UTF-8.
|
|
Kubeczka
Zasloužilý člen Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 21.kvě.2021 v 10:58 |
Děkuji za dobré rady. Funguje to skvěle.
Zdravím
|
|
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět | |
Přejít na fórum | Oprávnění fóra Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,828 sekund.