vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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 3 
Autor: teccer
Datum: 12.10.04 12:33

Private Sub CalculationDetailRange(NewTopWhileNotFirstSite As Boolean)
Dim anzahlfelder As Integer
Call SetSql
 
'Anzahl felder ermitteln
Connect
RS.Open sql, CN
For Each X In RS.Fields
If Not (X.Name = "ID" Or X.Name = "Area") Then
a = Split(X, "|")
    If a(8) > Area3Top And a(8) < Area4Top Then
anzahlfelder = anzahlfelder + 1
    End If
End If
Next
RS.Close
 
'Array erstellen
ReDim felder(1 To anzahlfelder) As String
anzahl = 0
 
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) > Area3Top And a(8) < Area4Top) And a(0) = "Wahr" Then
anzahl = anzahl + 1
felder(anzahl) = a(8) & "|" & a(0) & "|" & a(1) & "|" & a(2) & "|" & a(3) & "|" _
  & a(4) & "|" & a(5) & "|" & a(6) & "|" & a(7) & "|" & a(9) & "|" & a(10) & _
  "|" & a(11) & "|" & X.Name
End If
    End If
Next
CLOSEN
 
'Array muss jetzt sortiert werden
QuickSort felder
 
'Nun, bis auf Textfeld, alle Felder im Detail-Bereich drucken (Die werden immer 
' gedruckt)
For i = 1 To anzahlfelder
a = Split(felder(i), "|")
If Not a(12) = "Textfeld" Then
Printer.Font = a(5)
Printer.FontBold = a(9)
Printer.FontItalic = a(10)
Printer.FontSize = a(6)
Printer.FontUnderline = a(11)
wert = GetPrintText(a(12), a(1), a(7))
MyRect.left = (a(3) * Printer.ScaleWidth) / breite
MyRect.Right = ((a(4) * Printer.ScaleWidth) / breite) + MyRect.left
        If NewTopWhileNotFirstSite = False Then
        MyRect.Top = (a(0) * Printer.ScaleHeight) / höhe
        Else
        MyRect.Top = ((a(0) - Area2height) * Printer.ScaleHeight) / höhe
        End If
        'If NewTopWhileNotFirstSite = False Then
        MyRect.Bottom = ((a(8) * Printer.ScaleHeight) / höhe) + MyRect.Top
        'Else
        'MyRect.Bottom = (((a(8) + Area2height) * Printer.ScaleHeight) / höhe) 
        ' + MyRect.Top
        'End If
 
            Printer.Print ""
            If a(2) = "0" Then
            Result = DrawText(Printer.hdc, wert, Len(wert), MyRect, DT_LEFT Or _
              DT_WORDBREAK)
            ElseIf a(2) = "1" Then
            Result = DrawText(Printer.hdc, wert, Len(wert), MyRect, DT_RIGHT Or _
              DT_WORDBREAK)
            Else
            Result = DrawText(Printer.hdc, wert, Len(wert), MyRect, DT_CENTER _
              Or DT_WORDBREAK)
            End If
End If
Next
 
'Nun Daten für Textfeld holen
For i = 1 To anzahlfelder
a = Split(felder(i), "|")
If a(12) = "Textfeld" Then
Alignment = a(2)
Printer.Font = a(5)
Printer.FontBold = a(9)
Printer.FontItalic = a(10)
Printer.FontSize = a(6)
Printer.FontUnderline = a(11)
'wert = GetPrintText(a(12), a(1), a(7))
MyRect.left = (a(3) * Printer.ScaleWidth) / breite
MyRect.Right = ((a(4) * Printer.ScaleWidth) / breite) + MyRect.left
        If NewTopWhileNotFirstSite = False Then
        MyRect.Top = (a(0) * Printer.ScaleHeight) / höhe
        Else
        MyRect.Top = ((a(0) - Area2height) * Printer.ScaleHeight) / höhe
        End If
        'If NewTopWhileNotFirstSite = False Then
        MyRect.Bottom = ((a(8) * Printer.ScaleHeight) / höhe) + MyRect.Top
        'Else
        'MyRect.Bottom = (((a(8) + Area2height) * Printer.ScaleHeight) / höhe) 
        ' + MyRect.Top
        'End If
'Printer.Print ""
MyNewRect = MyRect
MyNewText = Text
            If a(2) = "0" Then
            Result = DrawText(Printer.hdc, MyNewText, Len(MyNewText), _
              MyNewRect, DT_LEFT Or DT_WORDBREAK Or DT_MODIFYSTRING Or _
              DT_WORD_ELLIPSIS Or DT_CALCRECT)
            ElseIf a(2) = "1" Then
            Result = DrawText(Printer.hdc, MyNewText, Len(MyNewText), _
              MyNewRect, DT_RIGHT Or DT_WORDBREAK Or DT_CALCRECT Or _
              DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
            Else
            Result = DrawText(Printer.hdc, MyNewText, Len(MyNewText), _
              MyNewRect, DT_CENTER Or DT_WORDBREAK Or DT_CALCRECT Or _
              DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
            End If
 
                    If MyNewRect.Bottom >= MyRect.Bottom Then
                    sText = Text
                    Set objDest = Printer
                    R = MyRect
                    'MsgBox "result holen"
                    Result = GetCharCountForRect
                    Else
                    'MsgBox "result ist rest vom text"
                    Result = Len(Text)
                    End If
                    'MsgBox Result & "-" & Len(Text)
 
                            If Len(Text) > Result Then
                            NewSite = "ja"
                            'Result = GetMaxCountWithReturn(Result)
                            'MsgBox Result
                            Else
                            NewSite = ""
                            End If
End If
Next
TextToPrint = LTrim(left(Text, Result))
RestText = LTrim(Mid(Text, Result))
Text = RestText
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ein paar Kleinigkeiten1.433teccer11.10.04 21:21
Re: Ein paar Kleinigkeiten1.243ModeratorFZelle12.10.04 09:20
kann ich nichts mit anfangen1.092teccer12.10.04 10:27
Re: kann ich nichts mit anfangen1.786ModeratorFZelle12.10.04 11:43
Re: kann ich nichts mit anfangen1.230teccer12.10.04 12:29
Teil 21.343teccer12.10.04 12:31
Teil 31.214teccer12.10.04 12:33
Teil 41.078teccer12.10.04 12:34
Teil 51.065teccer12.10.04 12:35
Letzter Teil997teccer12.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.104Drapondur12.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.404ModeratorFZelle12.10.04 16:02
Re: Letzter Teil1.026spike2412.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.127teccer12.10.04 17:43
Re: Stimmt, da war doch noch was ;)1.069spike2412.10.04 18:18
Re: Stimmt, da war doch noch was ;)1.175ModeratorFZelle12.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.031teccer12.10.04 19:07
Re: Stimmt, da war doch noch was ;)1.005spike2412.10.04 19:09
Re: Ich brech hier ab ;)1.050ModeratorFZelle12.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.038teccer12.10.04 19:12
Re: Ein paar Kleinigkeiten1.054ModeratorFZelle15.10.04 09:27
Re: Ein paar Kleinigkeiten1.064teccer15.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