Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Statusbar Text, Panelbreite (https://www.delphipraxis.net/106853-statusbar-text-panelbreite.html)

max2621 17. Jan 2008 20:43

Re: Statusbar Text, Panelbreite
 
Lieber Sirius,

Indy 10 TdTCPClient. Ich hoffe, das ist die richtige Antwort.

Gruss Max 2621

sirius 17. Jan 2008 20:54

Re: Statusbar Text, Panelbreite
 
Ja, ich habs dann auch oben gelesen. Da ich Indy 9 habe kann ich dir nicht sagen, welches Ereignis da existiert. die beiden Versionen haben ziemlich große Unterschiede. Schau dir mal die Ereignisse an. Es muss ja eins geben, dass dir sagt, dass über das Netz eine neue NAchricht gekommen ist, die du auslesen kannst.

Dann etwa so (anhand deines Quelltextes; ob es mit diesem Konzept funktioniert kann ich nicht sagen):
Delphi-Quellcode:
procedure TForm1.TSReader_start;
begin
      TCPClient.Connect;
end;

procedure TForm1.TSReader_fin;
begin
      TCPClient.Disconnect;

      VLCPlugin1.stop;
      VLCPlugin1.addTarget('http:wjonat.dyndns.org:80 :http-caching=3000)', null, VLCPlayListInsert, 0);
      VLCPlugin1.play;
end;

procedure TForm1.getTCPMessage(...);//Das ist das Ereignis deiner Komponente, so etwa wie Button1Click nur eben nicht Button sondern TCP Message angekommen; musst du mal schauen.
                     
begin
  msg:= TCPClient.IOHandler.ReadLn;
  Memo1.Lines.Add(msg);
  statusbar1.Panels[2].Text:=msg;

  //Entweder auf die MEssage prüfen oder du nimmst einen Zähler
  if msg='...' then TCPClient.IOHandler.WriteLn('stop')
  else if msg='...' then TCPClient.IOHandler.WriteLn(tune)
  ...
  else if msg='...' then TCPClient.IOHandler.WriteLn('play vlc1')
  else TSReader_fin;
end;

taaktaak 17. Jan 2008 21:12

Re: Statusbar Text, Panelbreite
 
Hallo Max,

folgende Anregung für das Statusbar OnResize-Event...

Delphi-Quellcode:
procedure TfoTest9.StatusBar1Resize(Sender: TObject);
begin
  with StatusBar1 do begin
    Panels[0].Width:=50;              // v--- 4*2 = Rand-/Zwischenabstände
    Panels[1].Width:=foTest9.Width-50-50-4*2;
    end;
end;
kurze Erklärung:
Vorgabe : StatusBar hat 3 Panels; Panel[0] und Panel[2] sollen immer 50 Pixel breit sein
Ergebnis : mittleres Panel[1] ändert die Breite

Gruß Ralph

OG Karotte 17. Jan 2008 21:16

Re: Statusbar Text, Panelbreite
 
Delphi-Quellcode:
procedure TDeineForm.DeineStatusbarResize(Sender: TObject);
begin
  with DeineStatusbar do begin
    Panels[0].Width := 50; // Feste Breite links
    Panels[2].Width := 50; // Feste Breite rechts
    Panels[1].Width := DeineForm.Width - Panels[0].Width - Panels[2].Width; // Variable Breite in der Mitte
  end;
end;
Das sollte funktionieren...

[Edit] Uups, zu langsam und kein roter Kasten [/edit]

sirius 17. Jan 2008 21:22

Re: Statusbar Text, Panelbreite
 
[OT]
Du hast in einem Thread zwei Fragen gestellt. Vielleicht merkst du auch, dass das relativ ungünstig war, da sich jetzt der Thread aufteilt und die Bezüge teilweise fehlen. Besonders, wenn später mal jemand dasselbe Problem hat sieht er nicht mehr durch.
Also demnächst bitte immer ein Thema pro Thread auch wenn die Fragen ähnlich sind (man kann ja Links setzen).

Vielleicht kannst du das Thema mal teilen
[/OT]

max2621 18. Jan 2008 07:22

Re: Statusbar Text, Panelbreite
 
Lieber Sirius, Stefan und Ralph,

vielen Dank für Eure Unterstützung. Beide Probleme sind für mich jetzt gelöst. Darüber hinaus habe ich sehr viel zum Verhalten in Foren gelernt.

Nochmals herzlichen Dank Euer Max 2621


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz