Diskuze: Nastavení cesty ze souboru
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
A co ti nejde - číst ze souboru, získat z 1. řádku tu cestu, ...?
Jj přesně tak jak získat tu cestu.
Ta cesta se ale mění.
tento základ je stále stejný
K:\Programmers\Turning\TURN\
ta další část se mění jak názvem tak délkou.
Existuje tam v tom řetězci něco, co jednoznačně (a pořád stejně) označí konec té cesty? Např. tečka, čárka, mezera, nebo nějaká kombinace znaků?
V té cestě by podle mě neměla být čárka, takže by se dalo
"odpíchnout" třeba od ní...
Např.: při procházení budeš hledat znaky zpětného lomítka a pokud mezi
nimi bude čárka, tak to poslední lomítko by mělo být posledním znakem
cesty...
V té ceste je vždy název souboru který je s příponou *.nc ale název souboru se mění.
Vypadá to, že v tom 1. řádku jsou hodnoty oddělené čárkama. Pokud je struktura řádku stále stejná, pak můžeš cestu získat např takto:
static string GetDir(string cfg)
{
string fn = null;
string dir = null;
try
{
using (StreamReader sr = new StreamReader(cfg))
{
fn = sr.ReadLine();
}
if (!string.IsNullOrEmpty(fn))
{
string[] arr = fn.Split(new char[] { ',' });
if (arr.Length >= 4)
{
dir = Path.GetDirectoryName(arr[3]);
}
}
}
catch (Exception e)
{ }
return dir;
}
Vstupní parametr je jméno souboru
C:\Users\kpo\Documents\pamscl.dat
Výstup je
K:\Programmers\Turning\TURN\S\STM\stm0015083\B\zfinal
pokud se něco nepovede, je výstup null nebo prázdný string - lze otestovat
pomocí string.IsNullOrEmpty()
Děkuji za výpis ale jsem úplný laik co se týče C# takže nevím kam to
zakomponovat aby to fungovalo po stisku tlačítka1 a následně nahrazoval
starou cestu novou tady v tomto.
List<String> K_Ncfiles =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "*.nc",
SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV26 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "*CAS_V26.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV36 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "*CAS_V36.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV46 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "*CAS_V46.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV300 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "*CAS_V300.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV26 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN",
"*NASTROJE_V26.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV36 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN",
"*NASTROJE_V36.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV46 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN",
"*NASTROJE_V46.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV300 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN",
"*NASTROJE_V300.TXT", SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV26 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "EDITACE_V26.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV36 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "EDITACE_V36.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV46 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "EDITACE_V46.TXT",
SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV300 =
Directory.GetFiles("K:\\Programmers\\Turning\\TURN", "EDITACE_V300.TXT",
SearchOption.AllDirectories).ToList();
string dir = GetDir("C:\\Users\\kpo\\Documents\\pamscl.dat");
if (!string.IsNullOrEmpty(dir))
{
List<String> K_Ncfiles = Directory.GetFiles(dir, "*.nc", SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV26 = Directory.GetFiles(dir, "*CAS_V26.TXT", SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV36 = Directory.GetFiles(dir, "*CAS_V36.TXT", SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV46 = Directory.GetFiles(dir, "*CAS_V46.TXT", SearchOption.AllDirectories).ToList();
List<String> K_CasfilesV300 = Directory.GetFiles(dir, "*CAS_V300.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV26 = Directory.GetFiles(dir, "*NASTROJE_V26.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV36 = Directory.GetFiles(dir, "*NASTROJE_V36.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV46 = Directory.GetFiles(dir, "*NASTROJE_V46.TXT", SearchOption.AllDirectories).ToList();
List<String> K_NastrojefilesV300 = Directory.GetFiles(dir, "*NASTROJE_V300.TXT", SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV26 = Directory.GetFiles(dir, "EDITACE_V26.TXT", SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV36 = Directory.GetFiles(dir, "EDITACE_V36.TXT", SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV46 = Directory.GetFiles(dir, "EDITACE_V46.TXT", SearchOption.AllDirectories).ToList();
List<String> K_VerzefilesV300 = Directory.GetFiles(dir, "EDITACE_V300.TXT", SearchOption.AllDirectories).ToList();
}
Zobrazeno 10 zpráv z 10.