ďťż
chomiki [delphi] tagi z plików MP3 zakodowanych w formacie ID3v2 [delphi] problem ze zmianą ikony programu [delphi] Rysowanie na Canvasie z pliku *bmp [delphi] procedury przy pokazaniu formy Samsung GT-B3410 Delphi [delphi] sprawdzanie poprawności adresu Algorytm sortowania bąbelkowego w Delphi [delphi] przylepianie formy [delphi] konstrukcja wyjątku [Delphi] Program w zasobniku.... |
chomikiJak uzyskać efekt przewijania napisu w labelu, gy np. mamy mało powichchni mna jego pokazanie w całości. Please Help.Petromechanik naucz się konstruować pytania, podałeś zbyt mało informacji na temat twoich problemów… w temacie wypadało by dać przedrostek http://www.gromat.srcom.i...stkach-vt20.htm pamiętaj o tym, bo jest to cenna informacja dla chcących pomóc.. i nie rozumiem troszke stwierdzenia przewijanie w labelu… z tego co się orientuje label ma tylko jeden rekord który mieści jedną linijkę co najwyżej możesz użyć memo tam masz scrolla chodzi mi o dodawanie,odejmowanie znaków typu string i odadawnie do końca(tak jak przewijanie w pasu zadań w winampie) http://www.gromat.srcom.i...stkach-vt20.htm no mam Zrobiłem coś takiego: var Org: string; Poz: integer; // te dwie zmienne zadeklaruj np z sekcji Private definicji formatki //w OnCreate formatki Org := 'Przykladowy tekst do przewiniecia'; Poz := Length(org); //na formie połóż timer i w OnTime tego timera. Interval timera ustaw np na 200 var s: string; j,i: integer; s := Copy(Org, 1, Poz); j := 0; while Length(s) < Length(org) do begin s := ' ' + s; Inc(j); if j = 1 then Break; // w tym miejscu sterujesz jaki ma byc odstep pomiedzy przewijanym labelem end; for i := Length(org) downto 1 do begin if Length(s) = Length(org) then Break; s := Org[i] + s; end; Label1.Caption := s; Dec(POz); if Poz = 0 then Poz := Length(Org); U mnie działa. Może Ci wystarczy takie rozwiązanie. u mnie też. dzięki Thor. [ Dodano: 2006-04-08, 14:43 ] Thor, ja też próbowałem, aby mi pokazywało w pasku zadań(jak w winampie) przez Application.Title. Idzie ale coś nie płynnie Ty sposobem, co podałem próbowałeś Ta niepłynność jak wygląda Może interwałem timera trzeba się pobawić nie, nie to n9e interwał zobacz sam nie, nie to n9e interwał zobacz sam zapodaj ten program gdzies to zobaczymy... wystarczy wklepać to co Thor podał tylko zmienić z Label1.Caption na Application.Title [ Dodano: 2006-07-15, 13:35 ] Thor, Twój sposób jest dobry tylko że chodzi do tyłu Mój chodzi do przodu var Form1: TForm1; t: Array Of Char; ii,i,ile:Integer; org: String; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); Begin org := 'Przykładowy tekst do przewinięcia '; SetLength(t,Length(org)); ii:=0; ile:=Length(org); For i:=1 to ile do Begin t[i]:=org[i]; End; End; procedure TForm1.Timer3Timer(Sender: TObject); Var x:Integer; s,ss:String; Begin s:=''; ss:=''; For x:=1 To ile-ii Do s:=s + t[x+ii]; For x:=1 To ii Do s:=s+t[x]; For x:=1 To Round(ile/2) Do ss:=ss+ s[x]; Inc(ii); If ii=ile Then ii:=0; Label3.Caption := ss; End; Wymagania;) Komponent Label i Timer umieszczony na formie szybkość przewijania zmieniamy w Timer w zakładce Interval Add /// mały opisik aby można było tym jakoś sterować 1. Tablica dynamiczna deklaruje się automatycznie o długości znaków zmiennej org czyli ile tam wpiszemy tyle będzie 2. W tym miejscu: For x:=1 to round(ile/2) do ss:=ss+ s[x]; sterujemy jaki długi ma być label w stosunku do długości znaków czyli jak jest: round(ile/2) to oznacza że będzie wyświetlana tylko połowa labela a reszta będzie "ukryta", Oczywiście możemy zastosować ułamek np: round(ile*2/3) 3. Jeśli chcemy zrobić większy odstęp między końcem a początkiem to wystarczy dodać kilka spacji na koniec tegoż stringa PS: Reszta myślę że nie trzeba tłumaczyć bo nie będzie dało się tego zmieniać poza tym: Label3.Caption := ss; Oznacza że ten tekst będzie w labelu nr:3 PS2: Prosze pamiętać o tym że tutaj występuje inna numeracja Labela i Timera Dzięki, jutro wytestuję. PS. 4000 post |
||||
Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl. | |||||