AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Position von Programmfenster in *.ini speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Position von Programmfenster in *.ini speichern?

Ein Thema von Tim.exe · begonnen am 14. Okt 2003 · letzter Beitrag vom 14. Okt 2003
Antwort Antwort
Seite 2 von 2     12   
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#11

Re: Position von Programmfenster in *.ini speichern?

  Alt 14. Okt 2003, 10:41
Prima. Dann Zeige dem Volk mal Deine überarbeitete Version, die INI auszulesen und zu speichern. Bitte aber vergewissern, dass die INI geschrieben und gefunden wird.
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#12

Re: Position von Programmfenster in *.ini speichern?

  Alt 14. Okt 2003, 10:49
OK, haltet euch fest, hier kommt es:

Delphi-Quellcode:
...
const
  SectionSystem = 'System';
  KeyFormLeft = 'FormLeft';
  KeyFormTop = 'FormTop';
...

procedure TForm1.FormCreate(Sender: TObject);
begin
        Form1.Left := 100;
        Form1.Top := 100;
end;


procedure TForm1.FormDestroy(Sender: TObject);
var savestat: TIniFile;
begin
savestat := TIniFile.Create(ExtractFilepath(Application.Exename)+'settings.ini');
try
savestat.WriteInteger(SectionSystem, KeyFormLeft, Form1.Left);
savestat.WriteInteger(SectionSystem, KeyFormTop, Form1.Top);
finally
savestat.Free;
end;
end;

procedure TForm1.FormActivate(Sender: TObject);
var savestat: TIniFile;
begin
savestat := TIniFile.Create(ExtractFilepath(Application.Exename)+'settings.ini');
try
Form1.Left:= savestat.ReadInteger(SectionSystem, KeyFormLeft, 0);
Form1.Top:= savestat.ReadInteger(SectionSystem, KeyFormTop, 0);
finally
savestat.Free;
end;
end;
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#13

Re: Position von Programmfenster in *.ini speichern?

  Alt 14. Okt 2003, 10:54
Wieso jetzt OnActivate? OnCreatewar doch richtig. Ansonsten: Wird die verdammte INI-Datei geschrieben? Hat diese den richtigen Inhalt? Setze doch mal ein Breakpoint und schaue nach was passiert.

Nachtrag: Was soll jetzt die Zuweisung in OnCreate?
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#14

Re: Position von Programmfenster in *.ini speichern?

  Alt 14. Okt 2003, 11:07
Upsi,

das mit OnCreate und OnActivate war ein Missverständnis.

Es klappt jetzt sehr gut, bis auf einen kleinen Schönheitsfehler:

Beim aller ersten Start (wenn noch keine *.ini geschrieben wurde) wird das Programm am absoluten linken, oberen Bildschirmrand angezeigt, DesktopCenter wäre aber schöner...
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
Lonki

Registriert seit: 13. Okt 2003
Ort: Berlin
4 Beiträge
 
Delphi 7 Professional
 
#15

Re: Position von Programmfenster in *.ini speichern?

  Alt 14. Okt 2003, 11:11
Versuchs doch mal mit:

Delphi-Quellcode:
  if savestat.SectionExists(SectionSystem) then
  begin
    Form1.Left:= savestat.ReadInteger(SectionSystem, KeyFormLeft, 0);
    Form1.Top:= savestat.ReadInteger(SectionSystem, KeyFormTop, 0);
  end;
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Position von Programmfenster in *.ini speichern?

  Alt 14. Okt 2003, 11:12
Moin Tim,

logisch, dass dann das Programmfenster in der linken oberen Ecke hängt.
Du hast ja als Defaultwert beim ReadInteger 0 angegeben.

Wenn Du das mal auf

(Screen.Width-self.Width) div 2

änderst (für die obere Kante entsprechend) sollte das Formular in der Mitte erscheinen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:38 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