AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden
Thema durchsuchen
Ansicht
Themen-Optionen

3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden

Ein Thema von Nine9 · begonnen am 19. Feb 2022 · letzter Beitrag vom 19. Feb 2022
Antwort Antwort
Nine9

Registriert seit: 1. Dez 2021
45 Beiträge
 
Delphi 10 Seattle Professional
 
#1

3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden

  Alt 19. Feb 2022, 14:05
Guten Tag sehr geehrte Community wie immer bin ich auf der Suche nach ein paar hilfreichen Antworten.

Bisher habe ich meine Programme immer mit Form.Borderstyle := BsNone;
und z.b left := screen.desktopLeft; ausgeführt. Mit 2 Bildschirmen kein Problem.
Nun habe ich 3 und ich möchte aber dass das Programm beim ausführen den Monitor nimmt auf dem ich Delphi offen habe und Debugge.
Leider kommt er mir immer auf den ersten ganz links was auch mit screen.desktopleft sich logisch erklären lässt.
Aber wie kann ich ihm anweisen das er auf diesen Monitor sich konzentrieren soll wo ich delphi habe und Ihn darauf ausführe

Über jede Idee wäre ich sehr Dankbar.

Freundliche Grüße
  Mit Zitat antworten Zitat
Nine9

Registriert seit: 1. Dez 2021
45 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden

  Alt 19. Feb 2022, 14:10
Habs herausgefunden ^^ mit screen.Monitors[0].left;

Geändert von Nine9 (19. Feb 2022 um 14:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden

  Alt 19. Feb 2022, 17:05
Eine Option kann auch sein, die Position beim Schließen in einer Ini zu speichern und beim nächsten Start wieder zu laden. So kannst Du jederzeit leicht eine neue Position festlegen.

Funktioniert für mich super.

Delphi-Quellcode:
  procedure TFormX.LoadIni;
  var
    IniFile: TIniFile;
  begin
    try
      IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + IniFileName);
      WindowState := wsNormal;
      Position := poDesigned;
      Top := IniFile.ReadInteger(IniFileName, 'Top', Top);
      Left := IniFile.ReadInteger(IniFileName, 'Left', Left);
      Width := IniFile.ReadInteger(IniFileName, 'Width', Width);
      Height := IniFile.ReadInteger(IniFileName, 'Height', Height);
    finally
      FreeAndNil(IniFile);
    end;
  end;

  procedure TFormX.SaveIni;
  var
    IniFile: TIniFile;
  begin
    try
      IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + IniFileName);
      IniFile.WriteInteger(IniFileName, 'Top', Top);
      IniFile.WriteInteger(IniFileName, 'Left', Left);
      IniFile.WriteInteger(IniFileName, 'Width', Width);
      IniFile.WriteInteger(IniFileName, 'Height', Height);
    finally
      FreeAndNil(IniFile);
    end;
  end;

  procedure TFormX.FormCreate(Sender: TObject);
  begin
    LoadIni;
  end;
...

  procedure TFormX.FormClose(Sender: TObject; var Action: TCloseAction);
  begin
    SaveIni;
  end;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden

  Alt 19. Feb 2022, 23:42
Bitte das TIniFile.Create() vor den try ... finally Block setzen. Ansonsten könnte es passieren, dass der Aufruf von Create() nicht funktioniert und dein finally Abschnitt ebenfalls aufgrund einer ungültigen Instanz bzw. eines ungültigen Zeigers crashed.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr.
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