Inhalt von RTB als ByteArray speichern

  • WPF

Es gibt 42 Antworten in diesem Thema. Der letzte Beitrag () ist von r0tzi.

    Dann mach das.

    VB.NET-Quellcode

    1. Public Function StringToByteArray(str As String) As Byte()
    2. Dim enc As System.Text.Encoding = System.Text.Encoding.Default
    3. Return enc.GetBytes(str)
    4. End Function
    5. Public Function ByteArrayToString(byteArray() As Byte) As String
    6. Dim enc As System.Text.Encoding = System.Text.Encoding.Default
    7. Return enc.GetString(byteArray)
    8. End Function


    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    r0tzi schrieb:

    oder flowdocument


    GetText und SetText verwendet doch FlowDocument

    Du nimmst das was dort rauskommt und machst ein ByteArray daraus.

    StringToByteArray(GetText(myrtb.Document)) oder verstehe ich dich jetzt völlig falsch ?(
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Quellcode

    1. StringToByteArray(GetText(myrtb.Document))
    geht nicht, da sagt er mir das GetText nicht declared ist. Ich weiss nicht ob du mich falsch verstehst :D ich habe eine RTB mit Bilder und Links etc... diese soll in Bytes gemacht werden damit sich sie insSQL hochladen kann. Vielleicht hab ich auch einen anderen Fehler. ich habe deine Function reinopiert und bei dem SQL parameter

    Quellcode

    1. Command.Parameters.AddWithValue("@RTB", StringToByteArray(GetText(myrtb.Document))
    wobei er mir sagt gettext not declared
    du benötigst alle 4 Funktionen in deiner Klasse die @Nofear23m gepostet hat.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Function StringToByteArray(str As String) As Byte()
    2. Dim enc As System.Text.Encoding = System.Text.Encoding.Default
    3. Return enc.GetBytes(str)
    4. End Function
    5. Public Function ByteArrayToString(byteArray() As Byte) As String
    6. Dim enc As System.Text.Encoding = System.Text.Encoding.Default
    7. Return enc.GetString(byteArray)
    8. End Function
    9. Public Sub SetText(ByVal document As System.Windows.Documents.FlowDocument, ByVal text As String)
    10. If String.IsNullOrEmpty(text) Then
    11. document.Blocks.Clear()
    12. Else
    13. Dim tr As TextRange = New TextRange(document.ContentStart, document.ContentEnd)
    14. Dim ms As MemoryStream = New MemoryStream(Encoding.ASCII.GetBytes(text))
    15. tr.Load(ms, DataFormats.Xaml)
    16. End If
    17. End Sub
    18. Public Function GetText(ByVal document As System.Windows.Documents.FlowDocument) As String
    19. Dim tr As TextRange = New TextRange(document.ContentStart, document.ContentEnd)
    20. Dim ms As MemoryStream = New MemoryStream
    21. tr.Save(ms, DataFormats.Xaml)
    22. Return ASCIIEncoding.Default.GetString(ms.ToArray)
    23. End Function


    dann müsste deine Zeile hinhauen
    If Energy = Low Then
    Drink(aHugeCoffee)
    Else
    Drink(aHugeCoffeeToo)
    End If

    r0tzi schrieb:

    die convertierung zu byte()
    habe ich Dir bereits in Post #14 gepostet. X(
    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!
    ich versteh die anneren Lösungen nicht.
    In der DB wird doch varBinary(max) abgespeichert, also braucht man Byte()
    String braucht man überhaupt nicht, weil ein TextRange kann mit String nix anfangen, sondern lädt aus einem MemoryStream.
    Aber der Thread ist als erledigt markiert, dann wird wohl iwas von den Vorschlägen funktionieren (ich frag mich blos, was und wie)

    ErfinderDesRades schrieb:

    String braucht man überhaupt nicht, weil ein TextRange kann mit String nix anfangen

    Mit diesem String schon. Das ist der einzig mit bekannte (sinnvolle) Weg ein "Document" in einen String zu wandeln welchen man später wieder zurückwandelt kann.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    das ist die Lösung:

    VB.NET-Quellcode

    1. Public Function StringToByteArray(str As String) As Byte()
    2. Dim enc As System.Text.Encoding = System.Text.Encoding.Default
    3. Return enc.GetBytes(str)
    4. End Function
    5. Public Function ByteArrayToString(byteArray() As Byte) As String
    6. Dim enc As System.Text.Encoding = System.Text.Encoding.Default
    7. Return enc.GetString(byteArray)
    8. End Function
    9. Public Sub SetText(ByVal document As System.Windows.Documents.FlowDocument, ByVal text As String)
    10. If String.IsNullOrEmpty(text) Then
    11. document.Blocks.Clear()
    12. Else
    13. Dim tr As TextRange = New TextRange(document.ContentStart, document.ContentEnd)
    14. Dim ms As MemoryStream = New MemoryStream(Encoding.ASCII.GetBytes(text))
    15. tr.Load(ms, DataFormats.Rtf)
    16. End If
    17. End Sub
    18. Public Function GetText(ByVal document As System.Windows.Documents.FlowDocument) As String
    19. Dim tr As TextRange = New TextRange(document.ContentStart, document.ContentEnd)
    20. Dim ms As MemoryStream = New MemoryStream
    21. tr.Save(ms, DataFormats.Rtf)
    22. Return ASCIIEncoding.Default.GetString(ms.ToArray)
    23. End Function


    aufzurufen über:

    Quellcode

    1. SetText(RTB.Document, ByteArrayToString(bytesLoad))


    Quellcode

    1. StringToByteArray(GetText(RTB.Document)

    Nofear23m schrieb:

    ErfinderDesRades schrieb:

    String braucht man überhaupt nicht, weil ein TextRange kann mit String nix anfangen

    Mit diesem String schon. Das ist der einzig mit bekannte (sinnvolle) Weg ein "Document" in einen String zu wandeln welchen man später wieder zurückwandelt kann.
    Ja, aber String ist doch garnet das Ziel der Aktion (wenn ich diesen Thread recht verstehe).
    Das "Document" Der TextRange soll doch in Byte() verwandelt werden, damit man es als varbinary(max) in die DB schubsen kann.

    Die jetzige Lösung ist also eiglich ein schrulliger Umweg:
    hin: TextRange->Stream->Byte()->String->Byte()->DB
    zurück: DB->Byte()->String->Byte()->Stream->TextRange

    Mein Ansatz wäre:
    hin: Document->Stream->Byte()->DB
    zurück: DB->Byte()->Stream->Document

    Warum mein Code net funzt, weiss ich nicht, ich hab grad kein Wpf-Projekt mit einer RTB zum Testen.

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

    Das ist richtig. Aber zuerst muss ein "Document" in einen String gewandelt werden welcher später auch wieder in eine RTB als Document umgewandelt werden kann.

    Ich habe gerade ein wenig Text mit einem Bild in eine RTB eingefügt und folgender String kommt da raus:

    Spoiler anzeigen

    Quellcode

    1. {\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Segoe UI;}{\f3\fcharset0 Calibri;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\fs18\f2\cf0 \cf0\ql{\fs24\f3 {\lang1031\ltrch Da die beiden Methoden noch nicht existieren werden diese vom Compiler angemeckert. Siehe Screenshot:}\li0\ri0\sa200\sb0\fi0\ql\par}
    2. {\fs24\f3 {\ltrch {\*\shppict{\pict\picwgoal8597\pichgoal2223\pngblip
    3. 89504e470d0a1a0a0000000d49484452000002f2000000c30806000000e022f56d000000017352474200aece1ce90000000467414d410000b18f0bfc6105000000097048597300000ec300000ec301c76fa8640000305e49444154785eeddd0d705ce57deff19f4db9b1445a83ac9500bde15491f5e262129c8c15656decb906a593dbc0d6d41942cd4c4c9069c9cb4c7addc928d7f5f58deedc78cacc4d4a8bd598cec50ddc38184373d354c0d42f2c8edc869798b12d59b870654960a11720b7b6c80b70cff39c67b56757bbabd5cbca5afbfb618ed9739e3d6fbb678ffee7bffff3ec82cacaca0f0400000020af2c74ff07000000904708e4010000803cb4b021d2aad696352a7113e24ab4a6a5456b820d256bd492f2b9b3a94191d688f72f0000008074162e1b794ec36e24d19beaea966aebe2617b495dadd4dde5b5e4d209ed6fdbeffd0b000000209dcb5eff0f2bb6afacf3e2f3177a75ce4d8c3937f661ad0c87d467db4ab4b2b94ec3d16735b6b2455fbbb359ab57afd6ead0a8a25d437eb6fe961b55158928e24d1badbb47e18551992693f58f949cd20bbdde1a1a226aa91fb18f4bd6a4588ecdc887b530daa521fbf81e454cfbea7a2d3cf582cc22000000804b5de61af9370febb9a15ad9a47c499d6ad5ad2eadd16d4b9e535b5b9b1d9ed4a7e3e537de05c129337dff099d38d5a5ba65a640a641cb42c326b56f4b721a9685d4ddf5a60dfcd32e27a6619942cf7dcf3da75d8773fb550000000090372604f2b666bed50c7e9dfa895343b6bc66bcac26b444c575b7bae7b4ead6ba622d09f9f36a784426a76e9d38a5aeba656a2829f6e67bc25d1098a0debb18300179a6e5c49cd8af27749bff9c0855f300000040cc82ca957ffc41cb6dd213ed87d3d4be3728d2b2ccfb7f48234fb4eb7028a2d665a76cd63d8129ad495a4e43a445664e9d6ad77e45d4f2692f52f782fa76935a6f48b31c5b4eb34ca792eae44d19ce6d5e586fe7050000002e7197edfc8b3fdd5e5858a91bd3d6a00f69615544e12b5ed453cff6eadc5097ad7fbf2762ead603b5ebba4ec9b5f6430bab14099fd791c7bb34b4a0442bc3c5ea7eea597f1de99673ae4475ab8b3512edd282400dfd8d95bd7afaef9f8f67fc010000804b18bfec0a000000e4217e100a000000c84304f2000000401e229007000000f210813c0000009087b8d91573ee2f5a6e768fe2fe6bfbd3ee11000000b2318d8cfc7a556fdbae223796ac684387566df387eae56e6250e9ddba3e5ddb2c9b745b2e518bb77e57373ce60f556bdcc4396602f7d800000080a95b180b74672bd81dddd7aca33bee53df1c76f81e0cd8576d7b4865a5fef40bb12da92cfa42eb78e01c1c967da1cc3d63baca54fa9df4c1783060bfe1b156952ef5a7bfb3f32bfaf9eddfd61baffbe3000000c83f0b7b769860d71bdaf7a930120f82736670b75ef6d677fab81b9f916a95dddba11addefef831d366b60d035cf13ef3ed2e605ce2678dea3b7744cafd9c75fd1a94706dc33669b1fe02fd51eb75e33b469f035d70c000080bcb7e086caca0f46ed4313143fa082a809b24df94c9346776c976d33e5302de5eab7e3ae6dbf54135965e73c1fbd4f2f1f3c6d1ffb82cb72933c26735e53ef3f1ede3f31980fb64b47d5135b7f3a09db95cee4db62246c8f5dee0615bad184fdcbd436a995aa7a6c85debefd21bde3a6584b3fab653b6f56811b7deb81afa8f7b01b496a1b7bf2dbf602c064f96b6f4dbeea1ad41b5bbd805d669e529d4d5e4f0213ecffb916ed0faccb63b2f84b3fe1463cd96c8b95a92d0935f200000033170fe4976fd7aa4885fada4d467bb240feeb2a3e79bf8eee7bc6b5356ac4ce679e6ca40e9e7d19026b935937cbcc52c1da87b4a2b653c71edcad31376da24cdbe2245d10986d29ea4efdfc4c6d934b15c8274f33e3b7e85d1390bfe607d657fe4b62b01d973a18b741fe278fa9fbab3fd6bb6eda44a9e74d6083f3f80541a66dc9bc9da999809e001e0000607a16d6c46acbc78378d792d151f5c402eec1431a192a5341c81f9d9ef52aaa1f505f34fb207ec6cc854b6cdf031976636c6440c5116ffa86f56e4a5ca6b669597ab5166985968ed7b26fd255aec9f8a5f7865c759f377deb4a3725c7d66c8ed7d50732ec46a66d99e9769aa03e360000006072f11af979585b3e99b1a13e29549e106c6667bdaaed858bdbf7f67d3aef5a8cb1839bfde9dd4d7ea01f08da33b54d4b65a90a5e7f5adde3b5ec89f5ece3f5f5ffb2c20faeb30894dfed3f2b5d5baa0fb9f1ecad54d57d57eb8dad6e3bb63e9df04d47a66d99ce761ac1e09dec3c000040f632743f59a1025b825dadb24862c63ac1f23b55113aaad169959ac4bce605e565aa084f31283efe7df50dad52cd5483e9d2aa84fd290aa7d9bfe3dbfd20bfbe6962779b99daa6e2f031bd75edcd2a9dac1bc8c30ff981f5275668b19b240de8dd0169517952ef37873bf4c6eb2bb474aad971fbed40dce2db1333f2e3526e8b93a92d8560179464e3010000b217b8d93591ad3f0ffb01e2f9a817b086cb5dcdbcab91b72dc640a024c7af47af482ab3f16f24cdd4661e25b76771b3ab956e7b32af2f78b36be2fe4d9c2ffd3626dd243ba9ec6e7695c9d0dbfa76bf8efd9a6bdd744fc2cda746c2bcee66579bcd37eb0a96e9c4da262ed3882d3778b3ebd8934febdd5b4bddf666da962cb6330513b89385070000981e7ed915174c30900f66e309ee01000026378d5f7605668f09e063413c013c000040f6c8c8635e20230f0000303504f2000000401ea2b406000000c84304f2000000401eb281fc1ffee11fda1100000000f9818c3c000000908708e4010000803c44af35000000401e22230f000000e4210279000000200fd16b0d0000009087c8c8030000007988401e000000c843f45a03000000e42132f2000000401e229007000000f210bdd60000000079888c3c000000908708e4010000803c44af35000000401e22230f000000e4a1390de44bd6b4a8b5b5d51f220d6eaa51a2352d2d5a53e2468d92356a6959e3b5e4528322ad11ef5f00000020bfcc5daf350d117da9b65bdf6b6b535bdbf7f45ce856c563f937d5d52dd5d6c5c3f692ba5aa9bbcb6bc9a513dadfb6dffb17000000c82f972d5ebc787b7d7dbdbababadca4dc28a95fadc2eec7f5fc90193ba7b10fd7ebc6c23ebdd07bceb69f1bfbb0568643ea7ba1d76b2dd1cae63a0d479fd5d8ca167dedce66ad5ebd5aab43a38a76790b30d9fa5b6e545524a288376db4ee1e851746659a1a22ad8a949cf297eb5d3cb4d48fd8c7e6db8009cbb119f9b01646bb34641fdfa388695f5daf85a75e905944eaf9000000800b6bce4a6b424b8add23df9bc34901f19b87f5dc50ad6c52bea44eb5ea5697d6e8b625cfa9cd66f1dbf4a43e1d2fbfa9934e99e9fb4fe8c4a92ed52d33e9fd062d0b0d9bd4be2dc96958165277d79b36f04fbb9c9886650a3df73df79c761d365f0564331f0000007001d840fef1c71fb723b93434e205d80125c521f728eec4a9215b5e335e56135aa2e2ba5bc7ebea6fad2bd692d86cc3231abf1438714a5d75cbd450e25d2c743fe12e084c50ef5d0c98803cd372624eecd713ba2db17e3f9bf9000000800bc096d6b8c73975eec3558a7cba44a7c64b67c2faa0bbc396c38c1b5aa8aae68fabb2f80af5459f55ef15755afdc111b5fdede38a46a376b0cfbfe23aadacf36276bb2c3ba31686566b59a517c8f73dab6747aad47c4b9daee88eea595b1f936639de76d4ad2ed6882dadf1b6b1f705db76aa24a23bafebd30be72bd3cc070000005c587316c86ba84ba35577ea0b1153837ea30a5ffc9ebeff333f0c8ff302f2aa88c257bca8a79ef58274334fdd3dbac7ce13a85d5772206fae01bc0b85f0791d79dc0bca1778170ae162753fe55d0c9827a45bceb97820bf20500b7f6365af9efefbe73594763e7f9d000000c085627f10caf45a3317e5350000000066073f0805000000e4210279000000200fd9d21af718000000409ec879207fcbf9f3fa9d0f12573174d9653ab468911b030000003055390fe46f3f774e8f5d71851b433e5b77c30dfae5af7fedc6127de8f2cb75e0e73f7763000000c8355b236f7aad99bfd6ab7adb7615b9b164451b3ab46a9b3f542f7713834aefd6f5e9dae64ce67db8909adb0ea8add98d18352ddab3a745356e34c804f1474e9c4839bced5db001000060eecce866d72baf08295cfb9ff4f94f7dcdfedf8ca76782d978d09d36f09ea2d17dcd3abae33ef5cdd50f35b90b83f1fdd8b0de35e4c0f2ed761dd7afad7613aa5576efec5d94d4b4ecd156ed546b879b60f4b4ebd1be8dda9510dd03000060be9956201f0be03f765d58af0d9dd40f7efa3fd573f6e7fabd8a559304f447d5b3c304deded0be4f8591875456ea9a726570b75ef6d677fab81b9f0913c4b7346aa4dded8319f63de31a73646840aabd49056e74d6d4b4e89b1bfbb433218af775b4ee5467e31d6a49959637ae58ae3ffddce7f4556fd85c73999b08000080b96403f9a9fe1854f38a2fe8e4c0cf74f0c47ef58ffc9b9d36f8769fa2ddff4727faffd5b64f6af0904686ca546063fea4d2139bf54e2a4571d9e9c40c75669395dd04db57cdb8f42537fb2075aabfbb516519ca8662cbf4f7314dd6deacfbdebbc72f089aefda28ed7d5813c378a3430fef9536de95262b3ff66f7afcd967f5c3677b54146ed2356e32000000e6ceb44b6b3ef9bbffd166e47fa7e02a3bfedb8baed4c7af5ba370ed67edf8a496dfa98ad080c6b22a8959a59ada23e3997c85bf9155263f53d98d09e26b747f3cb3be63bb465d5b5a83bbf54a54aa68f102e740509c9de9ed833176b25385b5c9253cde85434bb9fac7b7ff7ec97ec371dabea6852173a110bfb82808554843bd1ab3f3362bdcd8af23077bec582a3d078fa8bf31ec3d3385f7c7f496bde7f503fde63d7a2f050000b810a61dc83ffdf20ff4ced8a83e55f3fbb6467e4dfdadfaf75ffd42fff8d21ef78c54bc603696418e54a8af7db306065d534647d5132b6149c8e44fd77a15d50fa82f3af5b298b1839b6de07cacbb512bcc7e641dd0cf601fbc0b887e7d3e31f02fad5261f0f5dcf67515bba6b19101ffc1f226150e55a8c865e7cf8fbce63fb0fad49b3e8ef722f95eef1915aa4a535e53f17babf547ab97e9bddeb75470b99b08000080396303f9e9f45af3defbbfd1ab8327d471ec113bfee317ff977a5e7f49bf792f75f784be408dfc8e6c83f8f9c90fe8efd7706843eab2975936daed85d5e19bdc982754ee05e9fb746cfcf58cbfa663437d2a5cb2d45e288c44fd6c7ec192329d1f3aed669eb9d39dffa0effcc33feaf875617dbcd04d040000c09c9976467ef655a8c0669cab5516d9a0b4b1a12dc939aad119ddbcfa9a17ec967981f10c7b9cb159f16079500ef7e1f8f7d5176ad41237aae347d25f440cf5eb7ca849654bfabd751cd2889a5434a18c297db6ddaaa9f29e913a6b7fd947fe400f7cf9cb7af0cbf7ea33affe50fff4ff5c03000000e6ccb403f9b50d11952ff95d37e62bbdb2c2f65a3375cf6820567bbeed012de9dea761d7e24b2ec989d5b3fb37769a792a425271c47f4ef0a6cfd46da735f0e07d5e60fc757f9976c8e266d7c0cdaa7668d9a0f3fb63df2c4c771fb2e56d73b44f85e3e538cfe8b4edf9c72dd30cb1329fc15e2f905fa5c291431af3e61b1da95071a84f63e3df807428da59aea6b5e923f99ab54d2aef8ca6bc19f6bd577fa4fbfeeaaf74af37fce7c3233af7be6b000000c09c99d62fbb96fc4eb9aaaffe3d9515fdaec67ef5effaf0a22bf5f6b921fd4ee1129d7dbb57a7cfbeacd7dff2ebb1f965d779cafcf0d3ae4a3dbaae3545b0deacb60377e8cc964d6a0f64e49b1a1aec8f3fa5f2f18f7e542fbef28a1b03000040ae4d2b908ff9d0e5055a1aaa5345718dde78ebffead5374fe8fc2f13eb2c08e4e72ff38350bb2a1fd5baa4bee4cdafbd9a1f8a4a9ebeee861bd2fe82eb6f1714e8f0cb2fbb31000000e4da8c02f96c10c8cf6f26680f47d7c57fddb5b94d07c2d109413c000000e6171bc89b5e6ba6faa350d922900700000066df3ceab50600000040b608e4010000803c6403f95c95d5a4339d1fa002000000104746fe5267baa13cd0a666377a49b0fb7c406df369a7a7f03e981b940f78db6f86b9d887c55bbfab1b1ef387aa356ee2a568e967b5ecb1cd5aec4683cc7b32adf7a2f46e5d9fee372c32b5cd0bb1dfeaf087ebd756bbe9b868707c62be317f2bf7b428d3ef595e6a2eda40de74ad180b7682c39e9699befd356ad993fe8f7630c83a70608f66bcba7ce77e442b7e12f54faefe0f73cdb634ef8de98927571f7cb3ece0fb3c0717091dadebb46edd16eded7713b2b252552e18f78756952e754d937867e757f4f3dbbfad375e77136649f002612adb33df98738de9ae7542474f138efd3c6303b5782034e1336b7ea15afb746c47b38e7ac3cb074fbb86d42ed439399dc473b5192e6442637afb30231c9f09e6dbf169cc763c71511cf33ded7ab46fa376cde987657eb381fc5c97bacc45294f4ffb262fd83101cf4e757affedb48fd76953f0178e66957f50dafed7ddbad6ad4bfc41a54bd6d080547b93ffabb339d5a38347fad5184efc8037871bd57fe4a0d7ea7827824ddefb331b3d6cd65455a8df0ba863bf925bb3b6527d9dfdaaa89ae9c93f1706f5c65613947f45dd4f4ad77cedb35ae45ae656994abff35d2dd51ebb2dfed0a641ff37e4f28b77e1f6cd8d7dda99e2602aaaad50dffe7d7374eccfb6f5aab6bf5ced074147edaf483fa4b252d7ec290855789fed5e8db9f1c9ccfd3979729d3b63e76a33a4fa71bc8b17c767a2f9757ce62e9eb8188ef98e56ef3d6abc8344a973e996d6b8cc69ecca34e1e22ea92d7645ee5fb1efd2c672a9716bacdd5d25d7ac5553b9f7e14f171da6599f59e69e9616b599e97b5ad4e2ae984d7ba63623f9ea3abe0fe69759dbd412c83024641582dbb26ba3bcddc9b14ef57737aa2c55163e6556254dd6de6490eebd3be31f9d9e8347d4df180e64199a156eecd79183fe1930f89a25bce746caf7284dd6c065f93f621e1f7954472ad77acfacd15a45f5f019fb0c5fb6c759f2fb9069be59f0ee4f8f69ecda527dc88dfb6523f10c79b625348959f5f87c8bbed0aa1bbe13bc50f083f7655f28f3d6f5315d79ed31bdb6f379d79624cdb698652efbc267fd6f16bc6597ba759bf64c6d46baedf4bfa9d8ac52b3bdaecd6e634c705b76de3ce1d86bbe6ba3b4f7e1147f0cd7ab28d4a9d1e38734a2461505028c8463de0b460add642b435bd106ef33b136f87909943564ca4e26b5256460d3b415acfdbc8a4fdeafd3c7eda8770db85bfd27cbb4a4beda6b7bc83e7745d87b9deabfeee69d85128b6c3f2bde90d53979baecb76cc1f59bf369e01c3ac96733f1bc1ccb78fae7e4f1a7da65f8e393ee434ece051c9f533697c7e724f1c4b4fff6a79377c77c871ede2b6dbc6b42c325e9120de4bd036c57a51e1dbf2add296d8d1f44e68f735fe0aa357645ee5fb1fb250df1ab5aff2ab9666d93cafbcfe855fbcc24e6a0dcd5a4235bdc3c5bf6aa22b0bef28d958a9a2c40f946359dd9a22dde0a6219dd4c6d7e89457099810f8d7772de687eb5d5b4edecf49673976b33fb1ed83f6fbeac2a34ca3fa76d7ff337fa9ba4e19e4fbaf6498c9dec5461ed7a371663b22ae5ea775f7d1edd71bf64b32aa73536241586cc49db7b8e3b09679561e939a823fd8d1a4fca3787d5d87f442e8ecf509692ee98e8516f9fdc6b1e3f31994cbcfa7aedfbddd7dba183672ab5b6e52e557a8fc7657cdf33bd0f998fcfd9b0f8762f28fdd931bd63c7bc607667a9ce8e67c7f748f7b56655eae297ddb861ebd35a749f5f43feee234fe9ad6b5768716c192e783ffbc880167d6a850a5e1fd42f5d53021338ef5ca1b7dd3707fe32e3db52706ba9def6b6efad6b6fd69503df56f793835a54ee07de99dad26da76f85ae297bca6f7be098b79c66d7665e979bf5ee03f1f9128fbdc48bc404cb9b54d87dc87bfe698d76cb0618be8999c4f3ae25739bafb8567ac57d5e7a4eae52910d88d27d8eec2c2a0a0796e90dc11283746d054bca747e24f12b92b19101152e59aab1839bed738f4507242f98f2e7ddae51f7bce9c97ccc4fe79c9c8d7810e10db1f2bb8e567bce6c74e7d3e6b6adaad8bbc5ad7392edf4029ac42ceae419cfccfb90a37301c7e714cdedf199319ef04cef6fbfef6239e62726ed2e5d3690bfe47aada9a9528577b06f8d1dcc07b67a6371af9ee9f70ff6899781d3623f949d8fc63fbca6c6abb35c95369debe98cba033f455090a9cd5d45db6142663d7035ffea9978906803dbbd7a78b24f5ab2fe7fd08e3ff913fd49d2f0b7ffeada27633226fa7cc2579f2aad52a156a9663ce3f27515bb267352b6cc1f9ca10af70741134ede132596d74c28ab4927c331618e07cb7bed2afa2bc62f12facfbcaa8f54faaf7acfc1336ada284503af6bc6f73dd3fb30c9f1397da5ba66a79f5d5e5af6b4ba6319f1a5576b9117cc2e8d659e1fdba4abfc96c9add9ece649ce583fafb77f56aa2b3fe507d22678d7931deec2213d1be4ffeca97899cd6b3fd6596f398b2addf8f8c5c7a0defea93b466232b5a5dd4e23f0edc099c178b0be6685ae7afd690d1e76e329f5a977c2c155adb2f02a9d1ff2830e73113b5ebee01dcfc543fb3410cb2406656a7386a3bbc7b76f745fb39f91ccf03932cc67a938e24ddf907c219db96d4ecdf13939261e4478c3a6f6f879c20b6cb6ecadb0db638294586096793bfd0bbbbd533eb96690937301c7e7945da0e333ade9fced772e9a63bea7d73bfb56685e56b1ceb14b3323ff914aef6a77afb6c40e663bc4af92fdab456f5a34ec1f48597c387b4cdab6bcd22fb59813de55ebd60aed0d647b933fb0b36a86197963b4dbfbd8856f72639e50b917a4c76f46f287cd1a18f44ee0437d36bb52109246a27e36df6661dc1f9f4ce257ea1932a6c9321c13e6bd2df7a26feffca2238f1ef1f6a1d906f07dc108ced6ddfb9988d8f3a76d92e373fa5c8dbcc92c5f7bb3aa62252495a52af002d6ee58c6da0ed9d4acaf54d57d578fd7dd2767acdf79ec69e9931ff32e1256aaf4d6b3361b6fbcdb7f560a96f5e45ce6ed9c75a537698977dcda00c4042ea604219454be309b327c8e8c5886f2687793bf3d81a0285d9b09a0cce72f28551674d6e4e09c3c1bfacd0d304139fb6ca6918bf5717c4edd1c1f9f99e389dcfeedbf288ff98bdca519c877446da9caa4e555e6eb26f32149f8fa26586a11d0f1b0f6f67b5791293ec07e6019b831a3a645777801e69974df9b65c35eb5c699aff612afcad33057e8e54df2efcdac51cb37b39c6fa61979e3f8f7d5e7fdc158e24675fc8886431b52d7ce0ff5eb7ca849654bfa5d1d67938a4203b6e46652b1f29ab6c4b29a8c321d13e635ab08ebaeca333ad8e12d5b61852b267fff32beef99de876c8fcf743e794fe68bacd77eacde2707e32524878fd97294d2f1baf12cd94c7e9c2dd7718f2d934d1f58a1c55f58a1abc6b3e59ec31d7ae3f5155aba75a59b10676bf73f714bbcac67e96775f52706f56ef0be83a99a6c3bd331d9f9f1f2a032957e2dd57c13334205f58d2a1cff4adf1f8e455df9823dae634153b5ca22813ae34c6d9964fa1c051ddfee9743d47b9f2537695c529bc9d29eaf0f7c83567ab7caeb07347272f20be969c9c53979269adbb4abe988beb5e95bda5bb1355e2b9c713b5fd599fef20c75bbb16325d57937dddf952c5e9709f5cd99717c4ec35c1f9f19e28969ffed9f4c3e1df3867d1d527d237ae9b181fcc5d86b4d661d6af53e6c15a96ac5cc01b72730ddd63127d67c75d8bb2c76b9e7c46ab77ad4bec9dc49bd353e6faccd646b77f679b3c49669eaa6677885e9ca3462cbbce3cc5e75baa68cbcf9be6537dfccb74b958f9a3bf4e7ca690d44fb541872a37a46a7bd9373612c336486d8cdac83bdde1f8d552a1c71759c23152a0ef569cc65713273e5358d8dea7c34f0d5e1f87b9b78938d7faecc704c98aff0ca1b5571c694e878cb3e53a1c6727302a99129954f2bd3fb9ef17dc8e6f84cb50fbef26bae768fd2b335ec5aa1ab6d56fe79f5daba71577a6286f11b55fd9b546f78eccf75cdb5d255ee39f6665157f6122bd7b97ae0696f9989def997b3bae6d6157aeb5f8237b60e68f0ab7bf4d62736c5d717eb7ed25be6a907bc79dc326fb0f5f233ecd1268bed4cc95ef0c8cdf7e75ab4dfdb66d7e4eb50d4fb0cc67a2cf255aba8b64cc3ddcfb8719ffd86297ca78a0677eb152f68aa6831c7fb032a88deaf61f71c537e96b62da30c9f23137005fad236d9d7f3fb63f5c219dabc6d79797f9fdb16d3d6a891f6781675f6e5e29c3cb9d8e7c71f5c9db1098c4dc6f35be6dce19dd7fd0faa0b6c326da7f91bb0c506411396e9cde76fa299b64b4d47269eaf53ef43a6f539ae7c22b9b7aed4383ea767ae8fcfccf1c4b4fef63b17c531eff14b5763a5c797b6059595951f98403e57c1f5ede7cee9b12bae7063002e29a6363d32a8eeaffe58efba4917157b43b3b9316bf21bbc80dc6856db81add2ced9e9521798ffcc317f87cecc34217a912090079023a66bc74dd2035f516fc61b46f39be94a6d97e92582286a52ffa378b1aa2eff2dbdfbfefbfad29b6feb371f7cc0f4194cb7c7dec672f58ff7308299b850ef23d3279ffee03be7d4fbebdfd8f1f19e7238e75a9766af350072caefb77d93163df9ed8b3a8837cc8d6e3bbd3f2bd9d6285faa962c5ca82b172ed01f9f1dd599dfbca7ed45bf6da76f597c450ea6afd10ffef99fc7bf9affe40f9f50e9238fa9ea7f3faea7fff9efed57f8b959efdc4d3762375912c4cf1cc7e7fc9e7ec605f1a60c88203e91cdc8bbc739912a239fcb6f000000f3cf472eff2d0dbef7becebdffbe7e6bc102ed2ab952bf78ff03fdee6f5da63b06df62fa14a66f1bfe855e7fef3df7ca6236707cceffe948ed8204f20000000066e682f45a0300000060662ecd7ee4010000803c977f817ce9ddba7edbf6893f18316bd6ab3aa7cb07000000666e4e7bad29da10f871073be43860b6417f607d819f7e06000000f2d99c67e487f7c77f16fae88ed82fb8e58009e2edafbd05d6b72ff1d7ec000000807c354f4a6bfc7296b2b50f8d67cfaf5f5bedda3cc1cc7acb0615bac9d397543e93aa5c67f9f6d4db02000000cc0336909fcb5e6b8a232e2037c3bd77abc04d9756a962c90ffcccf9fea32a0cdfe9026b2fe8f682f7f3b14c7efb3e9db7d32731b85baf44a58a96e4f56463956a6a8f8caf4fe16fa8acd43501000000f3c0852dad7970b7c6dc74e9a87a62a52f43fdf1607d79938a87f669e0b81b9f82b1839bed7a8e75376ac5840b874c02db3278482343652a08f9a3000000c07c304f4a6b72cb0fe8efd7706883ca96bb89000000401eb381fc5cf55a332d263b1f6a54912d6da95659649a35f2a555de7c031a1b72e3aa504136cb5c7ea72a4247353a8d6f04000000805c99f38c7c428d7c36dd4f066bddb73da082e8fd1a764d19056e56b583adb3dfac8141d3f88c0602cb5cd2bd2f6999ab54139b2f52a1bef61cf6ae030000004cc382cacaca0fdce39cb8fddc393d76c5156e0c000000c06c98f35e6b00000000cc5cce4b6bde5db0c066e583c34defbeeb5a010000004cc782471e79e483e79f7f5e2b57ae749300000000cc7739af910700000030fb2e897ee4010000808b0d813c0000009087e8b506000000c84364e4010000803c44200f000000e4217aad01000000f2101979000000200f11c80300000079885e6b000000803c44461e000000c84304f2000000401ea2d71a000000200f919107000000f210813c0000009087e8b506000000c84364e4010000803c44200f000000e4217aad01000000f2d09c67e41b22ad6a6d59a312371e57a2352d2d5a136c2859a39694cf9d4d0d8ab446bc7f01000080fc318781bc09d45bb56ce4390dbb2989de5457b7545b170fdb4bea6aa5ee2eaf25974e687fdb7eef5f000000207f5cb678f1e2eda6d79aaeae2e372957cea9f785a8bac6aed3ca3a2f3e7fa1d79b92e8dcd887b5321c529f6d2bd1cae63a0d479fd5d8ca167dedce66ad5ebd5aab43a38a760df9d9fa5b6e545524a288376db4ee1e85177acbf79a4cd63f52724a2ff47a6b6888a8a57ec43e2e5993623936231fd6c2689786ece37b1431edabebb5f0d40b328b00000000e69bf975b3eb9b87f5dc50ad6c52bea44eb5ea5697d6e8b625cfa9adadcd0e4fead3f1f21bef82e09499beff844e9cea52dd325320d3a065a16193dab725390dcb42eaee7ad306fe699713d3b04ca1e7bee79ed3aec3b9fd2a0000000098b60b1ec8db9af95633f875ea274e0dd9f29af1b29ad01215d7ddea9ed3aa5beb8ab524e4cfabe111999cba75e294baea96a9a1a4d89bef09774160827aef62c004e49996137362bf9ed06dfe732254cd03000060fe9afb5e6b4c49cc6dd213ed87d3d4be3728d2b2ccfb7f48234fb4eb7028a2d665a76cd63d418ae534445a64e6d4a976ed57442d9ff622752fa86f37a9f58634cbb1e534cb742aa94ede94e1dce685f5765e000000609eb135f2ee718e999b5dbfa63bc3952a2cacd48d696bd087b4b02aa2f0152feaa9677b756ea8cbd6bfdf133175eb81da754dacb51f5a58a548f8bc8e3cdea5a105255a192e56f753cffaeb48b79c7325aa5b5dac91689716046ae86facecd5d37fff7c3ce30f000000cc23f4230f000000e4215b236f7aad01000000903fe657af3500000000b242200f000000e4216ae4010000803c34e340fef2cb2fd7273ef1095d73cd3576fca73ffda9de78e30dfb180066d3ba1b6ed02f7ffd6b3796e843deb9e8c0cf7feec60000b8f8cda8b4c604f1b7de7aabeaebeb75d55557696060200741fc7a556fdbae223796ac684387566df387eae56e6250e9ddba3e5d1b30db6a5ab4e7409b9add2866a87abd763c758756b95113c41f397122e5f0f6b9097dd9020070519b51af352613bf78f162fbf8f8f1e33a7af4a87d6c949494b8473126208f07dd6903ef291addd7aca33bee53df9c74f89e9b7dc88d6a95dd3b7bdb57d3b247070e1c9830ec69a971cf98ae1ab5ec39a0b634916f735b707d7b34e3d5cd37cbb7dbe3e8fab5d56ec24cacd0bd4fb5e96f138678106cacda1e6cfbaa6e9b8dd50200800b624619f958398d110ce2972f5faee6e65491d951f5ec3081b737b4ef5361e4219595baa65c19dcad97bdf59d3eeec667ec02ecc33cd0d3be49ebd6adf3869deaf4fedb691fafd3a6f61ef78cd9e607f85bb5d3add70c9b94b3d55d2045b515eadbbf4faabd49056edaf41dd383b7b4ea9e5b7ea89774427f671f3fea1db1c635baeda1367d513ff4a699e966f88e9e386d1bf352d1f25bf4d5cfdda4eb2f77130000b8c4d81a7993917ffcf1c7dda4ec4522111515f9452fbb77efb6fffff8c73f6e87b7de7a2b6999269bdda4d11ddb356ac74dc6f80115444d909dd466ca615acad56fc75ddb7e2fb48bf8b9c5f3d1fbf4f2c16004125c969be431653735f5fee3e1fd1383f960bb1fa0c7b62d9d4cfbe02faf68c40beec31b5468db03cbb4fb149b1edc1e7f9963d10a5584cb6c5bc2fea59d2ffdfac6d63ea4156e597103ea6bdfacd17aafadb653c71edcad313bdddf8725ddc9af693acd6a3b1056745dab3adc14cb9494ecdaa87237dab9739d5a634f486aebdfbbc55e00982cffae8db1a931fddabbc50bd865e6a9d4a3c9eb8949b33eb3cc6fea88fa366e5463ff5eededdba88d8d7efbc355e9dbccbc26fbbfd51b8f89ef83bfcf67f65668a3dbded83e5849dbe2cde95de8a4d9ee04de7b7f6f95061e3ca4a27bbf21eddfac8141d794f4be4f3ce6333199f906bd341ec47b4c89ca5f87f493e0b420db7e93ae76a32ffd65ab1e7c46aab8fbabfa924eea8ddb6fd2c7fa0fe99ffa6ed267bcd7c8b4ffb82a7d9b99d764ffbf18783d63d363db77f6b1903e73bbffcdddd9c71ed0b6ddae2c2f695b642f4afced6e6a68b06534977de40fb4bdec159d6dfa945ef9ce437ada3b983ffed18feac5575ef1670100e0126033f2d309e28d5ffce217ee9174f7dd77dbc104f1c6d8981f26a6b5fc4e55840634965549cc2ad5d41e19cf822bfc8dacb2e099ca6e6c10affbfd65da61b2203e8514fb505c2bbde296d97372958a4c698b0dca1a35d2eed6352193bf4a154b7e30de16df3f2fd0b317346ebe1df77b574f89df00a45adfd8c1cddeb8bfdf26f0f7e7f583c4b1833fd070a85145b16594dea425a1a3eacf3a484cc50b746dd01dcb9cef94b6c6cb609aefdaa83e2f288e65d66301b09fe5dfa2bdfd7ed01cccbad7ac6d5279ff19bd6a9f99c406ce4d3ab2c5cdb365af2a02eb2bdf58e95d68ec5467f946359dd9a22dde0a2aaafcc64c6d1dadb16d882d3358ebdea88d958ffa6d3b3bbde5dce5daccbe07f6cf9bcfdb9dec2c6f5261f721ef82eab446bba525f5f13a9722efe2ecfcf87bd73c85203eb58a9bea7575ff90773997820d9cebf5d29fba4cfd9f1ed2357f162fbbb9faf6907751f043bd546e02f607f4df1e7b53d754f9dfc6656a3bba3d96f98f2d3358e6d3a0cf941ff2dbfef284b79cb5aecd0bf2bd20fe0d2fe88fcd77d64e4ff4deab3fd27f899e7517a300005c9aa65d5a63ca67aebbee3a3796e8d7bffeb53a3b3bdd58901790c7eacb231536433c9e81cce8a87af6d9549e3478482343652a08f9a3d3b35e45f503ea8bba654e49e67d188ec632ddfe8584c99e17d437aaf0e40fe2cf1bdcadfe93c17d48b37fa5552a0cae6fdbd755ec3f6b5caaf565f68c46bd75c78246b36d8a7e7fea1731413555aaf002ddade3b5ec5bbdb1b857cff4ab71ab373d5d21fc14d920bff3d178994d4fbb1eed2c57e547dc7867d465c3fb75e460522d4ea6b6e6b6783d7e4286dde8d4ced8570caf9e8907ebcd619bdd7f78f2f47b926a958557e9fc901fa08f9df43e2f81f29ab191011547bcf77cc37a3725776c90df79285e6673fa19fda4b344572f75e39d275c16ff4dbd7428e966f64c6debef88d7e32764d88d13fabbedc7fc87af0dc583f5f50d36bbffe3e97c340100b8c44c2b903741fcaa55f1dcdaf0f0b07ef5ab5fd900fef5d75fd78f7ef4235b5a339129fd48cc10e79f39dc8750b90a87f6e9d8f8fa66679da3d1584df67a2f98ec9b6136def3914a957bc1ec965836db0ef17af6f1fafa68d80f92b308e87b7afba4f24ac562f3dc6b56dbd60aed0d64f9b3ceac4f87fd26447eb06e2ed24c194de09b12ff5b15effdee6ef2db6718d0f7f50e79af6748c90557b9b342f7fe5948ff14c8f2a7caac030080e99b72af35a6742618c4bff8e28b7af2c927b567cf1e3dfcf0c3fac94f7e9226889f4c850a6c1053adb248bc3678025bce7254a393669e33794d634365aa08e73edb69986cebf9facfc74b624aef56797d9ab2a2e0fe1d3fa2e1d006954dabe799d376f985a114dd92986f0486bca0716d938a4f1e995936dee888da5295bb268bcf3b5afd00b9311c2859e99189d963e52de33a1ed6defe466d4d11f4f71c3ce22de38e780f36352dbaa3b15f6752d6e164c97eab1067ca8192abf75332d9f9f226adb5db52a3966f66379fff2d4db0b4ab59c7a289e535d6f1edb6dcea7c7d53da2e58b3f2cc41fd537f83beb87d859b10d777e8a4ce36de14efc1a67abd7ebff14d9d7dcd8d4f477589e2b7c24babee4ccec8a761b2f3e5f55a69b7e51addf68d34f32d0eeb3b5fdea49b2e2fd5e7bff4656d0eae0c00804bc49432f2b11b59634c106f86997b46035e1053d162b293e6c6cb7d1a762dbee47296e0cda6fe3c1581eca6dfe562a6b6d31a78f03ef585beee2fd30ee9fbaa9f31d373cefe3eb77fde60ebe58399f574fbf78c4edb7a7ad766867befceba77139b790f3fe0e64dacad1fedf6b627bc4ac3ddb351c3d0a1565b53eeca52ccb0a7c50b6b0dbff79960c94adfcec41b413b1ede2b6ddce59e13ab75ef51fba69dea6cdc1a9f37d6d6d3ae4d3bfbbc5962cb34f5f233ecd1c695e7c49679c799bd4a551c368137dfb7ece69bf976a9f251d3abcf64aa55545b36e1b51f1bea5361f84eef388c1dbb6e6831f5f2d9dcc311eb7ef28ff4317941bb7d1cab4b7f434f6cfea15e6afca378b94bacfbc9d3cf68db5f0ee9337feda6db7af919f668e3ca7362cbfcfdfe437ac93565e4cdf7bdc7e4e6bb4f57ffc0f4c093c23b517df5afbea34dffedbfeb8bdffd2b3dc46fd001002e4159f75a93bb20fe5297dc13ce1c31fd9787fb03bdd700f35facd79a54e8b5060070a9c9bad71a82f88b8977f110599570a32c900f3e74f9e536604f35fc76c1cc7be20700209fd88cbc7b9c91e95ad220889f6d739b918ff59d3fb57ec901000030df641dc803000000983fa6dc6b0d000000800b6f5afdc803000000b8b008e4010000803c448d3c0000009087c8c8030000007988401e000000c843f45a03000000e42132f2000000401e229007000000f210bdd60000000079888c3c000000908708e4010000803c44af35000000401e22230f000000e4210279000000200fd16b0d0000009087c8c8030000007988401e000000c84304f2000000401e9a798d7ce9ddbabea55cfd3bb66bd44d9a8ea20d1daaa9f71f0fef6fd6e9e3fe6300000000132df8a3dd270381fc51f54c35209f62201f0cd8a501f5b56fd6c0a01b55b5caee7d4005510279000000209305eb7ebff2831905cd5907f27e905e3174bf8eee7bc64d4b46200f00000064234d20bf5ed5db9a3416ad5045b8cc4e391fbd4f2f1f3c6d1ffbc1fb0615fa639e2c32f95905fca903f9c42c7e52e94dd2b664dace8436000000208f2596d60cedd3b107776bcc06f25f57f149973d5fbe5dab2272c1badfa658309d6546be60ed435a51dbe9969f4e1619f9a4f59920bfa83bf5f333b501000000f96ca1c96e1fdde1868420fba87a62253043fd3aef3ff282fa26157b01ffc05c06c7e642625b873f247c13208d8d0ca838e24ddfb0de4d89cbd406000000e4b339eb7e726ca84f0a95abc08d676fbdaa2315ea6b77171bedfbe217159eb1839bfde9dd4d7ea01f08da33b501000000f96cea81bcc9ce871a55546a46aa551649cc90a775fcfbea1b5aa59aa906d3a55509cb2f0aa759dff1ed7e905fdfa42237695ca636000000200fa5e97ed2bfd9753456f79e54976eebdddd4db0c3fbef972281e766e46aefdd58bcfb49d7a34dc84d766237b5066f763d1ff502f270b95bdfc4f9e237c2666a03000000f2dbcc7f100a000000c09c9bb31a7900000000b387401e000000c8430b1e79e4114a6b000000803cb3e0e69b6f269007000000f20ca535000000401ea2d71a000000200f919107000000f210813c000000908708e4010000803c44200f000000e4210279000000200f11c8030000007988401e000000c84304f2000000401e229007000000f28ef4ff01bb6a5bcc03dc9e420000000049454e44ae426082}}}\li0\ri0\sa200\sb0\fi0\ql\par}
    4. {\fs24\f3 {\lang1031\ltrch Wenn wir nun den Cursor in eine der beiden Methodennamen setzen und STRG + . dr\'fccken bekommen wir die richtigen Vorschl\'e4ge und uns die Methoden von VisualStudio erzeugen zu lassen.}\li0\ri0\sa200\sb0\fi0\ql\par}
    5. {\fs24\f3 {\lang1031\ltrch Anschlie\'dfend noch ein wenig einfachen Code in die Methoden und nun sieht unsere Klasse wir folgt aus:}\li0\ri0\sa200\sb0\fi0\ql\par}
    6. {\f2 {\ltrch }\li0\ri0\sa0\sb0\fi0\ql\par}
    7. }
    8. }


    Wenn du eine bessere Möglichkeit kennst die Funktioniert, mir ist bisher keine bekannt, aber es wäre schön wenn es eine gäbe ohne dem Umweg.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Nofear23m schrieb:

    Aber zuerst muss ein "Document" in einen String gewandelt werden welcher später auch wieder in eine RTB als Document umgewandelt werden kann.
    Verstehe ich nicht - warum?
    Wenn ich TextRange.Load(Stream, DataFormat) und TextRange.Save(Stream, DataFormat) angucke, steht da nix von String, sondern von Stream.

    Aber kannst du dein Projekt mal anhängen, mit der RTB mit Text und Bild drinne?
    Ich würd mir da voll ein abbrechen, wenn ich selbst jetzt eins aufsetzen müsste - Wpf-Documenthandling habich noch nie gemacht.
    Wie?
    Pack ne RTB auf ein Fenster und Kopiere aus z.b. Word was in die RTB. Vorzugsweise etwas wo ein Bild eingebettet ist. Ein Button mit Export und einer mit Import. Fertich

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Ok - also hier das CodeBehind:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Imports System.Windows.Documents
    3. Namespace View
    4. Class MainWindow
    5. Private Sub btSave_Click(sender As Object, e As RoutedEventArgs)
    6. Dim tr = New TextRange(FlowDoc1.ContentStart, FlowDoc1.ContentEnd)
    7. Database.SaveBytes(GetContentBytes(tr))
    8. End Sub
    9. Private Sub btLoad_Click(sender As Object, e As RoutedEventArgs)
    10. Dim tr = New TextRange(FlowDoc1.ContentStart, FlowDoc1.ContentEnd)
    11. SetContentBytes(tr, Database.LoadBytes)
    12. End Sub
    13. Public Shared Function GetContentBytes(tr As TextRange) As Byte()
    14. Using strm = New MemoryStream
    15. tr.Save(strm, DataFormats.Rtf)
    16. Return strm.ToArray
    17. End Using
    18. End Function
    19. Public Shared Sub SetContentBytes(tr As TextRange, content As Byte())
    20. Using strm = New MemoryStream(content)
    21. tr.Load(strm, DataFormats.Rtf)
    22. End Using
    23. End Sub
    24. End Class
    25. Public Class Database
    26. Private Shared _data As New FileInfo("..\..\Data.bin")
    27. Public Shared Sub SaveBytes(bytes As Byte())
    28. File.WriteAllBytes(_data.FullName, bytes)
    29. End Sub
    30. Public Shared Function LoadBytes() As Byte()
    31. Return File.ReadAllBytes(_data.FullName)
    32. End Function
    33. End Class
    34. End Namespace
    Funzt genau wie ich mir das gedacht habe: Mit Strings und Encodings habich nix zu schaffen.
    Meine "Datenbank" ist halt nur ein Mock, der die Bytes von Platte liest.
    Sieht gut aus. Wäre jetzt ne Rückmeldung von rotzi interessant.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##