AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Form nur beim ersten mal starten anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Form nur beim ersten mal starten anzeigen

Ein Thema von HW764 · begonnen am 30. Aug 2004 · letzter Beitrag vom 30. Aug 2004
Antwort Antwort
HW764
(Gast)

n/a Beiträge
 
#1

Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 15:26
Wie realisiere ich das, dass zB. Form10 nur beim ersten Starten des Programmes kommt?
Also nur beim 1 Mal.


Gruss HW764
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 15:32
Hi Kevin!

Überprüf beim Start eine Ini-Datei, in welcher ein Wert gesetzt sein muss, damit Form10 nicht angezeigt wird. Diese Überprüfung kannst du auch in der dpr-Datei deines Projektes erledigen, und dann mit einer if-Abfrage das richtige Form erstellen und anzeigen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Golze

Registriert seit: 26. Aug 2004
Ort: Berlin
32 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:08
Hi,
kann mir mal jemand auf die Sprünge helfen. Habe gerade die Frage und die Antwort gelesen. Eine Form10 soll einmal angezeigt werden. Verstehe ich nicht oder ist mir das zu einfach. Die Lösung mit der Ini-Datei kapiere ich auch nicht. Mann kann ja auch ein Thread generieren, der nach einer bestimmten Zeit ein Spawn-Prozeß erzeugt, der den Hauptprozeß dann killt. Wo ist also das Problem?
Kay
Kay Golze
  Mit Zitat antworten Zitat
HW764
(Gast)

n/a Beiträge
 
#4

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:12
Beim ersten Starten des Programms soll ein Konfigurationsmanager gestartet werden (Form10)
Diese soll beim 2 ten Start nicht mehr kommen.

Gruss HW764
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:18
Hi Kay, Hi Kevin,

die Lösung ist einfacher als ihr denkt.
Sehen wir uns mal eine dpr-Datei an:
Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Natürlich werden in Kevins Projekt mehrere Units in der uses-Klausel stehen. Das Hauptprogramm muss nun so geändert werden, dass je nach Bedarf Form1 oder Form10 angezeigt wird:
Delphi-Quellcode:
begin
  Application.Initialize;
  if (Bedingung) then
    Application.CreateForm(TForm1, Form1)
  else
    Application.CreateForm(TForm10, Form10);
  Application.Run;
end.
Die Bedingung wäre hier ein Flag in einer ini-Datei, welches du mit Hilfe der Unit IniFiles und dem TIniFile-Typ auslesen kannst. Dazu müsste es hier genug geben.
Da ich heute aber einen guten Tag (und nicht zu tun ) habe, will ich hier noch ein bisschen Source springen lassen
Delphi-Quellcode:
uses Forms,..., IniFiles;
var
  IniFile: TIniFile;
  ProgRun: Boolean;
begin
  Application.Initialize;
  IniFile := TIniFile.Create(Pfad_zur_Datei)
  ProgRun := IniFile.ReadBool('Section', 'ProgRun', False);
  if ProgRun then
    Application.CreateForm(TForm1, Form1)
  else
    Application.CreateForm(TForm10, Form10);
  IniFile.WriteBool('Section', 'ProgRun', True);
  IniFile.Free;
  Application.Run;
end.
Auf Resourcenschutzblöcke habe ich der Einfachkeit halber verzichtet.

Hoffe das klärt eure Probleme...

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#6

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:20
Naja, wenn es sowieso schon um einen Konfigurations-Dialog geht, dann mach es doch so.

Wo auch immer Du die Konfiguration speichern willst (INI, Registry, oder eigene Datei), prüfst Du beim Starten der Anwendung, ob diese Konfigurations-Daten vorhanden sind (z.B. per fileexists, bei Dateien), wenn nicht, dann öffnest du den Dialog, damit eine Konfiguration eingestellt wird, ansonsten liest du die vorhandene Konfiguration ein, und startest die Anwendung.

Ich denke, Du solltest als Kriterium nicht den allerersten Start nehmen, sondern die Verfügbarkeit der Konfigurationsdaten.

Gruß
Christian Rüsken
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:25
Hi Christian!

Du hast natürlich Recht, als Kriterium sollte nicht der erste Start, sondern das Vorhandensein der Konfigurationsdaten verwendet werden.
Dieser Code
ProgRun := IniFile.ReadBool('Section', 'ProgRun', False); Liefert allerdings auch False zurück, falls der Eintrag nicht vorhanden ist. Wenn ich nun das Programm ausführe, dann beende, die Ini-Datei bearbeite und den Eintrag "ProgRun" lösche, so wird beim nächsten Start wieder Form10 angezeigt. Die Lösung mit FileExists würde dem Code natürlich noch den letzten Schliff verleihen

greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#8

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:29
Hi alcaeus,

da hast Du natürlich Recht, sehe ich genauso, wir haben unsere Beiträge anscheinend zeitgleich geschrieben. Zumindestens habe ich Deinen Beitrag noch nicht gesehen, als ich auf "Anworten" geklickt habe.

Eigentlich sollte Deine Lösung schon ausreichen.....

Gruß
Christian Rüsken
  Mit Zitat antworten Zitat
HW764
(Gast)

n/a Beiträge
 
#9

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:45
Also, wie geht die source von:

1. Suche im Ordner in dem du bist die ini "einstellungen.ini"
2. Lese aus der ini: "[Einstellungen] Firststart=true"
3. Dann zeige form10 an.
4. Wenn ["Einstellungen] Firststart=false" steht
5. Zeige form 1 an.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: Form nur beim ersten mal starten anzeigen

  Alt 30. Aug 2004, 16:49
Hi Kevin,

Zitat von HW764:
Also, wie geht die source von:

1. Suche im Ordner in dem du bist die ini "einstellungen.ini"
2. Lese aus der ini: "[Einstellungen] Firststart=true"
3. Dann zeige form10 an.
4. Wenn ["Einstellungen] Firststart=false" steht
5. Zeige form 1 an.
Ich will ja jetzt nicht zu sarkastisch/ironisch/wasweißichwas wirken, aber ich habe einen ziemlich detaillierten Source gepostet. Wenn du damit immer noch nicht weiterkommst, dann sieh dir einfach mal die Delphi-Hilfe zu den verwendeten Typen (Boolean, TIniFiles) an, oder verwend auch mal die Suche zum Thema IniFiles. Ich habe jetzt wirklich nicht Lust, den Code an deine Vorlieben anzupassen

Sorry, das musste raus

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  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 18:03 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