Wątek przeniesiony 2015-05-04 15:08 z Delphi i Pascal przez furious programming.

Jak wyświetlić dane tylko w jednym wierszu Memo?

0

Witam.
Jak wyświetlić dane(string) tylko w jednym wierszu w memo.
Przyklad:
gumka -skasowanie gumka
zeszyt - skasowanie zeszyt
pióro - skasowanie pióro
Kredka itd.

Wyświetlane dane maja zaczynać się od początku linii.
Teraz wyswietla mi się każdy przedmiot w osobnej(następnej) linii.
Przedmioty te są w pętli for.
Zamiast memo może być edit.
Nie mogę dać sobie z tym rady
Dzięki

0

Zamiast

Memo1.Lines.Add(przedmiot);

użyj

Memo1.Lines.Text:=Memo1.Lines.Text+' '+przedmiot;
0

Nie działa
W memo mam 5ć wierszy. Przedmioty mają wyswietlac sie w 3im wierszu. Po kolei, kazdy od poczatku wiersza

0

Może w ten sposób:

Memo1.Lines[2]:=Memo1.Lines[2]+' '+przedmiot; //3 wiersz (stąd index wiersza = 2)
0

Teraz Memo1 nic sie nie wyswietla

Podaje cala procedure:

procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
  ComPort.ReadStr(Str, Count);

Memo1.Lines[2]:=Memo1.Lines[2]+' '+ str;
end;

dodanie znacznika <code class="delphi"> - @furious programming

0

Napisz jaśniej. Nie jestem zbyt bystry w programowaniu. Robię to sporadycznie.

0

Np.

procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
  I: Integer;
begin
  ComPort.ReadStr(Str, Count);
  If Memo1.Lines.Count<3 then
  for i:=1+Memo1.Lines.Count to 3 do
  Memo1.Lines.Add('');
  Memo1.Lines[2]:=Memo1.Lines[2]+' '+ str;
end;
0

zapewne wystarczy:

uses ..., StrUtils,..
...
begin
...
   Memo.Lines.Text := ReplaceStr(Memo.Lines.Text,#13#10,'');
...
end;
0

Wersja to Delphi 7
Dalej nie działa
Wywala bląd
Undeclared identifier ReplaceStr

0

@hxn - czytaj też komentarze; Funkcja ReplaceStr znajduje się w bibliotece standardowej dużo nowszych wersji Delphi; Natomiast Delphi7 posiada starszy odpowiednik - funkcję StringReplace - która działa dokładnie tak samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0