Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Textbox --> Zahl

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Textbox --> Zahl (1466 mal gelesen)
Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 29. Jun. 2007 11:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,
mit diesem Code in VB.NET 2005 kann ich von einer Datei die Dateigröße in eine Textbox übertragen.
Ich habe eine Datei, die 95 KB groß ist.

1.) wie kann ich sagen, dass nur die Zahlen im Textbox sein sollen.   
    --> dass heisst, hier gibt er doch 95 KB als Angabe. Ich möchte aber dass nur die Zahl drinnen steht.

2.) wenn die Zahl drinnen steht, kann ich doch mit
If txtSize.Text > 50 then Fehler

Ich möchte überprüfen, wenn die Datei größer als 50 KB ist, dann soll er dies als Ende vom Programm sehen.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        txtFilePath.Text = Dir("F:\ACAD_Archiv\Archiv-Fehler-N\*.*")

        Dim fso01 As New Scripting.FileSystemObject
        If fso01 Is Nothing Then fso01 = New Scripting.FileSystemObject

        '----------------------------------------------------------------------------------------------------
        ' Eigenschaften der Datei auslesen
        '----------------------------------------------------------------------------------------------------
        Dim objShell As Shell32.IShellDispatch2
        Dim objFSO As Scripting.FileSystemObject
        Dim strDir As String
        Dim objFolder As Scripting.Folder
        Dim objFolder2 As Shell32.Folder2
        Dim test As Shell32.FolderItem2
        Dim fso As New Scripting.FileSystemObject
        Dim fso1 As New Scripting.FileSystemObject

        objFSO = CType(CreateObject("Scripting.FileSystemObject"), Scripting.FileSystemObject)
        objFolder = objFSO.GetFolder("F:\ACAD_Archiv\Archiv-Fehler-N\")

        strDir = CStr(objFolder.Path)

        objShell = CType(CreateObject("Shell.Application"), Shell32.IShellDispatch2)
        objFolder2 = CType(objShell.NameSpace("" & strDir & ""), Shell32.Folder2)

        txtFilePath.Text = Dir("F:\ACAD_Archiv\Archiv-Fehler-N\*.*")

        test = CType(objFolder2.ParseName(txtFilePath.Text), Shell32.FolderItem2)
        Debug.Print(objFolder2.GetDetailsOf(test, 1))

        txtSize.Text = objFolder2.GetDetailsOf(test, 1)

------------------
Schöne Grüße
Feyza : )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 29. Jun. 2007 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Feyza 10 Unities + Antwort hilfreich

Hallo Feyza,

um Zahlen miteinander zu vergleichen benötigst du eine weitere Ganzzahl Variable.
Deinen TextBox Inhalt würde ich mit

Code:
If IsNumeric(Me.txtSize.Text) Then ...

prüfen.
Wenn du keinen nummerischen Inhalt hast kannst du deinen String zerlegen.
Anschließend kannst du den nummerischen Teil deines Strings in eine Integer Variable stecken und diese vergleichen.

Zum Beispiel für deine Angabe "96 KB"

Code:

Dim iDateiSize As Integer
Dim sStringSplit() As String
'Text bei Leerzeichen splitten
sStringSplit = Me.txtAktuelleDB.Text.Split(CChar(" "))
'Teil 1 des Strings und somit Index Null
'des Array sollte die Dateigröße endhalten.
If IsNumeric(sStringSplit(0)) Then
  iDateiSize = CInt(sStringSplit(0))
  'Dateigröße überprüfen
  If iDateiSize > 50 Then
      '... Fehler
  End If
End If

------------------
Mfg Daniel

Wer A sagt, der muss nicht B sagen. Er kann auch erkennen, dass A falsch war. Bertolt Brecht
------------------
SolidWorks | API | Makro | Schulung | Freeware | Schuler Design Automation GmbH

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 29. Jun. 2007 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Feyza 10 Unities + Antwort hilfreich

Anmerkung:

Warum arbeitest du eigentlich in VB2005 mit dem FileSystemObject?
Es gibt im Framework den IO Namespace welcher alle Funktionen und Abfragen bietet, die du dir nur wünschen kannst.

Hier eine Funktion um die Dateigröße einer Datei zu ermitteln:

Code:

''' <summary>
''' Ermittelt die Größe einer Datei in der angegebenen Einheit.
''' </summary>
''' <param name="sFilename">Pfad der Datei</param>
''' <param name="Einheit">Einheit in dem die Größe der Datei zurück gegeben werden soll</param>
''' <returns>Größe der Datei in der angegebenen Einheit</returns>
''' <remarks></remarks>
Public Shared Function DateiGroesseErmitteln(ByVal sFilename As String, _
            Optional ByVal Einheit As DateiGroesseIn = DateiGroesseIn.B) As Long

        Dim FI As System.IO.FileInfo
        Dim Length As Long

        Try
            FI = New System.IO.FileInfo(sFilename)
            ' Länge In Bytes
            Length = FI.Length
        Catch ex As System.IO.IOException
            Throw New ApplicationException _
              ("GetFileSize IO fehlgeschlagen", ex)
        Catch ex As ArgumentNullException
            Throw New ApplicationException _
              ("GetFileSize: " + sFilename + " ist Nothing.", ex)
        Catch ex As ArgumentException
            Throw New ApplicationException _
              ("GetFileSize: " + sFilename + " ist leer.", ex)
        End Try

        Select Case Einheit
            Case DateiGroesseIn.KB
                Length = CLng(Length / 1024)
            Case DateiGroesseIn.MB
                Length = CLng(Length / (1024 * 1024))
            Case DateiGroesseIn.GB
                Length = CLng(Length / (1024 * 1024 * 1024))
        End Select

        Return Length
End Function


Mit dieser Funktion kannst du die Größe der Datei direkt abfragen und musst nicht den umweg über eine Textbox und somit über Strings machen.

Einfach so:

Code:

if DateiGroesseErmitteln(txtFilePath.Text, DateiGroesseIn.KB) > 50 then
  '...Fehler
end if

Das sieht doch gleich viel besser und schlanker aus!

------------------
Mfg Daniel

Wer A sagt, der muss nicht B sagen. Er kann auch erkennen, dass A falsch war. Bertolt Brecht
------------------
SolidWorks | API | Makro | Schulung | Freeware | Schuler Design Automation GmbH

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 29. Jun. 2007 12:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,

danke für Deine Hilfe.

Wenn ich diesen Code anwenden möchte, kommt als Fehlermeldung"Der Typ "DateiGroesseIn" ist nicht definiert und "Der Name Dateigroesse wurde nicht deklariert".
KOmmt hier noch ein Verweis dazu, wenn ja, welches ?

------------------
Schöne Grüße
Feyza : )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 29. Jun. 2007 12:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Feyza 10 Unities + Antwort hilfreich

Ups,

da habe ich wohl was vergessen.

Code:

    Public Enum DateiGroesseIn As Integer
        B
        KB
        MB
        GB
    End Enum

Einfach diese Enum Konstante in den Code einfügen, dann klappts auch mit dem Nachbarn!

------------------
Mfg Daniel

Wer A sagt, der muss nicht B sagen. Er kann auch erkennen, dass A falsch war. Bertolt Brecht
------------------
SolidWorks | API | Makro | Schulung | Freeware | Schuler Design Automation GmbH

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Feyza
Mitglied



Sehen Sie sich das Profil von Feyza an!   Senden Sie eine Private Message an Feyza  Schreiben Sie einen Gästebucheintrag für Feyza

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 05. Jul. 2007 13:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,
vielen vielen vielen Dank : ))

Jetzt funktioniert der Code, wie ich es wollte : ))

------------------
Schöne Grüße
Feyza : )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 05. Jul. 2007 13:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Feyza 10 Unities + Antwort hilfreich

Hallo Feyza,

kein Problem, mache ich doch gerne.
Freut mich wenn ich helfen konnte.

------------------
Mfg Daniel

Wer A sagt, der muss nicht B sagen. Er kann auch erkennen, dass A falsch war. Bertolt Brecht
------------------
SolidWorks | API | Makro | Schulung | Freeware | Schuler Design Automation GmbH

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz