|
| Historiebogien udskrives ikke Korrekt Fra : MonieJacobsen | Vist : 1090 gange 100 point Dato : 02-04-04 07:38 |
|
Jeg skal kører proceduren Replay 2 gange for, at få Nick Name ændret,
de andre ændre sig ved første gennemkørsel.
procedure TForm1.replayClick(Sender: TObject);
Var
i: Integer;
begin
For i := 0 to Memo1.lines.count -1 do begin
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<First Name>',FirstName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<Last Name>',LastName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<Nick Name>',NickName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<Mother Name>',MotherName, [rfReplaceAll, rfIgnoreCase]);
RichEdit1.Lines.Add(Memo1.lines[i]);
end;
end;
Historiebogien her er skrevet som "bog.txt" som indindlæses med:
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName)
Her er "bog.txt" (Test)
<Father Name> ønskede <Mother Name> tilykke med fødselsdagsbogen i dag.
<Mother Name> var glad og <Nick Name>, som var hans kællenavn.
Hilsen
<First Name> <Last Name>
Dette var helle test-historien.
Med venlig hilsen
Monie Jacobsen
| |
| Kommentar Fra : jrossing |
Dato : 02-04-04 14:24 |
|
Hej
Der skal i hvertfald sættes fælgende ind, men om det har noen indflydelse på udskiftningen kan jeg ike afgøre.
begin
-> RichEdit1.Lines.Clear;
For i := 0 to Memo1.lines.count -1 do begin
Bliver <Nick Name> til '' eller forbliver det <Nick Name> efter første gennemløb?
| |
|
Hej jrossing
Teksten ændre sig ikke, forbliver <Nick Name> efter første gennemløb.
Mvh
Monie Jacobsen
| |
| Accepteret svar Fra : jrossing | Modtaget 100 point Dato : 02-04-04 21:36 |
|
OK, der var et par ting jeg ikke lige tænkte på
Hele proceduren skal omstuktureres lidt, der er jo ikke meningen at originalteksten skal ændres!
procedure TForm1.replayClick(Sender: TObject);
Var
i: Integer;
str:String;
begin
For i := 0 to Memo1.lines.count -1 do begin
Str := Memo1.lines[i];
Str := StringReplace(Str,'<First Name>',FirstName, [rfReplaceAll, rfIgnoreCase]);
Str := StringReplace(Str,'<Last Name>',LastName, [rfReplaceAll, rfIgnoreCase]);
Str := StringReplace(Str,'<Nick Name>',NickName, [rfReplaceAll, rfIgnoreCase]);
Str := StringReplace(Str,'<Mother Name>',MotherName, [rfReplaceAll, rfIgnoreCase]);
RichEdit1.Lines.Add(Str);
end;
end;
Ovenstående gør at din Memo1 forbliver som originalen.
Et lille spørgsmål: Er der forskel på at indtaste teksten direkte i felterne eller om man bruger knapperne?
| |
|
Til jrossing
Har fåret nedstående kode til at virke!
procedure TForm1.replayClick(Sender: TObject);
Var
i : integer;
st : string;
begin
//RichEdit1.Lines.Clear;
for i := 0 to Memo1.lines.count -1 do begin
st := Memo1.Lines[i];
st := StringReplace(st,'<First Name>',eFirstName.Text, [rfReplaceAll, rfIgnoreCase]);
st := StringReplace(st,'<Last Name>',eLastname.Text, [rfReplaceAll, rfIgnoreCase]);
st := StringReplace(st,'<Nick Name>',eNickname.Text, [rfReplaceAll, rfIgnoreCase]);
st := StringReplace(st,'<Fathers Name>',eFathersname.Text, [rfReplaceAll, rfIgnoreCase]);
st := StringReplace(st,'<Mother Name>',eMotherName.Text, [rfReplaceAll, rfIgnoreCase]);
RichEdit1.Lines.Add(st);
end;
end;
Må jeg stille et spørgamål merer?
Et spørgamål om font-skrifttype-color-størelse indsat i afsnittene.
Kan dette lade sig gørere?
Teks filen ('c:\test.txt')
***Begin
Dansk Udgave!
<font-skrifttype-color-størelse> Kan man lave noget med dette ønske?
Der er valgt DanskBabybog.
<Fathers Name> ønskede <Mother Name> tilykke med fødselsdagsbogen i dag.
<Mother Name> var glad og <Nick Name>, som var hans kællenavn.
Med venlig hilsen
<First Name> <Last Name>
***End file
Med venlig hilsen
Monie jacobsen
| |
|
Tak for svaret jrossing.
Ondskyld forsinkelsen. Men bedere enndt end aldrig.
Jeg havde helt glemt at give dig Point. Undskyld!
Med venlig hilsen
Monie Jacobsen
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|