![]() |
Re: in Laufzeit Objakt hinzufügen
Zitat:
![]() |
Re: in Laufzeit Objakt hinzufügen
Du mußt Dir ein Plätzchen suchen, an dem Du Dir Deine Edits "merkst".
Wenn Du dann aus der procedure "cedit" eine Funktion machst:
Delphi-Quellcode:
dann liefert Dir die Funktion einen Zeiger auf das Edit zurück.
function cedit(DeineParameterliste) : TEdit;
begin Result := TEdit.Create(ort); Result.Top := DeinTopParameter; ... end; diesen könntest Du and Deinem sicheren Örtchen (z.B. MeinOertchen : Array [1..5] of TEdit) speichern. Wenn Du dann später etwas mit den Edits anstellen möchtest, (Text setzten/verschieben/Freigeben), dann kannst Du mit MeinOertchen[Index].Eigenschaft auf die Eigenschaften zugreifen oder mit FreeAndNil(MeinOertchen[Index]); das Edit wieder freigeben. Gruß |
Re: in Laufzeit Objakt hinzufügen
könnt ihr ,al durchkontrollieren
ist natürlich noch nicht fertig
Delphi-Quellcode:
unit Kaiserreich;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls,IniFiles, StdCtrls, ExtCtrls, Grids, ValEdit, dbcgrids, TabNotBk, OleServer, Access2000, Buttons; type TMuenzen= record Jahr:string[4]; praegung: array [1..9,1..2] of byte; end; TForm2 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; TabSheet5: TTabSheet; TabSheet6: TTabSheet; TabSheet8: TTabSheet; TabSheet9: TTabSheet; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; ComboBox1: TComboBox; Button2: TButton; A: TCheckBox; B: TCheckBox; C: TCheckBox; D: TCheckBox; E: TCheckBox; F: TCheckBox; G: TCheckBox; H: TCheckBox; J: TCheckBox; TabSheet7: TTabSheet; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Label34: TLabel; Label35: TLabel; Label36: TLabel; Label37: TLabel; Label38: TLabel; Label39: TLabel; Label40: TLabel; Label41: TLabel; Label42: TLabel; Label43: TLabel; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; Label50: TLabel; Label51: TLabel; Label52: TLabel; Label53: TLabel; Label54: TLabel; Label55: TLabel; Label56: TLabel; Label57: TLabel; Label58: TLabel; Label59: TLabel; Label60: TLabel; Label61: TLabel; Label62: TLabel; Label63: TLabel; Label64: TLabel; Label65: TLabel; Label66: TLabel; Label67: TLabel; Label68: TLabel; Label69: TLabel; Label70: TLabel; Label71: TLabel; Label72: TLabel; Label73: TLabel; Label74: TLabel; Label75: TLabel; Label76: TLabel; Label77: TLabel; Label78: TLabel; Label79: TLabel; Label80: TLabel; Label81: TLabel; Label82: TLabel; Label83: TLabel; Label84: TLabel; Label85: TLabel; Label86: TLabel; Label87: TLabel; Label88: TLabel; Label89: TLabel; Label90: TLabel; procedure FormShow(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure PageControl1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; MO1,MO2,MO5,MO10,MO20,MO50,MO100,MO25,MO1_2: Array [1..37] of Record myedit:tedit; mycheckbox: array [1..9] of TCheckBox; end; muenze:TMuenzen; f1,f2,f3,f5,f10,f20,f50,f100,f25,f1_2: file of TMuenzen; implementation {$R *.dfm} function cedit1(ort:tcomponent; par:twincontrol; jahr:string; x,y:integer) : TEdit; begin Result := TEdit.Create(ort); Result.Parent := par; Result.Height := 21; Result.Width := 33; Result.Text := jahr; Result.Left := x; Result.Top := y; Result.ReadOnly:=true; end; function ccheckbox(ort:tcomponent; par:twincontrol; hacken:byte; x,y:integer):TCheckBox; begin Result := TCheckBox.Create(ort); Result.Parent := par; Result.Height := 17; Result.Width := 25; Result.Caption := ''; if hacken=1 then Result.checked :=true else Result.checked :=false; Result.Left := x; Result.Top := y; end; procedure pfennig_1; var i,k:integer; begin try reset(f1); for i:=1 to filesize(f1) do begin read(f1,muenze); MO1[i].myedit:=cedit1(Form2.PageControl1.Pages[0], Form2.PageControl1.Pages[0], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO1[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[0], Form2.PageControl1.Pages[0], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f1); finally end; end; procedure pfennig_2; var i,k:integer; begin try reset(f2); for i:=1 to filesize(f2) do begin read(f2,muenze); MO2[i].myedit:=cedit1(Form2.PageControl1.Pages[1], Form2.PageControl1.Pages[1], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO2[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[1], Form2.PageControl1.Pages[1], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f2); finally end; end; procedure pfennig_5; var i,k:integer; begin try reset(f5); for i:=1 to filesize(f5) do begin read(f5,muenze); MO5[i].myedit:=cedit1(Form2.PageControl1.Pages[2], Form2.PageControl1.Pages[2], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO5[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[2], Form2.PageControl1.Pages[2], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f5); finally end; end; procedure pfennig_10; var i,k:integer; begin try reset(f10); for i:=1 to filesize(f10) do begin read(f10,muenze); MO10[i].myedit:=cedit1(Form2.PageControl1.Pages[3], Form2.PageControl1.Pages[3], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO10[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[3], Form2.PageControl1.Pages[3], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f10); finally end; end; procedure pfennig_20; var i,k:integer; begin try reset(f20); for i:=1 to filesize(f20) do begin read(f20,muenze); MO20[i].myedit:=cedit1(Form2.PageControl1.Pages[4], Form2.PageControl1.Pages[4], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO20[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[4], Form2.PageControl1.Pages[4], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f20); finally end; end; procedure pfennig_25; var i,k:integer; begin try reset(f25); for i:=1 to filesize(f25) do begin read(f25,muenze); MO25[i].myedit:=cedit1(Form2.PageControl1.Pages[5], Form2.PageControl1.Pages[5], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO25[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[5], Form2.PageControl1.Pages[5], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f25); finally end; end; procedure pfennig_50; var i,k:integer; begin try reset(f50); for i:=1 to filesize(f50) do begin read(f50,muenze); MO50[i].myedit:=cedit1(Form2.PageControl1.Pages[6], Form2.PageControl1.Pages[6], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO50[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[6], Form2.PageControl1.Pages[6], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f50); finally end; end; procedure pfennig_1_2; var i,k:integer; begin try reset(f1_2); for i:=1 to filesize(f1_2) do begin read(f1_2,muenze); MO1_2[i].myedit:=cedit1(Form2.PageControl1.Pages[7], Form2.PageControl1.Pages[7], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO1_2[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[7], Form2.PageControl1.Pages[7], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f1_2); finally end; end; procedure pfennig_100; var i,k:integer; begin try reset(f100); for i:=1 to filesize(f100) do begin read(f100,muenze); MO100[i].myedit:=cedit1(Form2.PageControl1.Pages[8], Form2.PageControl1.Pages[8], muenze.jahr, 16,32*i); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then MO100[i].mycheckbox[k]:=ccheckbox(Form2.PageControl1.Pages[8], Form2.PageControl1.Pages[8], muenze.praegung[k,2] , k*25+54,32*i); end; end; reset(f100); finally end; end; procedure TForm2.FormShow(Sender: TObject); begin pagecontrol1.Pages[0].Show; // pagecontrol1.TabIndex:=0; pfennig_1; pfennig_2; pfennig_5; pfennig_10; pfennig_20; pfennig_25; pfennig_50; pfennig_1_2; pfennig_100; Form2.PageControl1.Height:=32*filesize(f1)+128; end; procedure TForm2.Button2Click(Sender: TObject); var i,k:integer; begin seek(f3,filesize(f3)); muenze.Jahr:=combobox1.Items.Strings[combobox1.ItemIndex]; muenze.praegung[1,1]:=ord(a.Checked); muenze.praegung[2,1]:=ord(b.Checked); muenze.praegung[3,1]:=ord(c.Checked); muenze.praegung[4,1]:=ord(d.Checked); muenze.praegung[5,1]:=ord(e.Checked); muenze.praegung[6,1]:=ord(f.Checked); muenze.praegung[7,1]:=ord(g.Checked); muenze.praegung[8,1]:=ord(h.Checked); muenze.praegung[9,1]:=ord(j.Checked); write(f3,muenze); end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); var i,k:integer; begin try reset(f1); for i:=1 to filesize(f1) do begin read(f1,muenze); seek(f1,filepos(f1)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo1[i].mycheckbox[k].Checked); end; write(f1,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\1_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f2); for i:=1 to filesize(f2) do begin read(f2,muenze); seek(f2,filepos(f2)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo2[i].mycheckbox[k].Checked); end; write(f2,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\2_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f5); for i:=1 to filesize(f5) do begin read(f5,muenze); seek(f5,filepos(f5)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo5[i].mycheckbox[k].Checked); end; write(f5,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\5_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f10); for i:=1 to filesize(f10) do begin read(f10,muenze); seek(f10,filepos(f10)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo10[i].mycheckbox[k].Checked); end; write(f10,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\10_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f20); for i:=1 to filesize(f20) do begin read(f20,muenze); seek(f20,filepos(f20)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo20[i].mycheckbox[k].Checked); end; write(f20,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\20_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f25); for i:=1 to filesize(f25) do begin read(f25,muenze); seek(f25,filepos(f25)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo25[i].mycheckbox[k].Checked); end; write(f25,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\25_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f50); for i:=1 to filesize(f50) do begin read(f50,muenze); seek(f50,filepos(f50)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo50[i].mycheckbox[k].Checked); end; write(f50,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\50_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f1_2); for i:=1 to filesize(f1_2) do begin read(f1_2,muenze); seek(f1_2,filepos(f1_2)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo1_2[i].mycheckbox[k].Checked); end; write(f1_2,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\1_2_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try reset(f100); for i:=1 to filesize(f100) do begin read(f100,muenze); seek(f100,filepos(f100)-1); for k:=1 to 9 do begin if muenze.praegung[k,1]=1 then muenze.praegung[k,2]:=ord(mo100[i].mycheckbox[k].Checked); end; write(f100,muenze); end; except application.MessageBox('Es ist ein Fehler beim speichern der Datei'+#10#13+'"\...\kaiserreich\100_Pfennig"'+#10#13+'aufgetreten','Fehler',mb_ok+mb_iconerror); end; try closefile(f1); closefile(f2); closefile(f5); closefile(f10); closefile(f20); closefile(f50); closefile(f100); closefile(f25); closefile(f1_2); closefile(f3); except application.MessageBox('Es ist ein Fehler beim schließen der Dateien aufgetreten','Fehler',mb_ok+mb_iconerror); end; end; procedure TForm2.FormCreate(Sender: TObject); begin assignfile(f1,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\1_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\1_pfennig.ini') then reset(f1) else rewrite(f1); assignfile(f2,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\2_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\2_pfennig.ini') then reset(f2) else rewrite(f2); assignfile(f5,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\5_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\5_pfennig.ini') then reset(f5) else rewrite(f5); assignfile(f10,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\10_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\10_pfennig.ini') then reset(f10) else rewrite(f10); assignfile(f20,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\20_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\20_pfennig.ini') then reset(f20) else rewrite(f20); assignfile(f50,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\50_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\50_pfennig.ini') then reset(f50) else rewrite(f50); assignfile(f100,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\100_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\100_pfennig.ini') then reset(f100) else rewrite(f100); assignfile(f25,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\25_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\25_pfennig.ini') then reset(f25) else rewrite(f25); assignfile(f1_2,pchar(ExtractFilePath(Application.ExeName)+'data\kaiserreich\1_2_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\kaiserreich\1_2_pfennig.ini') then reset(f1_2) else rewrite(f1_2); assignfile(f3,pchar(ExtractFilePath(Application.ExeName)+'data\temp_pfennig.ini')); if fileexists(ExtractFilePath(Application.ExeName)+'data\temp_pfennig.ini') then reset(f3) else rewrite(f3); end; procedure TForm2.PageControl1Change(Sender: TObject); begin case pagecontrol1.TabIndex of 0:Form2.PageControl1.Height:=32*filesize(f1)+128; 1:Form2.PageControl1.Height:=32*filesize(f2)+128; 2:Form2.PageControl1.Height:=32*filesize(f5)+128; 3:Form2.PageControl1.Height:=32*filesize(f10)+128; 4:Form2.PageControl1.Height:=32*filesize(f20)+128; 5:Form2.PageControl1.Height:=32*filesize(f25)+128; 6:Form2.PageControl1.Height:=32*filesize(f50)+128; 7:Form2.PageControl1.Height:=32*filesize(f1_2)+128; 8:Form2.PageControl1.Height:=32*filesize(f100)+128; end; end; end. |
Re: in Laufzeit Objakt hinzufügen
Hai Remote1,
nehme diesen überlangen Quellcode bitte aus dem Posting und füge ihn als Datei an. Danke. |
Re: in Laufzeit Objakt hinzufügen
Liste der Anhänge anzeigen (Anzahl: 1)
hier noch mal die datei
|
Re: in Laufzeit Objakt hinzufügen
vielleicht alles noch in mehr proceduren hauen -> wirds kleiner
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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