witam
-
Panel.caption nie mieści się w jednej linii. Czy da się zrobić w Panelu coś na zasadzie Wordwrap?
-
Od czego zacząć, żeby aplikacja komunikowała się z drukarką fiskalną?
witam
Panel.caption nie mieści się w jednej linii. Czy da się zrobić w Panelu coś na zasadzie Wordwrap?
Od czego zacząć, żeby aplikacja komunikowała się z drukarką fiskalną?
do komunikacji z drukarkami fiskalnymi masz gotowe biblioteki dostarczane prze producentów drukarek.
spróbuj dać:
panel1.caption:='jakis tam tekst'+#10+#13+'jakis tam dalszy tekst';
Niestety nie pomogło :(
Captionem ma być element wiersza z tabeli.
//ucinanie captiona panela
procedure TForm1.Button1Click(Sender: TObject);
var
dlugosc : integer;
napis : string;
begin
Panel1.Width:=250; // szerokość panelu 250px
Label1.Caption := Panel1.Caption; // przypisanie caption panela do labela
dlugosc := Length(Label1.Caption)-10; // dlugosc labela minus 10 znakow
napis := Label1.Caption; // caption labela do zmiennej
if Label1.Width > 250 then begin // jesli szerokosc labela wieksza niz panela to
Delete(napis, dlugosc, 11); // ucinaj 11 ostatnich znakow z labela
Insert('...', napis, Length(Label1.Caption)); // i wstawiaj 3 kropki na koniec nowego captiona
Panel1.Caption := napis; // przypisz nowe caption do panela
end;
end;
Label1.Visible := False; // schowaj labela
To daj do OnCreate formy.
Ucina caption panela, który ma tam jakąś szerokość określoną i porównuje z szerokością labela.
Trochę prymitywne ale działa. Popatrz na kod i na komentarze to szybko zjarzysz o co biega.
Daj na formę Panel, Label i Button. Resztę zostawiam tobie do skumania tematu. :-)
A jak chcesz pod wyświetlać Caption panela w kilku liniach to zainstaluj sobie
paczke Jedi Components 3.30 i tam masz komponent jvPanel a w nim włącz Multiline na True.
Potem już tylko
jvPanel1.Caption:='jakis tam tekst'+#13+'jakis tam dalszy tekst';