![]() |
Type global definieren
hoi,
ich bekomme es irgendwie nur hin lokale typen zu schreiben...wo kommen sie global hin? unter dem bereits bestehenden type ganz am anfang? da bekomme ich nur fehler wie "end fehlt" etc |
Re: Type global definieren
wie definierst du diese denn?
|
Re: Type global definieren
Delphi-Quellcode:
Type TZahlen = '0'..'9';
|
Re: Type global definieren
Hi,
das ist doch global. ;) Außer du definierst den Typen innerhalb einer Funktion. ;) Chris |
Re: Type global definieren
wenn ich das was ich eben schrieb hier rein mache:
Delphi-Quellcode:
oder so:
type
TForm2 = class(TForm) Type TZahlen = '0'..'9'; GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Edit4: TEdit; Panel1: TPanel; Button1: TButton; Panel2: TPanel; Button2: TButton; IdHTTP1: TIdHTTP; IdAntiFreeze1: TIdAntiFreeze; StatusBar1: TStatusBar; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit2Change(Sender: TObject); procedure Edit3Change(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); private { Private-Deklarationen } public { Public-Deklarationen } end;
Delphi-Quellcode:
type
TForm2 = class(TForm) TZahlen = '0'..'9'; GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Edit4: TEdit; Panel1: TPanel; Button1: TButton; Panel2: TPanel; Button2: TButton; IdHTTP1: TIdHTTP; IdAntiFreeze1: TIdAntiFreeze; StatusBar1: TStatusBar; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit2Change(Sender: TObject); procedure Edit3Change(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); private { Private-Deklarationen } public { Public-Deklarationen } end; dann funktioniert es nichtmehr |
Re: Type global definieren
Hast es vieleicht an der Falschen Stelle eingefügt.
Hier 2 Möglichkeiten:
Delphi-Quellcode:
Unit Unit1;
Interface Uses ... Type TForm1 = Class(TForm) ... Procedure Button1Click(Sender: TObject); Private ... Public ... End; TZahlen1 = '0'..'9'; Var Form1: TForm1; Implementation {$R *.dfm} Type TZahlen2 = '0'..'9'; Procedure TForm1.Button1Click(Sender: TObject); Begin ... End; End. |
Re: Type global definieren
ahh, danke, dachte die gehören ganz oben mit hin weil da schonmal type steht :D
|
Re: Type global definieren
Man kann keinen Type innerhalb eines anderen definieren.
|
Re: Type global definieren
ok ^^.
btw:
Delphi-Quellcode:
das funktioniert einwandfrei
procedure TForm2.Button2Click(Sender: TObject);
Type TZahlen = '0'..'9'; Zahl = Set Of TZahlen; var sl1: TStringList; s: string; laufVar: integer; Zahlen: Zahl; begin if (Edit1.Text <> '') AND (length(Edit1.Text) > 2) then begin if (Edit2.Text <> '') AND (length(Edit2.Text) > 2) AND not (edit2.Text[1] in Zahlen) then begin if length(Edit3.Text) > 7 then begin Button1.Enabled := false; Button2.Enabled := false; for laufVar := 1 to 4 do TEdit(FindComponent('Edit' + InttoStr(LaufVar))).Enabled := false; StatusBar1.Panels[0].Text := 'Trying to register nick...'; sl1 := TStringList.Create; sl1.Add('name=' + Edit1.Text); sl1.Add('nick=' + Edit2.Text); sl1.Add('pass=' + Edit3.Text); sl1.Add('cpass=' + Edit3.Text); sl1.Add('email=' + Edit4.Text); sl1.Add('cemail=' + Edit4.Text); s := idhttp1.Post('http://www.cncreloaded.net/index.php?action=signup', sl1); sl1.Free; if Pos('The nickname you have chosen is already in use. Please select another.', s) > 0 then begin ShowMessage('The nickname you have chosen is already in use. Please select another.'); Edit2.Font.Color := clRed; end; Button1.Enabled := true; Button2.Enabled := true; for laufVar := 1 to 4 do TEdit(FindComponent('Edit' + InttoStr(LaufVar))).Enabled := true; StatusBar1.Panels[0].Text := ''; end else begin ShowMessage('Your password must be exactly 8 characters in length.'); Edit3.Font.Color := clRed; end; end else ShowMessage('You must specify a nickname, and it must be greater than or equal to 3 characters long.'); end else ShowMessage('You must specify a name, and it must be greater than or equal to 3 characters long.'); end; find ich aber doof das ich ein neuen typ definieren musste, wenn ich "Zahl = Set Of Byte" nehme funktioniert es nichtmehr(lässt sich aber kompilieren), dann trifft die if anweisung nichtmehr zu...wieso das? byte ist doch auch ne zahl 0..255 oder nicht? |
Re: Type global definieren
ich seh gerade das nichtmal das geht, super ...
Delphi-Quellcode:
^^^^^^^das trifft nicht zu obwohl edit2 100% ne 1 am anfang ha -_-
if (Edit2.Text <> '') AND (length(Edit2.Text) > 2) AND not (edit2.Text[1] in Zahlen)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz