Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 08:21 Der er 19 kommentarer og
1 løsning

Forsæt en linie i en RichEdit

Hvordan forsætter man en linie i en RichEdit, teksten kommer fra en Edit.

jeg har prøvet med: RichEdit1.Lines.text:=RichEdit1.Lines.Text +TalEdit.Text; men den starter på en ny linie.

Håber nogen kan hjælpe. (husk lige at forklarer hvordan man gør.)
Avatar billede borrisholt Novice
10. oktober 2002 - 08:30 #1
RichEdit1.Lines[RichEdit1.Lines.count] :=  RichEdit1.Lines[RichEdit1.Lines.count] + TalEdit.Text

Jens b
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 08:50 #2
Det virker ikke helt som jeg ville...

Da man skal skrive mange forskelling ting i min TalEdit så skal den tilføre tallene hvergang man trykker på en knap til RichEdit'en
Avatar billede borrisholt Novice
10. oktober 2002 - 08:53 #3
skulle du så ikke spørge om det ?

Jens B
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 08:56 #4
jeg troede bare at det var den ville virke lige som en memo.Lines.text:=, derfor..
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 14:44 #5
ingen der kan hjælpe???
Avatar billede borrisholt Novice
10. oktober 2002 - 14:48 #6
jo brug onkeydown på dit Richedit ..

Jens B
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 14:51 #7
Jeg har nok glemt og sige at jeg er en nygegynder til delphi.

Jeg vil bare gerne have min RichEdit til at´kunne tilføje vidre på en linie lige som en memo kan men lines.text...
Avatar billede borrisholt Novice
10. oktober 2002 - 14:55 #8
Jo måske netop derfor giver jeg dig ikke bare svaret !

Jens B
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 15:04 #9
:)

Jeg skal nemlig bruge det til en aflevering på HTX og jeg har bøvlet med det i ca 6 timer igår og uden at finde noget der ligner det jeg skal bruge.

Jeg skal nemlig gøre en text Højre, venstre, center justeret ligesom:

noget text
                      noget andet text
            mere text


Det ved jeg hvordan man gør i en RichEdit med "Paragraph.Alignment:="

Da jeg ikke ved om man kan gøre dette i en memo, bruger jeg en RichEdit.

Men nu ved jeg ikke hvordan jeg får noget text fra en "edit" til en linie hvor der står noget der er kommet fra Edit før.

Håber du forstår ellers kan det bare være lige meget... , så må jeg vente til om 3 uger hvor jeg skal have programering igen.<
Avatar billede borrisholt Novice
10. oktober 2002 - 15:04 #10
her :

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  s : String;
begin
  s := RichEdit1.Lines[RichEdit1.Lines.Count-1];
  if Key = VK_BACK then
    Delete(s, length(s), 1)
  else
    s := s + char(Key);
  RichEdit1.Lines[RichEdit1.Lines.Count-1] := s;
end;


Jens B
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 15:07 #11
Takker for det, det var også en ting jeg har tænkt på.
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 15:09 #12
men ikke lige hvad jeg mente
Avatar billede jolly_jay Nybegynder
10. oktober 2002 - 15:34 #13
Eller prøv:

1 button
1 RichEdit
1 Memo

og lav denne for button1:

procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.Lines.Text:=RichEdit1.Lines.Text +' ' +edit1.text;
  Memo1.Lines.Text:=Memo1.Lines.Text +' ' +edit1.text;
end;

end.

og kør programmet.

Kan du se at RichEdit laver linie skift mend Memo'en laver det hele på en linie.

Hvordan får jeg så RichEdit'en til at gøre det samme som memo'en??
(Jeg skulle nok have gjort dette fra starten..
Avatar billede athlon-pascal Juniormester
10. oktober 2002 - 20:54 #14
procedure TForm1.Button1Click(Sender: TObject);
var
  str: String;
begin
  str:=RichEdit1.Lines.Text;
  str:=str+edit1.text;
  RichEdit1.Lines.Text:=str;
end;
Avatar billede jolly_jay Nybegynder
11. oktober 2002 - 10:04 #15
Hmm virker stadig ikke...
Avatar billede athlon-pascal Juniormester
12. oktober 2002 - 20:13 #16
Prøv

procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.Text:=RichEdit1.Text+edit1.text; //Ikke RichEdit1.LINES.Text!
end;

Denne gang har jeg testet det :)
Avatar billede athlon-pascal Juniormester
12. oktober 2002 - 20:29 #17
Hvis det stadigvæk ikke fungerer som du vil ha' det (det virker hos mig), så prøv følgende kode der starter med at finde det sidste linjeskift og slette det.

procedure TForm1.Button1Click(Sender: TObject);
var
  str: String;
begin
  str:=RichEdit1.Text;
  if (str[length(str)]=#10) and (str[length(str)-1]=#13)  then
    delete(str, length(str)-1, 2);
  RichEdit1.Text:=str;
  RichEdit1.Text:=RichEdit1.Text+Edit1.Text;
end;
Avatar billede athlon-pascal Juniormester
26. oktober 2002 - 19:13 #18
jolly_jay -> Ved ikke med dig, men jeg har ikke glemt dette spørgsmål ...
Avatar billede jolly_jay Nybegynder
28. oktober 2002 - 11:49 #19
MANGE MANGE MANGE TAK athlon-pascal :)

Sorry for jeg ikke har svaret i lang tid var på studietur med min klasse.

procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.Text:=RichEdit1.Text+edit1.text; //Ikke RichEdit1.LINES.Text!
end;
^^^^^Dette virkede^^^^^^
Avatar billede athlon-pascal Juniormester
29. oktober 2002 - 19:19 #20
Det vidste jeg, som skrevet havde jeg testet, det andet var kun hvis det første ikke helt tilfredsstillede dig :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester