vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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

VB.NET - Fortgeschrittene
Teil 5 
Autor: teccer
Datum: 12.10.04 12:35

Sub QuickSort(SortArray() As String, Optional ByVal varStart As Long, Optional _
  ByVal varEnd As Long)
   Dim i As Long, J As Long, RandIndex As Long, Partition As String
   Dim Low As Long, High As Long
 
   Low = IIf(varStart = 0, LBound(SortArray), varStart)
   High = IIf(varEnd = 0, UBound(SortArray), varEnd)
 
   If Low < High Then
      If High - Low = 1 Then
         If UCase(SortArray(Low)) > UCase(SortArray(High)) Then
            Swap SortArray(Low), SortArray(High)
         End If
      Else
         'Einen zufälligen Ausgangspunkt generieren
         RandIndex = Rnd() * (High - Low) + Low
         Swap SortArray(High), SortArray(RandIndex)
         Partition = UCase(SortArray(High))
         Do
            'Von beiden Seiten auf den Ausgangspunkt "zugehen"
            i = Low: J = High
            Do While (i < J) And (UCase(SortArray(i)) <= Partition)
               i = i + 1
            Loop
            Do While (J > i) And (UCase(SortArray(J)) >= Partition)
               J = J - 1
            Loop
 
            'Wenn der Ausgangspunkt noch nicht erreicht ist, sind 2 Elemente auf
            'beiden Seiten funktionsunfähig, deswegen werden sie vertauscht
            If i < J Then
               Swap SortArray(i), SortArray(J)
            End If
         Loop While i < J
 
         'Den Ausgangspunkt zu seinem richtigen Platz im Array führen
         Swap SortArray(i), SortArray(High)
 
         'Die QuickSort-Routine rekursiv nochmals aufrufen
         If (i - Low) < (High - i) Then
            QuickSort SortArray, Low, i - 1
            QuickSort SortArray, i + 1, High
         Else
            QuickSort SortArray, i + 1, High
            QuickSort SortArray, Low, i - 1
         End If
      End If
   End If
End Sub
Private Sub Swap(First As String, Second As String)
   Dim varTemp As String
 
   varTemp = First
   First = Second
   Second = varTemp
End Sub
Private Sub PrintElementsHeaderandFooting()
Call SetSql
Connect
RS.Open sql, CN
For Each X In RS.Fields
a = Split(X, "|")
If Not (X.Name = "ID" Or X.Name = "Area") Then
    If ((a(8) > Area1Top And a(8) < Area2Top) Or (a(8) > Area5Top And a( _
      8) < 30)) Then
        Printer.Font = a(4)
        Printer.FontBold = a(9)
        Printer.FontItalic = a(10)
        Printer.FontSize = a(5)
        Printer.FontUnderline = a(11)
        thetext = GetPrintText(X.Name, a(0), a(6))
        MyRect.left = (a(2) * Printer.ScaleWidth) / breite
        MyRect.Top = (a(8) * Printer.ScaleHeight) / höhe
        MyRect.Right = ((a(3) * Printer.ScaleWidth) / breite) + MyRect.left
        MyRect.Bottom = ((a(7) * Printer.ScaleHeight) / höhe) + MyRect.Top
        Printer.Print ""
                If a(1) = "0" Then
                Result = DrawText(Printer.hdc, thetext, Len(thetext), MyRect, _
                  DT_LEFT Or DT_WORDBREAK)
                ElseIf a(1) = "1" Then
                Result = DrawText(Printer.hdc, thetext, Len(thetext), MyRect, _
                  DT_RIGHT Or DT_WORDBREAK)
                Else
                Result = DrawText(Printer.hdc, thetext, Len(thetext), MyRect, _
                  DT_CENTER Or DT_WORDBREAK)
                End If
    End If
End If
Next
CLOSEN
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ein paar Kleinigkeiten1.434teccer11.10.04 21:21
Re: Ein paar Kleinigkeiten1.243ModeratorFZelle12.10.04 09:20
kann ich nichts mit anfangen1.093teccer12.10.04 10:27
Re: kann ich nichts mit anfangen1.789ModeratorFZelle12.10.04 11:43
Re: kann ich nichts mit anfangen1.230teccer12.10.04 12:29
Teil 21.344teccer12.10.04 12:31
Teil 31.214teccer12.10.04 12:33
Teil 41.078teccer12.10.04 12:34
Teil 51.066teccer12.10.04 12:35
Letzter Teil998teccer12.10.04 12:36
Teil 21.214teccer12.10.04 12:31
Letzter Teil1.096teccer12.10.04 12:35
Re: Letzter Teil1.210ModeratorFZelle12.10.04 14:11
Re: Letzter Teil1.105Drapondur12.10.04 15:30
Re: Letzter Teil991teccer12.10.04 15:38
Re: Letzter Teil1.013spike2412.10.04 15:42
Re: Letzter Teil1.270teccer12.10.04 15:47
Re: Letzter Teil1.405ModeratorFZelle12.10.04 16:02
Re: Letzter Teil1.027spike2412.10.04 16:04
Ich brech hier ab ;)1.082teccer12.10.04 17:38
Re: Ich brech hier ab ;)998spike2412.10.04 17:39
Stimmt, da war doch noch was ;)1.128teccer12.10.04 17:43
Re: Stimmt, da war doch noch was ;)1.070spike2412.10.04 18:18
Re: Stimmt, da war doch noch was ;)1.177ModeratorFZelle12.10.04 18:54
Re: Stimmt, da war doch noch was ;)1.131spike2412.10.04 19:05
Re: Stimmt, da war doch noch was ;)1.033teccer12.10.04 19:07
Re: Stimmt, da war doch noch was ;)1.006spike2412.10.04 19:09
Re: Ich brech hier ab ;)1.051ModeratorFZelle12.10.04 17:42
Re: Ich brech hier ab ;)1.027teccer12.10.04 17:46
Re: Ich brech hier ab ;)1.064ModeratorFZelle12.10.04 18:03
Re: Ein paar Kleinigkeiten1.097Moderatorralf_oop12.10.04 19:04
Re: Ein paar Kleinigkeiten1.039teccer12.10.04 19:12
Re: Ein paar Kleinigkeiten1.055ModeratorFZelle15.10.04 09:27
Re: Ein paar Kleinigkeiten1.065teccer15.10.04 09:38

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