Seite 1 von 2
Fragen vor dem Kauf
Verfasst: 07.11.2012 10:07
von mikstart
Hallo an alle,
Ist es möglich den HDMI Ausgang vom PCs zu steuern mit einen anderen Inhalt auf den Fernseher als auf dem PCs Monitor ? Tuch Screen Unterstützung? Comando und Windows Modus gleichzeitig benutzen?
Danke in vorraus
Re: Fragen vor dem Kauf
Verfasst: 08.11.2012 00:07
von PMV
HDMI ist doch einfach nur ein weiterer Grafikkarten-Ausgang. Der
Fernseher arbeitet da ganz einfach als Monitor, nicht mehr und nicht
weniger. Das heißt wenn du ihn als erweiterten Desktop verwendest,
kannst ihn genau so nutzen wie jeden anderen Monitor auch, das hat
nix mit PB zu tun.
Touch Screen Unterstützung bietet Windows, die Win API kann von
PB direkt verwendet werden.
Ich nehm mal an, das du mit "Command" die Kommandozeile meinst.
Du kannst das alte Konsolenfenster auch anzeigen, wenn du normale
Fenster öffnest, im gleichen Programm. Da seit Vista aber die
DOS-Eingabeaufforderung stark limitiert ist ... ob das wirklich eine Rolle
spielt? Du kannst so ziemlich alles mit der WinAPI machen, was du auch
mit anderen Sprachen und der WinAPI machen kannst.
MFG PMV
Re: Fragen vor dem Kauf
Verfasst: 08.11.2012 09:31
von mikstart
Danke für die rasche Antwort.
Ok ich kann den Fernseher benutzen wie ein Monitor.
Gibt es in pure Basic Befehle damit ich zwei verschiedene Ausgaben machen kann?
zB auf Monitor 1 wird das Hauptprogramm angezeigt und auf dem Fernseher ( 2. Monitor)
Eine Anzeigetafel mit anderen Inhalt.
Re: Fragen vor dem Kauf
Verfasst: 08.11.2012 11:45
von STARGÅTE
@mikstart: Das ist doch ein normales Multidisplay.
Das hat doch nichts mit der Programmiersprache zu tun, der wird einfach gesagt, dass das eine Fenster bei 0,0 ist, das andere zB bei 1920,0 (also verschoben auf den 2. Bildschirm) ist.
In wie fern das ruckefrei funktioniert, hängt von deiner Grafikkarte ab.
Edit: Ich habe ein bisschen das Gefühl, du denkst (nicht böse gemeint), du müsstest den HDMI-Port selber programmieren, was er auszugeben hat. Aber das musst du garnicht, das übernimmt das Betriebssystem/Grafikkarte schon für dich.
Für dich (und die Programmiersprache) ist die komplette Ausgabe (mit allen Monitoren) einfach eine große Fläche auf der du z.B. Fenster platzieren kannst.
Re: Fragen vor dem Kauf
Verfasst: 08.11.2012 20:48
von Regenduft
Ein Code sagt mehr als 1000 Worte!
Das folgende ist kein ordentliches Programm (z.B. würde bei nur einem Monitor eine Fehlermeldung ausgeworfen werden), zeigt aber wie schön einfach PureBasic funktioniert!
"Debug" ist eigentlich für die Fehlersuche gedacht. Es öffnet das "Degubber-Ausgabefenster" und gibt dort den Wert aus (eine Zeile pro "Debug") welchen die Funktion (sozusagen der "Befehl") hinter dem Debug rückgibt. Normalerweise würde man diesen Wert lieber in einer Variable speichern, oder in einem "richtigen" Fenster anzeigen.
Das Semikolon (";") bedeutet, dass der gesamte Programmcode dahinter ignoriert wird, um den eigenen Programmcode mit Kommentaren versehen zu können.
Übrigens arbeite ich hier mit dem Desktop und nicht mit "DirectX-Fullscreens".
Code: Alles auswählen
Debug ExamineDesktops() ; Anzahl der Monitore
Debug "" ; Leerzeile
; erster Monitor
Debug DesktopName(0) ; Name des Desktops
Debug DesktopFrequency(0) ; Bildwiederholungsrate
Debug DesktopWidth(0) ; Auflösung (Breite)
Debug DesktopHeight(0) ; Auflösung (Höhe)
Debug DesktopX(0) ; X-Position (linke Kante)
Debug DesktopY(0) ; Y-Position (obere Kante)
Debug "" ; Leerzeile
; zweiter Monitor
Debug DesktopName(1) ; Name des Desktops
Debug DesktopFrequency(1) ; Bildwiederholungsrate
Debug DesktopWidth(1) ; Auflösung (Breite)
Debug DesktopHeight(1) ; Auflösung (Höhe)
Debug DesktopX(1) ; X-Position (linke Kante)
Debug DesktopY(1) ; Y-Position (obere Kante)
Gehen wir mal davon aus, dass Du 2 Monitore angeschlossen hast. Der
linke ist ein alter 4:3-Standrardmonitor mit "1024 × 768", der
rechte ist Dein 16:9-HD-TV mit "1920 × 1080". Wie die Monitore angeordnet sind muss unter Windows eingestellt werden und hat nichts mit der Programmiersprache zu tun.
Nun würde das obige Programm (ungefähr) folgendes im Debugger-Fenster ausgeben:
Code: Alles auswählen
2
\\.\DISPLAY1
60
1024
768
0
0
\\.\DISPLAY2
50
1920
1080
1025
0
Wenn man nun ein Fenster auf der X-Achse zwischen Null und 1024, sowie auf der Y-Achse zwischen Null und 768 erstellt, dann ist man auf dem
linken Monitor.
Wenn man nun ein Fenster auf der X-Achse zwischen 1025 und 2945, sowie auf der Y-Achse zwischen Null und 1080 erstellt, dann ist man auf dem
rechten Monitor.
Das kann für Programmieranfänger ziemlich verwirrend sein, mit Sicherheit ist das ganze aber
viel einfacher als z.B. mit C++, wobei aber (wie Stargate zuvor bemerkte) das "Mutidisplay-Zeug" im Allgemeinen nichts mit der Programmiersprache zu tun hat.
Man kann sich alle aufgestellten Monitore wie einen einzigen großen Monitor vorstellen. Darum muss man das auch unter Windows vorher richtig einstellen!
(PS: Manmanman... bin ich heute vernebelt oder was? Zigtausen Schreibtfehler...)
Re: Fragen vor dem Kauf
Verfasst: 09.11.2012 13:43
von mikstart
Danke für die Info
Nein ich denke nicht das ich HDMI selber programmieren muss. Ich habe nur ein Projekt vor
Wo auf dem ersten Bildschirm das Hauptprogramm anzeigt praktisch wo ich meine Eingabe mache und auf dem 2. Bild das Ergebnisse präsentiert wird, dabei müssen beide Programmteile. Gleichzeitig laufen und das Ergebnis nach der Eingabe oder Veränderung auf dem 2. Bildschirm ausgegeben werden während ich auf dem 1. Bildschirm synchron weiterhin die Eingabe machen kann.
Re: Fragen vor dem Kauf
Verfasst: 09.11.2012 15:12
von PMV
Als Awendungsentwickler kümmert sich da eher weniger drum.
Man bietet zwei Fenster an, die die jeweiligen Funktionalitäten
bieten und der Benutzer kann die Position (und Größe) dann
nach seine Nöten einstellen.
Wenn du die Fenster direkt auf den entsprechenden 2 Desktops
anbieten willst, bedenke, das jeder andere "Positionen" für diese
hat.
PS: der DX-Screen öffnet sich immer auf dem Hauptbildschirm.
Nur als Info falls du damit was machen willst.
MFG PMV
Re: Fragen vor dem Kauf
Verfasst: 09.11.2012 20:45
von Regenduft
PMV hat geschrieben:PS: der DX-Screen öffnet sich immer auf dem Hauptbildschirm.
Ui! Auch wieder was gelernt!
Kann man dann auch nur auf dem Hauptschirm "WindowedScreens" öffnen? Hatte bisher nur mal ein bisschen mit Multidisplay herumgespielt und habe gerade keinen zweiten Monitor.
mikstart hat geschrieben:auf dem ersten Bildschirm (...) Eingabe machen
auf dem 2. Bild das Ergebnis
Sähe dann grob so aus, wobei ich beide Fenster maximiert öffne (wäre ja witzlos zwei Minifenster auf je einem Schirm zu öffnen):
Code: Alles auswählen
#Eingabe = 0
#Ausgabe = 1
ExamineDesktops()
titel0.s = "Eingabe"
x0 = DesktopX(0)
y0 = DesktopY(0)
w0 = DesktopWidth(0)
h0 = DesktopHeight(0)
f0 = #PB_Window_SystemMenu | #PB_Window_Maximize
titel1.s = "Ausgabe"
x1 = DesktopX(1)
y1 = DesktopY(1)
w1 = DesktopWidth(1)
h1 = DesktopHeight(1)
f1 = #PB_Window_TitleBar | #PB_Window_Maximize
OpenWindow(#Eingabe, x0, y0, w0, h0, titel0, f0)
OpenWindow(#Ausgabe, x1, y1, w1, h1, titel1, f1, WindowID(0))
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End ; Egal welches Fenster geschlossen wurde -> Programm Ende!
Case #PB_Event_ActivateWindow
Select EventWindow()
Case #Eingabe
Debug "Eingabefenster wurde aktiviert!"
Case #Ausgabe
Debug "Ausgabefenster wurde aktiviert!"
EndSelect
EndSelect
ForEver
Wie gesagt: Ordentliches Programmieren sieht anders aus! Nur mal um die Syntax zu zeigen!
Re: Fragen vor dem Kauf
Verfasst: 09.11.2012 20:57
von RSBasic
Regenduft hat geschrieben:Kann man dann auch nur auf dem Hauptschirm "WindowedScreens" öffnen? Hatte bisher nur mal ein bisschen mit Multidisplay herumgespielt und habe gerade keinen zweiten Monitor.
Nein, du kannst auch mit Hilfe der Position in der Parameterliste bestimmen, auf welchem Bildschirm dein WindowedScreen erscheinen soll.
Re: Fragen vor dem Kauf
Verfasst: 09.11.2012 21:01
von STARGÅTE
Kann man dann auch nur auf dem Hauptschirm "WindowedScreens" öffnen?
Jain.
Bei einigen Grafikkarten brechen die Frames ein, wenn der WindowedScreen auf einem erweiterten Desktop liegt.
Auch hängt es von der Grafikkarten ab, was angezeigt wird, wenn der Screen genau dazwischen (also auf beiden Desktops) liegt.
Gute Grafikkarte zeigen alles richtig, andere zeigen zB nur die linke oder rechte Seite.
Fest steht aber, dass man ein WindowedScreen auf einem zweit-Desktop öffnen kann.