AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Probleme mit Regedit und Form öffnen!!
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Regedit und Form öffnen!!

Ein Thema von m-werk · begonnen am 14. Jun 2002 · letzter Beitrag vom 17. Jun 2002
Antwort Antwort
Seite 3 von 4     123 4      
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#21
  Alt 15. Jun 2002, 09:48
Hi, ich hab in die procedure von oncreate folgenden Code jetzt drinn:

Code:
procedure TKundendaten.FormCreate(Sender: TObject);
 begin
   if (not CheckCode(IntToStr(a), 25, 7)) then
    RegisterApp(..)
  else
    Application.Terminate;
end;
Weiters:

procedure RegisterApp;
begin....
.....
end;

Ist das richtig so?
Ich bekomme jetzt bei dem FormCreate folgende Fehlermeldung:
[Fehler] Hauptmenue.pas(365): Undefinierter Bezeichner: 'RegisterApp'

und bei Procedure RegisterApp bekomme ich jetzt auch einige fehlermeldungen
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#22
  Alt 15. Jun 2002, 09:49
Na ja. Nicht sehr übersichtlich. Ich würde wie gesagt in OnCraete überprüfen und dann die In-die-Regsitry-schreib-Prozedur aufrufen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#23
  Alt 15. Jun 2002, 09:51
Code:
private
{blablabla}
procedure RegisterAPP;

...
...
...

procedure TForm1.RegisterApp;
begin
  ...;
  ...;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#24
  Alt 15. Jun 2002, 09:57
Hi, ich habe deinen Code von 'thomasdrewermann' jetzt drinn. Nun kommen folgende Fehlermeldungen:

if CheckCode(StrToInt(serial), 25, 7)=true then
[Fehler] Hauptmenue.pas(387): Inkompatible Typen: 'String' und 'Integer'

if CheckCode(a,25, 7)= false then
[Fehler] Hauptmenue.pas(400): Inkompatible Typen: 'String' und 'Integer'

if CheckCode(strtoint(serial),25, 7)=true then
[Fehler] Hauptmenue.pas(406): Inkompatible Typen: 'String' und 'Integer'

Was muß ich da noch beachten?
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#25
  Alt 15. Jun 2002, 10:01
Da passen irgendwo die Datentypen nicht zusammen. Mehr kann ich im Moment auch nicht sagen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#26
  Alt 15. Jun 2002, 10:28
Hallo m-werk,

ich habe die Procedure CheckCode zwar damals geschrieben, bin aber nicht mehr ganz sicher, wie der erste Parameter deklariert war. Ich glaube aber er ist ein String. Deshalb kannst du "serial" einfach pübergeben, ohne ihn in ein Integer umzuwandeln. Das gleiche gibt für a. In beiden Fällen kannst du StrToInt einfach weglassen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#27
  Alt 15. Jun 2002, 10:35
Hier noch mal ein konkreter Code:
Code:
procedure TForm1.FormCreate(Sender: TObject);

var OK: Boolean;
reg:tregistry;
a:integer;
serial:string;
begin
  REG := TRegistry.Create;
  try
    try
      REG.RootKey := HKEY_CURRENT_USER;
      if REG.OpenKey('\Software\SELF', True) then
      begin
        if REG.ValueExists('CODE??') then a:=StrToInt(REG.ReadString('CODE??'))
        else a := 0;
        REG.CloseKey;
      end;
    except
       a := 0;
    end;
  finally
    REG.Free;
    if a=0 then
    begin
    serial:=inputbox('Seriennummer','Bitte geben sie ihre Seriennummer ein:','1234-1324-234');
    if serial ='' then
    application.Terminate else
    begin
    if CheckCode(serial,25, 7)=true then
    begin
    reg:=tregistry.Create;
    reg.RootKey:=HKEY_CURRENT_USER;
    if reg.OpenKey('\Software\SELF',True) then
    begin
    reg.WriteString('CODE??',serial);
    reg.free;
    end;
    end;
    end;
    end else
    begin
    if CheckCode(inttostr(a),25, 7)= false then
    begin
    serial:=inputbox('Seriennummer','Bitte geben sie ihre Seriennummer ein:','1234-1324-234');
    if serial ='' then
    application.Terminate else
    begin
    if CheckCode(serial,25, 7)=true then
    begin
    reg:=tregistry.Create;
    reg.RootKey:=HKEY_CURRENT_USER;
    if reg.OpenKey('\Software\SELF',True) then
    begin
    reg.WriteString('CODE??',serial);
    reg.free;
    end;
    end else   application.Terminate;
    end;
    end;
  end;
  end;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#28
  Alt 15. Jun 2002, 10:50
@Thomas: Nur mal so eine Frage am Rande: Warum hörst du auf hinter finally deinen Code zu formatieren?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#29
  Alt 15. Jun 2002, 10:57
Ein formatierter Code für Luckie :

Code:
procedure TForm1.FormCreate(Sender: TObject);

var OK: Boolean;
reg:tregistry;
a:integer;
serial:string;
begin
  REG := TRegistry.Create;
  try
    try
      REG.RootKey := HKEY_CURRENT_USER;
      if REG.OpenKey('\Software\SELF', True) then
      begin
        if REG.ValueExists('CODE??') then a:=StrToInt(REG.ReadString('CODE??'))
        else a := 0;
        REG.CloseKey;
      end;
    except
       a := 0;
    end;
  finally
    REG.Free;
    if a=0 then
        begin
        serial:=inputbox('Seriennummer','Bitte geben sie ihre Seriennummer ein:','1234-1324-234');
        if serial ='' then
                application.Terminate else
                begin
                if CheckCode(serial,25, 7)=true then
                    begin
                    reg:=tregistry.Create;
                    reg.RootKey:=HKEY_CURRENT_USER;
                    if reg.OpenKey('\Software\SELF',True) then
                            begin
                            reg.WriteString('CODE??',serial);
                            reg.free;
                            end;
                    end;
                 end;
          end else
                 begin
                 if CheckCode(inttostr(a),25, 7)= false then
                         begin
                         serial:=inputbox('Seriennummer','Bitte geben sie ihre Seriennummer ein:','1234-1324-234');
                         if serial ='' then
                         application.Terminate else
                            begin
                            if CheckCode(serial,25, 7)=true then
                                    begin
                                    reg:=tregistry.Create;
                                    reg.RootKey:=HKEY_CURRENT_USER;
                                    if reg.OpenKey('\Software\SELF',True) then
                                        begin
                                        reg.WriteString('CODE??',serial);
                                        reg.free;
                                        end;
                                    end else   application.Terminate;
                            end;
                         end;
                  end;
          end;
  end;
Ich weiss ja nocht wie gross dein Monitor ist auf meinen passt der Code manchmal garnicht in eine Zeile

MFG
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#30
  Alt 15. Jun 2002, 11:05
Laut Borland StyleGuide soll man mit zwei Leerzeichen einrücken. Und nicht mit Tabulatoren, hat die nämlich jemand anders eingestellt, ist die Codeformatierung wieder hinüber, was bei Leerzeichen logischerweise nicht passiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 22:16 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