Gedankenproblem zur Herangehensweise / Verschiedene Strings

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Gedankenproblem zur Herangehensweise / Verschiedene Strings

    Hallo Ihr lieben,

    es geht um ein Programm das ich in der WPF schreibe, allerdings ist es eher ein grundlegendes Problem das denke ich zumindest nicht WPF-spezifisch ist, sollte das Thema hier falsch sein, bitte verschieben.

    Und Zwar möchte ich automatisch nach laden von verschiedenen PDF-Dateien, Outlook-Drafts erstellen, so das ich diese anschließend nur noch absenden muss. Das laden der Dateien per D&D funktioniert bereits, aber jetzt fängt mein Problemchen an, ich muss dann pro Datei angeben, ob der Text auf deutsch oder englisch gehalten sein soll, UND ob die Ansprache in der Mail "Sehr geehrte Damen und Herren" oder "Sehr geehrter Herr" oder eben "Sehr geehrte Frau" oder wenn es ein Firmeninterner Empfänger ist nur "Hi" lauten soll, also 4 Möglichkeiten pro Sprache, wären somit 8 Optionen. Aktuell hätte ich mehrere Ansätze im Kopf, bin mir aber nicht sicher ob es da einen eleganteren Weg gäbe:
    Entweder ich lege ein Property als Integer an, und erstelle einen Converter, der Mir die entsprechenden Zahlen in Strings convertiert(für das View), oder wäre einfach eine ObservableCollection(Of String) gebunden an eine Combobox sinnvoller ? Zuerst habe ich an ein Enum gedacht, allerdings kann ich mich noch schmerzlich daran erinnern das ich das vor einigen Jahren schonmal versucht hatte, und es nicht hinbekommen habe, das mit der WPF zu verbinden.

    Wie würdet Ihr so etwas angehen ?

    LG und Danke
    If Energy = Low Then
    Drink(aHugeCoffee)
    Else
    Drink(aHugeCoffeeToo)
    End If
    Ah - ein Viewmodel

    VB.NET-Quellcode

    1. public class NamedText
    2. public property Name, Text As String
    3. End Class

    VB.NET-Quellcode

    1. public class MainViewmodel
    2. public property NamedTexts() As NamedText = {
    3. new NamedText With {.Name = "InternDE", .Text="Hi!"},
    4. new NamedText With {.Name = "GeehrterHerrDE", .Text="Sehr geehrter Herr"},
    5. new NamedText With {.Name = "DiverseEN", .Text="Dear Diverses (as all of us),"}}
    6. End Class

    Oder du denkst dir gleich richtige Textvorlagen aus, mit Platzhaltern für Begrüssung, Datum, Schluss-Floskel.
    Sowas kann man auch aus Dateien einlesen, bzw der Nutzer kanns in Dateien pflegen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    erstelle Email-Vorlagen und rufe diese auf

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. Dim oApp As New Outlook.Application()
    3. Dim oMailItem As Outlook._MailItem = CType(oApp.CreateItemFromTemplate("D:\TestFolder\TestEmail.msg"), Outlook._MailItem)
    4. 'oder als .oft
    5. ' 'Dim oMailItem As Outlook._MailItem = CType(oApp.CreateItemFromTemplate("D:\TestFolder\Vorlage.oft"), Outlook._MailItem)
    6. 'oMailItem.Attachments.Add("D:\TestFolder\2013.pdf")
    7. oMailItem.Display(True)
    8. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Kasi“ ()

    @asusdk @ErfinderDesRades Ich würde da ein Dictionary(Of String, String) verwenden, um sicherzustellen, dass jeder Name nur ein Mal belegt wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!