Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Mappanév választás hiba vb.net

»

Mappanév választás hiba vb.net

nyitotta: Ricsi20, idő: 2010.03.12., moderátor: Ivn
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Alkalmazások » Windows alkalmazások
Programozási nyelvek » Visual Basic

Sorrend:
Időzóna:
Blokkméret:
Sziasztok!

Visual studio 2008-ban irok egy progit. A következő kódban egy mappát akarok létrehozni egy feltétel alapján. A gond az, hogy mindigy az egyéb mappát hozza csak létre, és nem jövök rá, hogy mi a hiba...:


For Each fajl In fajlok                                     ' csoportosító ciklus
                    fajlnev = fajl.Name
                    kep.Image = Image.FromFile(elut & "\" & fajlnev)        ' a kép betöltése
                    kep.Refresh()
                    szel = kep.Image.Size.Width                            ' a kép szélessége
                    mag = kep.Image.Size.Height                            ' a kép magassága
                    arany = szel / mag
                    Str(arany)
                    MsgBox(arany)
                    Select Case arany                    ' arány kiválasztása
                        Case "1,333333"
                            mappanev = "4:3"
                        Case "1,777777"
                            mappanev = "16:9"
                        Case Else
                            mappanev = "egyéb"
                    End Select
                    If Directory.Exists(elut & "\" & mappanev) = False Then
                        Directory.CreateDirectory(elut & "\" & mappanev)
                    End If
                    File.Copy(elut & "\" & fajlnev, elut & "\" & mappanev & "\" & fajlnev, True)
                    kep.Image = Image.FromFile(elut & "\" & mappanev & "\" & fajlnev)
                    kep.Refresh()
                    If athelyez.Checked = True Then
                        File.Delete(elut & "\" & fajlnev)
                    End If
                Next fajl

Ha msgbox-al megnézem az arany értékét, akkor a case-ban megadott értékeket írja ki....
Találóskérdés:
Tartalmazhat-e mappanév kettőspontot?
                    arany = szel / mag
                    Str(arany)

Véletlenül arany tartalma nem 1.333333 (ponttal!) ???
Próbáld így:
                    MyStr = Str(arany)
                    MsgBox(arany)
                    Select Case MyStr                    ' arány kiválasztása
                        Case "1,333333"
                            mappanev = "4:3"
                        Case "1,777777"
                            mappanev = "16:9"
                        Case Else
                            mappanev = "egyéb"
                    End Select

Vagy így:
                    MyStr = Str(arany)
                    MsgBox(arany)
                    Select Case MyStr                    ' arány kiválasztása
                        Case "1.333333"
                            mappanev = "4:3"
                        Case "1.777777"
                            mappanev = "16:9"
                        Case Else
                            mappanev = "egyéb"
                    End Select
Ténylegg nem tartalmazhat, de nem ez a hiba, mert a windows ilyenkor a 4:3 helyett a 43 nevű mappát hozza létre.
De azért kösz. Átjavítottam 4_3 és 16_9-re.
Így:
                    MyStr = Str(arany)
                    MsgBox(MyStr)
                    Select Case MyStr                    ' arány kiválasztása
                        Case "1,333333"
                            mappanev = "4:3"
                        Case "1,777777"
                            mappanev = "16:9"
                        Case Else
                            mappanev = "egyéb"
                    End Select

Vagy így:
                    MyStr = Str(arany)
                    MsgBox(MyStr)
                    Select Case MyStr                    ' arány kiválasztása
                        Case "1.333333"
                            mappanev = "4:3"
                        Case "1.777777"
                            mappanev = "16:9"
                        Case Else
                            mappanev = "egyéb"
                    End Select
az msgbox vesszővel íeja ki a már string-é konvertált arany-t
nem működik sajnos
Az még nem string! Hiszen az Str() egy függvény, nem szubrutin!

http://msdn.microsoft.com/en-us/library/4y6a1sx7(VS.71).aspx

Kipróbáltad a javaslataimat?
űén csak hobbiból programozok, és a könyv amiből tanulgatok ( visual basic.net fekete könyv) az str egy adatkonverziós fuggvény...
de ez nem is érdekes már. A link amit adtál megldotta a problémát... Ez a függvény egy szóközt rak a pozitív számok elé....

                    x = 0
                    if (arany > 1.3332) and (arany < 1.3334) then
                        x = 1
                    end if
                    if (arany > 1.7776) and (arany < 1.7778) then
                        x = 2
                    end if
                    MyStr = Str(arany)
                    MsgBox(x)
                    Select Case x   ' arány kiválasztása
                        Case 1
                            mappanev = "4:3"
                        Case 2
                            mappanev = "16:9"
                        Case Else
                            mappanev = "egyéb"
                    End Select
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen