Zdravim ... Predem chci rict ze nejde jenom o prikazy jak to udelat ale jak provyst urcity veci..
Takze potreboval bych poradit v tom ze si chci do TxT zapisovat urcity veci.
Napr :
Karel
123
A potreboval bych aby me to projelo od zacatku dokonce a kdyz by to naslo Karel tak by se ukazalo to cislo co je na nasledujicim radku.
Technicka otazka kdyz bych mel
Karel
123 456 789
Tak avy me to takzdy trojcisli vypsalo zvlast ? JDe to takhle nejak udelat ? Dekuji za odpovedi.
Fórum › .NET
Zapis a cteni v TxT
Čtení i zápis můžeš provádět pomocí objektů StreamWriter a StreamReader, konkrétně jejich metody (nepletu-li se) WriteLine & ReadLine. Poměrně hezky je popsáno zde: http://csharp.aspone.cz/%28A%283KOP3b4sywEkAAAAMzhhYTA2ZGItYzc5Ni00Y2U0LTk2ZDUtNThkZTAxMDZjNWNiCo_5hOF4X8k9JEAW0W1tDSPW0uw1%29%29/kody/soubory/souboryObecne.aspx
Ad1: Nevím jestli je to nejoptimálnější postup (pokud tedy nepoužíváš nějaké databáze), ale projel bych celý soubor, řádek po řádku, současně bych si zavedl nějakou bool proměnou, která pokud by byla true tak bych daný řádek zobrazil. Poté, pokud bych našel string "Karel" tak bych do danou proměnou nastavil na true, a tudíž by se další řádek (záznam) zobrazil).
Ad2: Něco jsem našel na internetu, ale nevím jestli je to nejoptimálnější, koukni http://www.techrepublic.com/article/easily-parse-string-values-with-net/6030362.
Diky za napady pokusim se neco spachtit ale neverim tomu moc ... Jde mi o to ze uz jsem kdysi tohle psal akorad pro jinej jazyk myslim ze to byl VB viz ukazka
f.Open()
X=f.ReadNumber()
Y=f.ReadNumber()
f.Close()
A pak sem si je vypisoval a zapis vypadal takhle napr
1234
2442
Snad se mi neco povede s tim udelat ...
Pokud tam máš jednotnou strkukturu, tj. čísla jsou vždy oddělená mezerou tak to není tak složité.
string radek = streamReader.ReadLine(); //přečteš celý řádek ze souboru, uložíš ho do proměnné.
string[] cisla //Dekladuješ pole, do kterého později promenou radek rozprazuješ (rozsekáš)
cisla = radek.Split(" ") //Zavoláš metodu, která do pole uloží hodnoty rozsekáním původního stringu, znak podle kterého to bude rozsekávat je jako parametr, zde mezera
//A v poli máš poté rozsekaná daná čísla, pole poté projedeš např. příkazem foreach
foreach(string cislo in cisla)
{
Console.WriteLine(cislo);
}
A ten první příklad //Nejsem si úplně jistej, splácal jsem to teď z hlavy:
StreamReader precti = File.OpenText("@E:\textak.txt");
string radek;
bool zapis = false;
while ((radek = precti.ReadLine()) != null)
{
if(zapis) then{Console.WriteLine(radek);}
zapis = false;
if(radek == "Karel") then{zapis = true;}
}
precti2.Close();
//Psáno z hlavy, tj. zde mohou být syntaktické chyby a celkově to není dobrý kód, StreamReader/Writer by měl být v protivyjímkovém bloku (buďto jednodušeji pomocí usign, nebo pomocí try/finally.)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Zápis do .txt souboru — založil Pavel
Vycitanie z txt a zapis do xls — založil kotlas6667
Povolení %n pro zápis do .txt — založil Josef Dvořák
RFID zápis do Excelu či .txt — založil Thomas125
Zápis riadku na zaciatok TXT súboru — založil Greno
Moderátoři diskuze