Avatar billede hclarsen Nybegynder
04. juni 2004 - 22:23 Der er 24 kommentarer og
1 løsning

Linier i editor

Når man laver en HTML Editor, eller bare en editor i al almindelighed, står der nogle gange antal linier ude i siden, ligesom i JBuilder (kunne ikk lige komme på et bedre ex) 
Kan man lave sådan nogle i Delphi, og i så fald hvordan?
Jeg har prøvet med SynEdit, men ville se hvordan koden så ud?
Avatar billede jonat Nybegynder
04. juni 2004 - 22:32 #1
Hvis det er under en memo hedder det:
var Linjer:integer;
begin
Linjer := memo1.lines.count;
end;

Men hvor er det du vil have det til at stå??? Kender ikke lige JBuilder! ;-)

// Jonat.
Avatar billede hclarsen Nybegynder
04. juni 2004 - 22:33 #2
Hehe :-)

Det står vist bare ude i siden, men problemet er bla. også, at jeg ikke ved hvilket komponent det står i?
Avatar billede jonat Nybegynder
04. juni 2004 - 22:37 #3
Hvad mener du med hvilket component det står i????

// Jonat.
Avatar billede hclarsen Nybegynder
04. juni 2004 - 22:40 #4
Det jeg mener er, at jeg ikke ved om det står i en edit, label etc.
Avatar billede jonat Nybegynder
04. juni 2004 - 22:44 #5
I mit eksempel bliver antallet af linjer lagt ind i variablen "linjer" som integer.
og hvis den nu skal lægges ind i en edit skriver du bare:

edit1.text := inttostr(memo1.lines.count);
og hvis label:
label1.caption := inttostr(memo1.lines.count);

// Jonat.
Avatar billede tomat-ketchup Nybegynder
04. juni 2004 - 22:55 #6
Er det ikke sådan noget du mener:

http://mbudde.1go.dk/shot.jpg  ?
Avatar billede jonat Nybegynder
04. juni 2004 - 22:56 #7
Jeg er ikke helt sikker på at jeg forstår hvad du mener.... :-)

Men hvis det er det du mener, som jeg har skrevet kan man også lave det om til en funktion:

function GetLinesCount(Lines : TStrings) : Integer;
begin
  result := Lines.Count;
end;

og så skal du kalde:
  Edit1.text := IntToStr(GetLinesCount(Memo1.Lines));    // I Edit1
  Label1.Caption := IntToStr(GetLinesCount(Memo1.Lines)); // I label1
Avatar billede hclarsen Nybegynder
04. juni 2004 - 22:56 #8
Jo, præcis !
Avatar billede jonat Nybegynder
04. juni 2004 - 22:57 #9
Tomat-ketchup -> 404 siden blev ikke fundet
;-)
// Jonat.
Avatar billede hclarsen Nybegynder
04. juni 2004 - 22:58 #10
Åbn IE igen, og kopier linket derind
Avatar billede jonat Nybegynder
04. juni 2004 - 23:02 #11
Det ved jeg ikke lige hvordan man laver, men af edit og label, er det nok label der er bedst.

// Jonat.
Avatar billede jonat Nybegynder
04. juni 2004 - 23:18 #12
Jeg sidder lige og expermenterer med en paintbox ved siden af en memo.

jeg har også fundet en del af løsningen, men jeg ved bare ikke hvordan man finder ud af hvad nr. den øverste synlige linje er i memoen. da det er derfra den skal tælle. :-D

// Jonat
Avatar billede jonat Nybegynder
05. juni 2004 - 00:47 #13
Jeg kan ikke få det til at virke :-( ....
Men du kan prøve og spørge om der er andre der ved det.....

(jeg har ellers forsøgt hårdt) ;-)

// Jonat.
Avatar billede dkn Nybegynder
05. juni 2004 - 00:50 #14
hent JEDI VCL der er en EditorMemo mener jeg nok
Avatar billede tomat-ketchup Nybegynder
05. juni 2004 - 12:46 #15
procedure TForm1.Memo1Change(Sender: TObject);
var
  i: integer;
begin
  Memo2.Lines.Clear;
  for i := 1 to Memo1.Lines.Count do
  begin
    Memo2.Lines.Add(IntToStr(i));
  end;
end;

Så laver du bare to memo'er:

http://mbudde.1go.dk/shot2.jpg
Avatar billede tomat-ketchup Nybegynder
05. juni 2004 - 13:20 #16
virker ikke helt optimalt :(
Avatar billede jonat Nybegynder
06. juni 2004 - 10:51 #17
Jeg kan lave noget som kommer til at virke optimalt nu.. lige 5-10 min... :-)

// Jonat.
Avatar billede jonat Nybegynder
06. juni 2004 - 11:21 #18
Her :
procedure TForm1.Memo1Change(Sender: TObject);
var FirstLine,I,AntalSynligeLinjer : integer;
begin
FirstLine := Memo1.Perform(EM_GETFIRSTVISIBLELINE, 0, 0 );

AntalSynligeLinjer := Memo1.Height div 13;

For I := 0 to AntalSynligeLinjer do
begin
  Image1.Canvas.TextOut(10,(I*13)+3,IntToStr(I+1+FirstLine));
end;
end;

Så skal du placere en image (image1) lige op ad memoen, og så smide koden ind i memoens onChange.
Avatar billede jonat Nybegynder
06. juni 2004 - 11:23 #19
Og det skulle self. have været et svar. :-D

// Jonat
Avatar billede jonat Nybegynder
06. juni 2004 - 14:27 #20
Og så under form Resize skal du så lave noget med at billedet følger med memoen, hvis memoen ændre størrelse.... :-D

// Jonat.
Avatar billede dkn Nybegynder
06. juni 2004 - 14:49 #21
syntes egentlig bare du skal hente det komponent, der kommer aldrig noget godt ud af de canvas forsøg sammen med en memo.
Avatar billede hclarsen Nybegynder
06. juni 2004 - 15:01 #22
Dkn, jeg tror du har ret, selvom det da næsten virker med Jonat's ex.
Er der nogle der har et link til komponentet ?
Avatar billede tomat-ketchup Nybegynder
06. juni 2004 - 15:12 #23
Avatar billede dkn Nybegynder
06. juni 2004 - 16:16 #24
ja
Avatar billede hclarsen Nybegynder
06. juni 2004 - 22:16 #25
Er det kun mig, eller har I andre også haft problemer med at installere komponentet ?
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