Hallo, brauche dringend Hilfe! Ich hänge schon viel zu lange an dieser Einsendeaufgabe.
Was mache ich falsch? Und wie mache ich es richtig?
Würde mich über schnelle Hilfe freuen!
:confused::confused::confused:
Hier erstmal was ich bisher habe:
Imports System.Drawing.Printing
Imports System.IO
Imports System.Text
Public Class frmNotizen
Const anwendungstitel As String = "Notizen"
Private datei As String
Dim mFontGröße As Single = 10.0F
Dim mFont As New Font("Times New Roman", mFontGröße, FontStyle.Regular)
Dim mbreite As Single
Dim mhöhe As Single
Dim mZeile As String
Private mIndex As Integer
Private msInfo(10) As String
Private zeile As String
Private Sub Seitenumbruch_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load
mbreite = rtfNotizen.Width
mhöhe = rtfNotizen.Height
Me.Width = CInt(mbreite)
Me.Height = CInt(mhöhe)
Me.scrFontGröße.Value = CInt(mFontGröße)
AddHandler pdglDruckdokument.PrintPage, AddressOf SeiteDrucken
End Sub
...
Private Sub scrFontGröße_valueChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles scrFontGröße.ValueChanged
mFontGröße = scrFontGröße.Value
Invalidate()
End Sub
Private Sub ZeilenUmbruch(ByVal g As Graphics)
Dim br As New SolidBrush(Color.Black)
Dim p As New Pen(rtfNotizen.BackColor)
Dim rBegrenzung As New Rectangle(rtfNotizen.Left, rtfNotizen.Top, _
CInt(mbreite), CInt(mhöhe))
g.DrawRectangle(p, rBegrenzung)
End Sub
Private Sub FormularUmbruch(ByVal g As Graphics)
Dim br As New SolidBrush(Color.Black)
Dim p As New Pen(rtfNotizen.BackColor, 1)
Dim rBegrenzung As New Rectangle(rtfNotizen.Left, rtfNotizen.Top, _
CInt(mbreite), CInt(mhöhe))
g.DrawRectangle(p, rBegrenzung)
Dim sfmt As New StringFormat()
Dim iZeichen As Integer
Dim iZeilen As Integer
Dim i As Integer
Dim szUmbrochen As SizeF
Dim posY As Integer = rtfNotizen.Top
mFont = New Font(mFont.Name, mFontGröße, mFont.Style)
For i = 0 To msInfo.GetUpperBound(0)
szUmbrochen = New SizeF(g.MeasureString(msInfo(i), mFont, _
New SizeF(CSng(Math.Floor(CDbl(rBegrenzung.Width))), _
CSng(Math.Floor(CDbl(rBegrenzung.Height)))), _
sfmt, iZeichen, iZeilen))
If posY + (iZeilen) * mFont.Height >= rBegrenzung.Bottom Then Exit For
g.DrawString(msInfo(i), mFont, br, New RectangleF(rtfNotizen.Left, posY, _
szUmbrochen.Width, _
szUmbrochen.Height), _
sfmt)
posY = posY + (iZeilen) * mFont.Height
Next
End Sub
Private Sub SeiteDrucken(ByVal obj As Object, ByVal e As PrintPageEventArgs)
Dim g As Graphics = e.Graphics
Dim br As New SolidBrush(Color.Black)
Dim p As New Pen(rtfNotizen.BackColor)
Dim rBegrenzung As Rectangle = e.MarginBounds
Dim sfmt As New StringFormat()
Dim iZeichen As Integer
Dim iZeilen As Integer
Dim szUmbrochen As SizeF
Dim posY As Integer = rBegrenzung.Y
For mIndex = mIndex To msInfo.GetUpperBound(0)
szUmbrochen = New SizeF(g.MeasureString(msInfo(mIndex), mFont, _
New SizeF(CSng(Math.Floor(CDbl(rBegrenzung.Width))), _
CSng(Math.Floor(CDbl(rBegrenzung.Height - mFont.Height)))), _
sfmt, iZeichen, iZeilen))
If posY + (iZeilen) * mFont.Height >= rBegrenzung.Bottom Then Exit For
g.DrawString(msInfo(mIndex), mFont, br, New RectangleF(rBegrenzung.Left, posY, _
szUmbrochen.Width, szUmbrochen.Height), sfmt)
posY = posY + iZeilen * mFont.Height
Next
If mIndex < msInfo.GetUpperBound(0) Then
e.HasMorePages = True
mIndex += 1
Else
e.HasMorePages = False
mIndex = 0
End If
End Sub
Private Sub mnuDrucken_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles mnuDrucken.Click
AddHandler pdglDruckdokument.PrintPage, AddressOf SeiteDrucken
End Sub
...
...
...
Private Sub mnuÖffnen_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles mnuÖffnen.Click
If Me.rtfNotizen.Modified Then
Dim s As String = "Der Inhalt wurde verändert, " & vbCrLf _
& "Wollen Sie die Datei schließen ohne zu speichern? "
If MessageBox.Show(s, anwendungstitel, _
MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, _
MessageBoxDefaultButton.Button2) _
= Windows.Forms.DialogResult.No Then
Exit Sub
End If
End If
With Me.dlgDateiÖffnen
If (.ShowDialog() = Windows.Forms.DialogResult.OK) Then
datei = .FileName
If datei.EndsWith(".rtf") Then
Try
Me.rtfNotizen.LoadFile(datei, RichTextBoxStreamType.RichText)
Catch ausnahme As Exception
MessageBox.Show("Die Datei konnte nicht im rtf-Format geladen werden!")
Me.rtfNotizen.LoadFile(datei, RichTextBoxStreamType.PlainText)
End Try
Dim fs As New StreamReader(datei, Encoding.GetEncoding(1252))
zeile = fs.ReadLine
Dim i As Integer
While Not zeile Is Nothing
If i = msInfo.GetUpperBound(0) Then
ReDim Preserve msInfo(msInfo.GetUpperBound(0) + 10)
End If
msInfo(i) = zeile
i += 1
zeile = fs.ReadLine
End While
Else
Me.rtfNotizen.LoadFile(datei, RichTextBoxStreamType.PlainText)
End If
Me.rtfNotizen.Modified = False
End If
End With
Me.Text = anwendungstitel & "-" & datei
Invalidate()
End Sub
...
...
Private Sub mnuSchriftart_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles mnuSchriftart.Click
With Me.dlgSchriftart
.Font = rtfNotizen.SelectionFont
.Color = rtfNotizen.SelectionColor
.ShowApply = True 'Schaltfläche Übernehmen anzeigen
.ShowColor = True 'Schriftfarbe ermöglichen
End With
If dlgSchriftart.ShowDialog = Windows.Forms.DialogResult.OK Then
mFont = New Font(dlgSchriftart.Font, dlgSchriftart.Font.Style)
scrFontGröße.Value = CInt(mFont.SizeInPoints)
With Me.rtfNotizen
.SelectionColor = dlgSchriftart.Color
.SelectionFont = dlgSchriftart.Font
End With
End If
Invalidate()
End Sub
...
...
...
...
Private Sub mnuSeiteeinrichten_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuSeiteeinrichten.Click
Me.pdglSeiteEinrichten.ShowDialog()
End Sub
Private Sub mnuSeitenansicht_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles mnuSeitenansicht.Click
Me.pdglSeitenvorschau.ShowDialog()
End Sub
Beiträge von Doncap
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!
Letzte Beiträge
-
- Thema
- Antworten
- Letzte Antwort
-
-
-
Tipps, um Kosten beim BWL Fernstudium zu sparen 1
- Tutor
28. Juli 2026 um 02:00 - Allgemeine Fragen
- Tutor
28. Juli 2026 um 02:25
-
- Antworten
- 1
- Zugriffe
- 11
1
-
-
-

-
Erste Hausarbeit: Wie komme ich von einem viel zu breiten Thema zu einer sauberen Fragestellung? 4
- MarieLpz
26. Juli 2026 um 19:25 - Studium Allgemein
- MarieLpz
27. Juli 2026 um 08:36
-
- Antworten
- 4
- Zugriffe
- 26
4
-
-
-

-
Einsendeaufgabe mit unklar/mehrdeutig formulierter Frage – wie geht ihr damit um? 4
- NeleStudiert
25. Juli 2026 um 19:10 - Einsendeaufgaben
- NeleStudiert
27. Juli 2026 um 07:40
-
- Antworten
- 4
- Zugriffe
- 37
4
-
-
-

-
Komparativer Kostenvorteil – warum lohnt sich Handel, wenn ein Land doch alles besser kann? 2
- KevinFernuni
26. Juli 2026 um 17:05 - Volkswirtschaftslehre
- KevinFernuni
27. Juli 2026 um 07:05
-
- Antworten
- 2
- Zugriffe
- 16
2
-
-
-

-
Return on Investment (ROI) und das DuPont-Schema – wie hängen Umsatzrendite und Kapitalumschlag zusammen? 4
- Sara93
25. Juli 2026 um 14:20 - Betriebswirtschaftslehre
- Sara93
27. Juli 2026 um 06:55
-
- Antworten
- 4
- Zugriffe
- 46
4
-
-
-

-
Die sieben Einkunftsarten (§ 2 EStG) – warum ist es so wichtig, welcher Art meine Einnahmen zugeordnet werden? 3
- Jonas91
26. Juli 2026 um 15:40 - Steuerlehre
- Jonas91
27. Juli 2026 um 06:45
-
- Antworten
- 3
- Zugriffe
- 16
3
-
-
-
-
Möglichkeiten für ein Stipendium beim BWL Fernstudium 1
- Tutor
27. Juli 2026 um 02:00 - Allgemeine Fragen
- Tutor
27. Juli 2026 um 02:25
-
- Antworten
- 1
- Zugriffe
- 24
1
-
-
-

-
Inventur, Inventar und Bilanz – wie hängen die drei Begriffe eigentlich zusammen? 2
- PhilBWL
26. Juli 2026 um 14:20 - Rechnungswesen
- PhilBWL
26. Juli 2026 um 18:10
-
- Antworten
- 2
- Zugriffe
- 17
2
-
-
-

-
Bestandsveränderungen bei fertigen Erzeugnissen buchen – Mehrbestand ist doch kein Umsatz, oder? 3
- OleNordwind
24. Juli 2026 um 16:55 - Rechnungswesen
- OleNordwind
26. Juli 2026 um 07:35
-
- Antworten
- 3
- Zugriffe
- 52
3
-
-
-

-
Datenbank-Trigger – was ist das, und wann sollte ich einen einsetzen (und wann besser nicht)? 2
- AnnaWInf
25. Juli 2026 um 16:55 - Wirtschaftsinformatik
- AnnaWInf
26. Juli 2026 um 07:00
-
- Antworten
- 2
- Zugriffe
- 29
2
-