Announcement

Collapse
No announcement yet.

% ist Ungültiges Zeichen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • % ist Ungültiges Zeichen?

    Hi,
    ich wollte Heute mit VB.net 2008 eine Datei kopieren mit dem Befehl:

    Code:
    Filecopy (%Homepath% & "\Meine_Datei.exe",  %Homepath% & "\Meine_Dateikopie.exe")
    jetzt gibt mir VB nen Fehler aus, das angeblich "%" ein ungülitiges Zeichen ist.
    Aber ich hab schön öfters genauso Dateien kopiert und da hat immer alles funktioniert

  • #2
    Hallo,

    schau dir mal die Environment.GetFolderPath-Methode an.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Danke erstmal,

      muss ich da erst noch extra was für mich anpassen?

      Weil bei mir will er bei der Deklaration bei dem SpecialFolder ganz am schluss noch ne End-Of Anweisung?

      Comment


      • #4
        zB so

        [highlight=vbnet]
        Imports System
        Imports System.IO

        Namespace ConsoleApplication1
        * * Class Program
        * * * * Private Shared Sub Main()
        * * * * * * File.Copy(Path.Combine(Environment.GetFolderPath(E nvironment.SpecialFolder.MyDocuments), "Meine_Datei.exe"), Path.Combine(Environment.GetFolderPath(Environment .SpecialFolder.MyDocuments), "Meine_Datei_Kopie.exe"))
        * * * * End Sub
        * * End Class
        End Namespace

        [/highlight]


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Danke, habs grad selber hinbekommen das ich den Pfad bekommen
          Hab System.Environment Importiert und dan:

          Code:
          Dim Test As String
          
                  Test = Environment.GetFolderPath(SpecialFolder.Personal)
          nochmal vielen Danke

          Comment


          • #6
            Originally posted by chriiis View Post
            Hab System.Environment Importiert ...
            Das ist nur Zufall und hat mit diesem Imports nichts zu tun: Die Imports-Anweisung benutzt immer einen Namespace, aber niemals eine Klasse. Der Name der Klasse (hier: Environment) oder einer Instanz ist innerhalb des Codes immer direkt zu verwenden. Es funktioniert in diesem Fall, weil Environment zum System-Namespace gehört und dieser "automatisch" eingebunden wird.

            Code:
            // Standard:
            Imports System
            // Folgendes ist überflüssig und wird ignoriert, weil keine Referenz eingebunden ist,
            // die einen solchen Namespace deklarieren würde:
            Imports System.Environment
            Es würde auch zu Missverständnissen (wenn nicht sogar Fehlern) führen, wenn Klassennamen auch als Teil eines Namespace benutzt würden.

            Jürgen

            Comment


            • #7
              Die Imports-Anweisung benutzt immer einen Namespace, aber niemals eine Klasse.
              Macht zwar glaube ich wenig Sinn (außer wenn man Aliase vergibt) aber man kann da auch Klassen, Structs, Interfaces etc. bei imports(oder beim using in c#) angeben.

              Comment


              • #8
                Originally posted by Ralf Jansen View Post
                ...aber man kann da auch Klassen, Structs, Interfaces etc. bei imports(oder beim using in c#) angeben.
                Nach meiner SDK-Doku/MSDN 2.0 ist das nicht richtig, sondern es geht nur um Namespace:
                Imports-Anweisung
                namespace Erforderlich. Der vollqualifizierte Name des importierten Namespaces.

                using-Direktive
                Der Namespace, der Typen enthält, die Sie verwenden möchten, ohne den voll qualifizierten Namen angeben zu müssen.
                Jürgen

                Comment


                • #9
                  @Jürgen: Ich hab auch nachgeschaut und die erste Reaktion war gleich wie deine. Schau dir aber die Beispiele an. Dort wird eine Klasse per using mit einem Alias versehen. Insofern stimmt Ralfs Aussage.

                  mfG Gü
                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                  Comment


                  • #10
                    In meiner Hilfe gibst den Hinweis schon. Aber ich glaube die Hilfe impliziert das man ein Element(Klasse) auch ohne alias angeben kann und das habe ich so wiedergegeben. Das geht aber scheinbar nicht (hab'sch mal ausprobiert).
                    Also sobald man ein Alias angibt kann man auch eine Klasse angeben. Ohne Alias nur einen Namesspace.


                    Originally posted by Imports aus MSDN
                    Imports namespaces or programming elements defined in the current project or in referenced projects and assemblies.

                    Imports [ aliasname = ] namespace
                    -or-
                    Imports [ aliasname = ] namespace.element

                    element - If you supply element, it must represent a container element, that is, a programming element that can contain other elements. Container elements include classes, structures, modules, interfaces, and enumerations.

                    Comment

                    Working...
                    X