vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Alter berechnen 
Autor: viperbone
Datum: 17.12.05 08:52

Guten Tag,

könnte mir bitte jemand helfen? Ich möchte aus dieser Funktion (Extra Tipp August 2002 http://www.vbarchiv.net/archiv/extratipps.php) die als Rückgabewert das exakte Alter in Jahren zurückgibt umbauen so, dass sie Jahre, Monate und Tage zurückgibt:

' vb@rchiv - Das große Visual-Basic Archiv
' Tools & Components - Entwicklerkomponenten für VB-32 Bit
'
' Copyright ©2000-2002 Dieter Otter
'
' Der Programmcode darf für eigene Zwecke verwendet werden.
' Es ist nicht erlaubt Inhalte des Projektes ohne unserer
' Zustimmung zum Download anzubieten.
'
' Die Beispielskripte sind Computerprogramme, die gemäß
' des §2 Abs. 1 Nr. 69 aff. UrhG den urheberrechtlichen
' Schutz geniessen und dürfen nicht für eigene ausgegeben
' werden.
'
' Dieter Otter
' Software-Entwicklung & Vertrieb
' info@vbarchiv.de
' http://www.vbarchiv.de
' http://www.vbarchiv.net
'
' info@tools4vb.de
' http://www.tools4vb.de
'======================================================
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
  ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
  ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As _
  Long) As Long
 
Public Function Alter(ByVal sGebDat As String, _
  Optional ByVal sNow As String = "") As Integer
 
  Dim iYears As Long
  Dim lDateCurrent As Long
  Dim lDateBirthday As Long
  Dim sTemp As String
 
  iYears = 0
 
  ' korrekte Datumsangabe?
  ' Format: tt.mm.yyyy
  If Len(sGebDat) = 10 And _
    Mid$(sGebDat, 3, 1) = "." And Mid$(sGebDat, 6, 1) = "." Then
 
    ' Falls sNow nicht angegeben wurde, wird
    ' jetzt das aktuelle Tagesdatum für die Altersberechnung
    ' herangezogen
    If sNow = "" Then sNow = Format$(Now, "dd.mm.yyyy")
 
    lDateCurrent = Val(Right$(sNow, 4) + Mid$(sNow, 4, 2) + Left$(sNow, 2))
    lDateBirthday = Val(Right$(sGebDat, 4) + Mid$(sGebDat, 4, 2) + Left$( _
      sGebDat, 2))
    iYears = Int(lDateCurrent - lDateBirthday)
    If iYears < 0 Then iYears = 0
 
    sTemp = Format$(iYears, "00000")
    While Len(sTemp) < 7: sTemp = " " + sTemp: Wend
    iYears = Val(Left$(sTemp, Len(sTemp) - 4))
  End If
 
  Alter = iYears
End Function
Ich habe probiert die Funktion zu begreiffen aber ich werd nicht so schlau daraus.
Was macht Herr Otter bei "Val". Was geschiet da genau?
 lDateCurrent = Val(Right$(sNow, 4) + Mid$(sNow, 4, 2) + Left$(sNow, 2))
 lDateBirthday = Val(Right$(sGebDat, 4) + Mid$(sGebDat, 4, 2) + Left$(sGebDat, _
   2))
 iYears = Int(lDateCurrent - lDateBirthday)
Bitte um Hilfe.

fg viperbone

fg viperbone

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Alter berechnen371Pillepalle26.12.02 13:54
Re: Alter berechnen520ModeratorDieter26.12.02 20:31
Re: Alter berechnen393viperbone07.12.05 19:51
Re: Alter berechnen314viperbone16.12.05 20:13
Re: Alter berechnen329viperbone17.12.05 08:52
Re: Alter berechnen433viperbone17.12.05 10:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel