AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

1. Aufruf des Programms

Ein Thema von Trouble_Maker · begonnen am 16. Jun 2003 · letzter Beitrag vom 7. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#1

1. Aufruf des Programms

  Alt 16. Jun 2003, 16:10
Hiho Leute
ich möchte, dass beim allerersten Aufruf des Programms eine bestimmte Nachricht kommt und dann nie wieder ...

wie realisiere ich das ?!?

Bestimmt mit der Registry aber wie ?!?

danke

Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2
  Alt 16. Jun 2003, 16:18
Registry oder auf andere Weise.
Du könntest zum Beispiel in eine Ini Datei einen Boolschen Wert schreiben (0/1) und den nach dem ersten Start ändern.
Was vielleicht noch einfacher wäre, wäre eine Datei "FirstTimer.xxx" mit zu kopieren und diese Beim ersten Start zu löschen. Dann müsstest du nur noch bei jedem Start mit FileExists(...\FirstTime.xxx') abfragen, ob die Datei existiert.
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 16. Jun 2003, 16:22
ich würde es am liebsten mit der Registry machen, damit ich nich noch eine Datei "rumfliegen" habe

Aber wie mache ich das ?

Wenn ich ein Wert mit oncreate reinschreibe, dann wird dieser ja immer neu geschrieben.
Oder gibt es einen Befehl, dass wenn eine Wert existiert, dass dieser dann nicht überschrieben wird.
Dann könnte ich nämlich immer abfragen, ob der Wert vorhanden ist...

wann ja... dann macht er nix
wenn nein... dann ist das der erste programmstart...


kann mir jemand helfen ?!?

danke

Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#4
  Alt 16. Jun 2003, 16:34
mach es doch umgekehrt: Überprüfe, ob dieser Wert nicht existiert.
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 16. Jun 2003, 16:35
ist das denn nicht egal ?!?

kannst du mir sagen, wie ich das überprüfe ?!?

danke
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#6
  Alt 16. Jun 2003, 17:26
huhu ?

kann mir jemand sagen, wie ich überprüfe, ob ein Wert vorhanden ist oder nicht ?!?!


wäre nett von euch

danke

Trouble_Maker
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 16. Jun 2003, 17:30
Moin Trouble Maker,

TRegistry.ValueExists

Die Durchsicht der Methoden von TRegistry in der Hilfe hätte da wohl schneller geholfen
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
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 18. Jun 2003, 21:19
Tachschen ...
so ich bins mal wieder ! Ich bekomm das einfach nicht hin mit dem ersten Aufruf !!!
Ich schreibe mit oncreate z.B. den Wert "1Aufruf" in die Registry.
Wo muss ich denn jetzt prüfen, dass dieser Wert existiert ?
Weil wenn ich es auch in onCreate mache, dann funktioniert das ja nicht, weil dieser Wert ja dann immer existert!

Wie mache ich das ?!?


danke Trouble_Maker


PS: Ich poste gleich nochmal meinen Code! Zum Besseren Verständnis
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#9
  Alt 18. Jun 2003, 21:24
Hier nochmal mein Code (nicht komplett nur die wichtigsten Teile):

Code:
procedure TForm1.FormCreate(Sender: TObject);
var Regist: TRegistry;
begin

//das hier kann doch schonmal nicht funktionieren, weil es beides in OnCreate drinsteht:

      if regist.ValueExists('1Aufruf') then exit
      else
        begin
          regist:=TRegistry.Create;
          regist.RootKey:=HKEY_CURRENT_USER;
          regist.OpenKey('Software\Trouble_Maker\Secure\PW', true);

          regist.WriteString('PW', 'passwort');
        end;

  try
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_CURRENT_USER;
  regist.OpenKey('Software\Trouble_Maker\Secure\', true);
  regist.WriteInteger('1Aufruf', 1);

  Regist.CloseKey;
  regist.free;
  except
    exit;
  end;


procedure TForm1.Button4Click(Sender: TObject); //Passwort ändern
var regist: TRegistry;
begin
  if (edit2.text = '') and (edit3.text = '') and (edit4.text = '')
    then exit;

  if (edit2.text = 'passwort') and (edit3.text = edit4.text)
    then
      begin
        regist:=TRegistry.Create;
        regist.RootKey:=HKEY_CURRENT_USER;
           try
        regist.OpenKey('Software\Trouble_Maker\Secure\PW', true);
        regist.WriteString('PW', edit3.text);
           except
             showmessage('Failure... please try again');
           end;
so ich hoffe das erleutert das ein bisschen! Da sich ja das Passwort ändern lassen soll, darf nicht immer im oncreate das Passwort als "passwort" festgelegt werden ...

was mache ich falsch und wie funktioniert das richtig ?!?

danke für eure Mühe

cu Trouble_Maker
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 18. Jun 2003, 23:14
Moin Trouble Maker,

schreib's doch so:

Delphi-Quellcode:
// Was vorher noch passieren muss/soll
//...

// Prüfen ob erster Aufruf
if not regist.ValueExists('1Aufruf') then begin
  // Wenn nicht, dann Meldung zeigen, und
  // Wert schreiben, der ein erneutes Verzweigen in diesen
  // Pfad unterbindet
  regist.WriteInteger('1Aufruf', 1);
end;

//...
// Und hier, was sonst noch alles im OnCreate passieren soll

Beim nächsten Programmstart existiert der Wert und die Meldung wird nicht mehr angezeigt.
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 1 von 2  1 2      


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 14:17 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