Ik ben bezig met een programma dat tussentijds een form met oa een x-aantal Richedits moet opslaan. Ik heb gekozen om dit te doen met een INI-file omdat hier makkelijk mee te werken is.
Nu heb ik alleen het probleem dat je in principe alleen een string kunt opslaan in een INI-file en niet, zoals de tekst uit een Richedit is, een TStrings. Nu heb ik al de functie StringsToStr gevonden, maar het nadeel daarvan is dat deze extra "enters" toevoegd. Hij plakt namelijk de verschillende regels van de TStrings aan elkaar en plaats daar een delimiter tussen. Nu plaatst hij altijd een delimiter bij de volgende regel, dus ook als ik geen enter heb gebruikt, maar de regel past gewoon niet op 1 regel in de Richedit.
Met andere woorden: Stel er passen 10 tekens op een regel uit de richedit en ik typ 12 tekens (zonder dat ik op enter druk) dan zullen de laatste twee tekens op de tweede regel komen. De functie StringsToStr zal tussen de eerste 10 tekens en de laatste twee tekens een delimiter teken plaatsen, waardoor het lijkt alsof er een enter tussenstaat. Dat is dus niet de bedoeling, maar het is ook niet de bedoeling dat alle enters verloren gaan. Dus ik kan er ook niet voor kiezen om dan alle enters maar te laten vallen.
Nu zat ik te denken dat als je een TFilestream gebruikt, dat dan de tekst uit een RichEdit ook als 1 lange string wordt weergegeven, en eigenlijk zou ik dat willen opslaan, want dan zou ook de opmaak bewaard blijven (gebruik ik nog niet, maar is voor later wel makkelijk). Ik zat te denken dat ik dat mbv een TMemoryString zou kunnen doen, maar als ik de tekst daarin inlees en vervolgens wegschrijf in de INI-File dan schrijft hij alleen t"A weg en dus altijd dat, dus dat lukt ook niet.
Hoe ga ik het wel voor elkaar krijgen?
Nu heb ik alleen het probleem dat je in principe alleen een string kunt opslaan in een INI-file en niet, zoals de tekst uit een Richedit is, een TStrings. Nu heb ik al de functie StringsToStr gevonden, maar het nadeel daarvan is dat deze extra "enters" toevoegd. Hij plakt namelijk de verschillende regels van de TStrings aan elkaar en plaats daar een delimiter tussen. Nu plaatst hij altijd een delimiter bij de volgende regel, dus ook als ik geen enter heb gebruikt, maar de regel past gewoon niet op 1 regel in de Richedit.
Met andere woorden: Stel er passen 10 tekens op een regel uit de richedit en ik typ 12 tekens (zonder dat ik op enter druk) dan zullen de laatste twee tekens op de tweede regel komen. De functie StringsToStr zal tussen de eerste 10 tekens en de laatste twee tekens een delimiter teken plaatsen, waardoor het lijkt alsof er een enter tussenstaat. Dat is dus niet de bedoeling, maar het is ook niet de bedoeling dat alle enters verloren gaan. Dus ik kan er ook niet voor kiezen om dan alle enters maar te laten vallen.
Nu zat ik te denken dat als je een TFilestream gebruikt, dat dan de tekst uit een RichEdit ook als 1 lange string wordt weergegeven, en eigenlijk zou ik dat willen opslaan, want dan zou ook de opmaak bewaard blijven (gebruik ik nog niet, maar is voor later wel makkelijk). Ik zat te denken dat ik dat mbv een TMemoryString zou kunnen doen, maar als ik de tekst daarin inlees en vervolgens wegschrijf in de INI-File dan schrijft hij alleen t"A weg en dus altijd dat, dus dat lukt ook niet.
Hoe ga ik het wel voor elkaar krijgen?