Diskuze: problém s or

C# .NET .NET (C# a Visual Basic) problém s or American English version English version

Aktivity (1)
Avatar
Michael Švrček
Neregistrovaný
Avatar
Michael Švrček:10.11.2013 13:55

Ahoj potřebuju pomoc když sem napsal do mého kódu toto: "soubor = ".jpg" or ".png" " - vyskočil na mně error : "Převod řetězce *.jpg na typ Long není platný." Neví někdo jak to udělat ???

 
Odpovědět 10.11.2013 13:55
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michael Švrček
Jan Vargovský:10.11.2013 14:06

or se píše takto || resp. |. Ale to na tvůj případ nebude fungovat. Zkus napsat kousek kódu kde to chceš využít.

 
Nahoru Odpovědět 10.11.2013 14:06
Avatar
Michael Švrček
Neregistrovaný
Avatar
Michael Švrček:10.11.2013 14:16

tady to je :)

Dim uzivatelskejmeno As String = My.User.Name
uzivatelskejmeno = Regex.Replace(u­zivatelskejme­no, "(.*?\)", "")

Dim zaklad
Dim cil
Dim soubor

zaklad = "C:\Users\" & uzivatelskejmeno & "\Desktop"
cil = "C:\Users\" & uzivatelskejmeno & "\Desktop\Obrázky"

soubor = ".jpg" Or ".png"

ObjFso = CreateObject("Scrip­ting.FileSyste­mObject")

ObjFso.MoveFi­le(zaklad & "\" & soubor, cil & "\")

 
Nahoru Odpovědět 10.11.2013 14:16
Avatar
Michael Švrček
Neregistrovaný
Avatar
Odpovídá na Jan Vargovský
Michael Švrček:10.11.2013 14:21

Promin nedal jsem odpovědět :)

 
Nahoru Odpovědět 10.11.2013 14:21
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michael Švrček
Jan Vargovský:10.11.2013 14:28

A k čemu tam chceš ten or? To chceš náhodně uložit soubor s formátem jpg a png ? Nebo nechápu...

 
Nahoru Odpovědět 10.11.2013 14:28
Avatar
Michael Švrček
Neregistrovaný
Avatar
Odpovídá na Jan Vargovský
Michael Švrček:10.11.2013 14:30

Nene ja chci vzít všechny png a jpg a dát je do složky

 
Nahoru Odpovědět 10.11.2013 14:30
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michael Švrček
Jan Vargovský:10.11.2013 14:36

Jestli trváš na VB, tak musíš poprosit Michal Žůrek (misaz)e :)

 
Nahoru Odpovědět 10.11.2013 14:36
Avatar
Michael Švrček
Neregistrovaný
Avatar
Michael Švrček:10.11.2013 15:35

Dik jak mu poslu zpravu :)

 
Nahoru Odpovědět 10.11.2013 15:35
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michael Švrček
Jan Vargovský:10.11.2013 15:37

Musíš se registrovat, nebo počkej, on ti snad odpoví i sem. Každopádně obecný problém je ten, že si najdeš všechny cesty s koncovkou .jpg a .png, uložíš si je někde do kolekce a pak jeden po jednom je budeš přemisťovat.

 
Nahoru Odpovědět 10.11.2013 15:37
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Michael Švrček
Inoue Yūki:10.11.2013 16:01

Nevím jak je to v jiných jazycích, ale když chceš v Pythonu použít takto "or", musíš napsat proměnnout znovu:

soubor = ".jpg" or ".png"

přepsat na

(soubor = ".jpg") or (soubor = ".png")
Nahoru Odpovědět 10.11.2013 16:01
Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:10.11.2013 16:02

Pardon, nevšiml jsem si celého kódu...

Nahoru Odpovědět 10.11.2013 16:02
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Michael Švrček
Jan Vargovský:10.11.2013 16:05
var files = Directory.GetFiles(@"Cestaodkud").Where(f => f.EndsWith(".png") || f.EndsWith(".jpg")));
        foreach (string path in files)
        {
            // Tu to chce cestu odkud a pak cestu kam, ale k té cestě kam ještě musíš přidat jméno souboru proto to new FileInfo ...
            File.Move(path, @"CestaKam" + new FileInfo(path).Name);
        }

Takhle to je v C#, tak pak ať to kdyžtak někdo kdo umí ve VB přepíše... Zkoušel jsem to sám, ale je to nějaké čudné :D

Editováno 10.11.2013 16:06
 
Nahoru Odpovědět 10.11.2013 16:05
Avatar
Michal Žůrek (misaz):12.11.2013 17:16

Ahoj, zaprvé používáš starý objekt. Použij Directory.Get­Files(složka), která ti vrátí všechny soubory, pak je ifem ověř regulérním výrazem.

Nahoru Odpovědět 12.11.2013 17:16
Nesnáším {}, proto se jim vyhýbám.
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 13 zpráv z 13.