/ Forside/ Teknologi / Udvikling / Delphi/Pascal / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
I RichEdit1 ønskes alle StringReplace vi~
Fra : MonieJacobsen
Vist : 1124 gange
50 point
Dato : 31-03-04 08:41

I procedure replayClick får jeg efter indskrivning af FirstName og LastName
kun i RichEdit1 udlæst, den sidste StringReplace.

//Her indlæses txt-filen:

procedure TForm1.LMDFileOpenEdit1Click(Sender: TObject);
Var
filnavn : STRING;
begin
begin
Memo1.Clear;
Memo1.Lines.LoadFromFile(LMDFileOpenEdit1.Filename);
filnavn := LMDFileOpenEdit1.Filename;
end;
end;

//Her indskrives FirstName:

procedure TForm1.LMDButton3Click(Sender: TObject);
begin
FirstName := ArrangeText(IndskrivSaetning('Indskriv First Name:',Default));
end;

//Her indskrives LastName:

procedure TForm1.LMDButton2Click(Sender: TObject);
begin
LastName := ArrangeText(IndskrivSaetning('Indskriv Last Name:',Default));
end;


procedure TForm1.replayClick(Sender: TObject);
begin
soucetext:= StringReplace(Memo1.Lines.Text,'<FirstName>',FirstName, [rfReplaceAll, rfIgnoreCase]);
soucetext:= StringReplace(Memo1.Lines.Text,'<LastName>',LastName, [rfReplaceAll, rfIgnoreCase]);

RichEdit1.Text:=soucetext; // Får kun udlæst sidste StringReplace
end;

Hvordan får jeg den indlæses txt-file og de indskrevet navne vist i RichEdit1 ?

Med venlig hilsen
Monie Jacobsen

 
 
Accepteret svar
Fra : jrossing

Modtaget 50 point
Dato : 31-03-04 20:57

soucetext:= StringReplace(Memo1.Lines.Text,'<FirstName>',FirstName, [rfReplaceAll, rfIgnoreCase]);
soucetext:= StringReplace(Memo1.Lines.Text,'<LastName>',LastName, [rfReplaceAll, rfIgnoreCase]);

sourcetext bliver overskrevet i linje 2 prøv noget i stil med:

For i := 0 to Memo1.lines.count -1 do begin
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<FirstName>',FirstName, [rfReplaceAll, rfIgnoreCase]);
Memo1.lines[i] := StringReplace(Memo1.Lines[i],'<LastName>',LastName, [rfReplaceAll, rfIgnoreCase]);
RichEdit1.Lines.Add(Memo1.lines[i]);
end;

Forklaring:
Hver linje i Memo1 gennemløbes med udskiftning af variabler, herefter tilføjes linjen i RichEdit

Jeg er ikke helt sikker på overførslen til RichEdit.

Godkendelse af svar
Fra : MonieJacobsen


Dato : 01-04-04 08:05

Rigtig mange Tak for svaret jrossing.
Med venlig hilsen
Monie Jacobsen

                        

Kommentar
Fra : MonieJacobsen


Dato : 01-04-04 08:49

Hvad er der galt her?

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;
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.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste