12. juli 2007 - 00:40Der er
5 kommentarer og 1 løsning
Blande streng og kode
Jeg har en tekst der skal bruges ved afsendelse af en mail. Teksten vil jeg gerne lægge i en database, så den kan redigeres uden at skulle rette i selve koden. Men teksten består også at nogle variabler. F.eks.
dim tekst as string tekst = "Hej " & person.navn & " !"
Kan man på nogen måde lægge koden med ind i strengen i databasen, så man slipper for at skulle bryde teksten op i mindre bidder og dermed gøre det ret statisk alligevel ?
Jeg havde en applikation en gang også med emails som skulle rekonfigureres af og til. Det endte med et sæt firkantede paranteser [] til markering af et lille antal definerede "variable", så som afsender, modtager, dato osv osv , indsat i mail-teksten efter behov, og som så blev parset ud og erstattet af db-værdierne inden afsendelse. Måske kan du bruge ideen.
Hvis du angiver dine variable sådan her: string template = "Jeg hedder {0} og er {1} år"; Kan du køre en string result = String.Format(template, "Kaj", 100); Mvh
snepet > Det ser fint ud, men er ikke særlig dynamisk anvendelig, da man SKAL bruge den rigtige rækkefølge af variablerne, og så kan man ikke "frit" skrive teksten om uden at skulle ændre i koden.
neoman > Jeg har skrevet koden til funktionen og er nu ved at lægge al teksten i databasen med "variablerne". Send en svar og du får point.
Her er lidt kode, som det ser ud:
function UdskiftVariable(tekst as string, udl as Udlejning) as string tekst = tekst.Replace("[KontaktpersonNavn]", udl.KontaktpersonNavn) tekst = tekst.Replace("[StartDatoTidLang]", udl.StartDatoTid.ToString("f")) tekst = tekst.Replace("[SlutDatoTidLang]", udl.SlutDatoTid.ToString("f")) return tekst end function
Hvus man bare skriver nok af de linier inde i funktionen kan man lave mere eller mindre hvad som helst.
Du kan skrive om alt det du gider.... Dette her går lige så fint: Hej {12}, har du ikke fødselsdag den {4} Din interface er bare defineret ved rækkefølgen som så rent programmatisk er statisk. Men ja - det kunne godt være praktisk hvis man kunne navngive istedet - f.eks.: Hej {name} osv... Mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.